ML Day #1 というイベントに参加してきたので,そのメモ?まとめ?みたいな感じの記事です.

ML Day は毎年やってるML勉強会というML系の発表会形式の勉強会のこと. (なぜか)名前を変えたらしい. ちなみに,今後は半年に一回ペースでやりたいらしい.

ぼくのはなし

新設された LT 枠で発表してきた.

スライドはこれ

さすがに Haskell の話をするのはアレだったので,Haskell の新しいモジュールシステム Backpack のベースになった MixML の話をした. この日までに(Haskellで)実装完了してドヤ顔する予定だったのだが全然終わらなかった orz (Alt braif*ck じゃなくて)ちゃんとした規模の処理系を実装するのって,大変なんですね...

ちなみに,SML/NJ で実装されたものがあり,実質これを参考に Haskell で書き直すだけの作業. だけど SML -> Haskell に直すのって大変,非純粋なものを純粋な世界にするって大変(そりゃそう). 気軽に状態を持ちやがって...

自分的ハイライト

濃い目の話が多かったのでざっくりと.

資料は既にほとんど上がっている

ML型付の基礎の基礎

  • 発表者は Haochen くん
    • 名〇屋で TaPL の読書会を主催してるひと
    • こんど名古屋でプロコン(NUPSC)やるんだって
  • 資料はコレ 残念ながらリンク切れ...
  • 基礎 (foundation) の 基礎 (introduction) の話
    1. 型は素晴らしい
    2. でも型を書きたくない
      • プログラマは怠惰を美徳にしている生き物だもんね
    3. 再構築すればいいじゃない!
      • 型検査無しにもどるなんてのは論外
  • 素晴らしい本(TaPL)と素晴らしい先生(ピアース先生)
    • ML Day 出る以上読め
  • おまけとして let 多相の話もしてた
  • 5/6に論理プログラミング言語の第一人者の講演を企画しているらしい

TBA

  • 発表者は坂口和彦さん
    • PPL2018 のポスター賞の人でその話を
  • 発表スライドは上がってないけど PPL2018 のポスターはあった
  • Coq でリストの置換(permutation)の自動証明(だったかな)
    • 証明の過程をいろいろ話してくれた
    • (がぼくはよくわかってない)
  • FLOPS'18 に通ったので発表するらしい
  • 質問: 項書き換えでできないの?
    • 中野先生に聞かれた(PPLで??)
    • 出来たら教えてといって何もないのでできないんじゃない?

型つき組版処理システムSATySFi

  • 発表者は bd_gfngfn
  • 資料はコレ
  • 彼の有名な 型つき組版処理システムSATySFi の話
    • 目標: L〇TeX を倒す
    • 目標: エラーの可読性向上(大事)
    • ML系に似た組版用型システムが載っている
      • let 多相もレコード多相もある
      • しかし GADT や Functor はまだ
    • 「いきなり PDF がでまして」をよく言っていた(笑)
  • 質問: 構文にポリシーはあるの?
    • ML系の文法にしたい(けど LaTeX に寄せたほうが...)

MLでつくる拡張可能インタプリタ

  • 発表者は linerlock 氏
    • 今日までつくば大生
      • これのせいで二番煎じに
  • 資料はコレ
  • 言語開発 モジュラーにしたいので拡張可能なインタプリタを作ればいいじゃない
    • ~コレのことかな?~ (リンク切れになってた)
    • 例えば超簡易的な自作言語に新しくリスト追加してと言われても簡単にできるように
    • 評価器は楽しいので(拡張可能な評価器の)研究が多い
    • 構文解析は無い...なのでここをサイボウズラボユースでやった(?)
      • 構文解析の無い言語なんてないのにね
      • 作ったのコレかな?
    • 「(BNFに新しい構文を)上に足すか下に足すか、花火じゃないけど」
      • 上に足すか下に足すかで意味が変わることが...
      • そこで最長一致法 : 全部試して一番長いのをとる
    • 型とか最適化とかできてない

LT

は割愛(つかれた). ラインナップは

  • 自作言語を OCaml で作り直したら ML みたいなコア言語になってしまったという話
  • Elm の紹介
  • OCaml の祖先 CAML の解説
  • 自作したパーサージェネレーターの紹介
  • Verifastの辛い話(古いOCamlを使うのつらいという愚痴)

LT の資料は全部 connpass にあがっている.

コンパイラバックエンド

  • 発表者はインターネットの闇さん
    • この会の主催者(?)
  • OCaml のソースコードを皆で読もうの会
    • バックエンドはコンパイラのコト
      • not Webバックエンド
    • ガリグ先生しか読めない化け物(type系)
    • OCaml のバックは副作用ガンガン使う、FPとは?GC付きのC

BuckleScriptでノベルゲームDSLを作る

  • 発表者は[pocketberserker]氏
    • 普段は F# の人
    • F# ネタが切れた
  • 資料はココ
    • 資料もこの DSL で書かれたもの(??)
    • ノベルゲーなのでバックができない(笑)
    • 発表者はデバッグモードで戻ってた
  • ノベルゲーDSLを作りたい遺伝子を持ってしまったので作るという話
    • つくったやつ
    • 自分が今書いてるのはS式なのか????S式が分からなくなる
    • Reason を ML ユーザーが触るべきではない!

感想

  • 濃い(誉め言葉)
  • 後半は疲れてしまった(ごめん)
  • 質問時間を含めて発表時間(律儀に終わる必要はない)

おしまい

MixML 完成させてリベンジ発表したい