haskell-jp / random #91 at 2021-07-11 12:35:49 +0900

Haskell Day 2021 Online への発表の応募ありがとうございました!
ひとりで複数の応募の場合は1つを選ばないといけませんので、投票を行ないます
それぞれ聞きたい発表を1つリアクションで選んでください
発表の概要は投票しないものも含めこの投稿のスレッドに記述します
期限は24日です
Haskellは別言語になりました――RecordDotSyntaxとNoFieldSelectors
@fumieval
Haskellは、レコード(構造体)を定義すると、各フィールドにアクセスするための関数が定義されます。しかし、フィールド名が衝突したり、それを避けるために名前が冗長になったりするため、レコードが使いにくいという評価を受けることも。GHC 9.2では、その問題の解決策としてNoFieldSelectorsとRecordDotSyntaxという二つの言語拡張が導入されました。それらの動機、仕組み、使い方について解説します。
take k (sort xs) in Haskell has O(n + k log k) time complexity
@Kazuhiko Sakaguchi
本発表では、長さ n のリスト xs の最小(もしくは最大)の k 要素を take k (sort xs) を必要呼びで評価することで求めるのにかかる時間計算量が O(n + k log k) であることを証明する。
In this talk, we prove that computing the first k smallest (or largest) elements of a list xs of length n by take k (sort xs) in the call-by-need evaluation strategy has O(n + k log k) time complexity, which is the optimal time-bound of the incremental sorting problem [Paredes and Navarro 2006].
GraphQLとHaskell
@nakaji-dayo
GraphQLの入門
HaskellによるGraphQL APIの実装を目的に、関連ライブラリの紹介及び、サンプルを交えて実装の紹介を行います
shake + hint + lucid で作る静的サイトジェネレーター
@kakkun61
既存ライブラリーを組み合わせて作ることで既存フレームワークでは難しい柔軟な静的サイトジェネレーター(SSG)ができます
ビルドシステムの shake とインタープリターの hint それに HTML 生成の lucid を組み合わせて SSG を作る方法を説明します
Mu-Haskell による gRPC マイクロサービス開発(仮)
@y_taka_23
Mu-Haskell を利用して gRPC サーバを実装する流れを解説します。要素技術として Conduit を含みますが、発表の一部として解説するため予備知識は仮定しません。Haskell 自体の文法、およびモナド変換子に関する予備知識は仮定します。
Asterius による WebAssembly 開発(仮)
@y_taka_23
Asterius を用いて Haskell のソースコードを WebAssembly にコンパイルして実行する流れを解説します。動きのあるデモを発表の主体とし、中間言語やコンパイラの実装などには触れない予定です。WebAssembly 自体に関する予備知識も仮定しません。Haskell 自体の文法に関する予備知識は仮定します。
線形型の刹那的関数的データ構造への利用
@kakkun61
GHC 9.0 で線形型が導入されました
線形型は「値が一度しか使われない」ことを保証するものです
これを使用して計算量の関係から1回しか値の使えない「刹那的データ構造」を型安全にする方法を説明します
Haskell と WinUI 3 で the Elm Architecture
@kakkun61
Haskell でネイティブ UI を操作する実装の PoC
今回は WinUI 3 を使い the Elm Architecture を作ります
slack-logの紹介
@igrep
Slackの発言を保存するバッチアプリケーション、slack-log https://github.com/haskell-jp/slack-log/ について開発の動機や実装、設計、使用するライブラリーの紹介、今後加えたい修正についてお話しします。
(応募順)