3/31にML_Dayを開催しました。もみあげさん@pocketburserkerに協力頂いてドワンゴの会議室をお借りました!
毎度ありがとうございます!
ML Dayは前のML勉強会と名乗っていた勉強会でしたが、今回名前を変えてみました。
今回は最近関数型言語に関連する勉強会があまり見られないため、制約を緩めてMLに関する話題・さらにMLユーザが聞いて楽しめそうな内容ならOKと
発表の内容を緩めました。結果的にElmの発表など様々な発表が集まりとても楽しかったです。
今回発表枠・LT枠あわせて12枠ありましたが全て埋まりました!発表していただいた方御礼申し上げます!
下のリンクから当日の発表資料などが見れますので是非見て下さい!
発表内容
ML型付の基礎
HaochenさんによるType Reconstructionの話でした。Type reconstructionはTAPLなどでも語られている内容で、どこかで見たことがあると思います。
ちょっと私がサボっていて当日までプログラムを埋めるのが間に合ってなかったのですが、土壇場で対応していただいてありがとうございました。
#ML_Day Type Reconstructionの話だ
— インターネットの闇 (@no_maddo) 2018年3月31日
#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年3月31日
Speaker「これ録画されてないですよね?」
#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年3月31日
TaPLとPierce先生の宣伝になったw
TaPL読まないといけない #ML_Day
— ɯsı¯ɹǝʇsɐ (@aster_ism) 2018年3月31日
TBA
坂口さんのPPL2018でポスター賞を取った話で、リストのソートアルゴリズムをタクティックを用いて自動証明する話でした。
坂口さんの 置換の自動証明タクティック
— κeen@なめこ農家 (@blackenedgold) 2018年3月31日
#ML_Day
項書き換え系の気配を感じる #ML_Day
— camelry (@fetburner) 2018年3月31日
consしてるからrevする #ML_Day
— masateru kawaguchi (@masateruk) 2018年3月31日
型つき組版処理システムSATySFi
gfnさんの未踏プロジェクトの成果であるSATySFi
についての発表でした。
ML勉強会で以前にもMacroDownについて話してもらったことが記憶に新しいですが、こうやりきってしまうところがスゴイですね。。。
型による静的検証能力の高い組版システムSATySFi
— κeen@なめこ農家 (@blackenedgold) 2018年3月31日
#ML_Day
「GADTとかはまだ対応してないです」 いやGADTつかえる組版システムとか…… #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年3月31日
共通部分letで書けるの便利だ #ML_Day
— ころ (@koropicot) 2018年3月31日
#ML_Day SATySFi、人類が進むべき正しい道な気がする すごいな〜〜
— ゆーちき (@yuchiki1000yen) 2018年3月31日
"unsafe-exec-tex" wwwwwww #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年3月31日
壮大だ #ML_Day
— ころ (@koropicot) 2018年3月31日
MLでつくる拡張可能インタプリタ
linerlockさんによる、構文解析器・評価器が拡張可能なインタプリタの構築方法についてのお話でした。 前半の「構文解析器を拡張可能にする確立された手法はない」のあたりは熱がこもっていて素晴らしい発表でした。 アカデミアで鍛えられた人の発表はすごく上手で勉強になります。
#ML_Day MLでつくる拡張可能インタプリタ!!!つくばみがある
— インターネットの闇 (@no_maddo) 2018年3月31日
Expression Problemだー! #ML_Day
— でこれき (@dico_leque) 2018年3月31日
Lisperがアップをはじめました #ML_Day
— κeen@なめこ農家 (@blackenedgold) 2018年3月31日
「extensible interpreterはtagless finalとかopen recursionとかがある。extensible parserも欲しい」#ML_Day
— でこれき (@dico_leque) 2018年3月31日
#ML_Day extensible variant type(ただし網羅性チェックは死ぬ
— でこれき (@dico_leque) 2018年3月31日
「関数型言語ではデータの追加はつらいが手続きの追加は容易
— ゆーちき (@yuchiki1000yen) 2018年3月31日
オブジェクト指向言語ではデータの追加は容易だが手続きの追加はつらい」 #ML_Day
確かにOlegさんはextensible effectsでextensible interpreterが完全に書き易くなると主張していたような気がします#ML_Day @linerlock
— Haochen Xie (@haochenxie) 2018年3月31日
Invertible Syntax!!! #ML_Day
— ゆーちき (@yuchiki1000yen) 2018年3月31日
OCamlのバックエンド
OCamlコンパイラのソースコードリーディング芸を披露しました。
そのあと懇親会で「雑にコード読んで結論がない、いつも芸風が同じ」と怒られてしまいました。。。
資料をアップロードしても全然わからないと思うので後日ブログ記事にまとめます。。。
BuckleScriptでノベルゲームDSLを作る
もみあげさんのBuckleScriptでノベルゲームエンジンを作る上での技術的選択や試行錯誤・苦労した点などの話でした。
毎度腕力がある人はいろいろな事に手を出せてすごいと思います……
#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年3月31日
「F# の更新がなくてかなしい」
ocamlエコシステムに引きこもる分にはjs_of_ocamlが楽だったりしないすか #ml_day
— zakki (@k_matsuzaki) 2018年3月31日
#ML_Day 「自分が今作ってる処理系は本当にS式なのか?」
— ゆーちき (@yuchiki1000yen) 2018年3月31日
#ML_Day 「ReasonをMLユーザーが使うべきではない!!!」
— ゆーちき (@yuchiki1000yen) 2018年3月31日
#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年3月31日
「██████はJSに寄せようとした結果何者でもない何かになった言語」
LT枠
今回からLT枠を作り気軽に色々な人に発表してもらえるようにしました。
そのおかげなのか、ML勉強会で発表してなかった新しい人達にも発表していただけたと思っています!
MixML 作ってみる
noobさんの、MLっぽいモジュールシステム+Mixinモジュールシステムの研究言語であるMixMLを作ってみた話でした。
MLのプログラムは全然型が書いて無くて副作用気軽に投げやがってなどいろいろわかる、、、という気持ちになりました。
※ここでHaskellという単語はGHCの別名として使っています#ML_Day
— あいや (@public_ai000ya) 2018年3月31日
— ゆーちき (@yuchiki1000yen) 2018年3月31日
Haskell Backpack 覚え書きhttps://t.co/QCgZjnM9Kd #ML_Day
— でこれき (@dico_leque) 2018年3月31日
#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年3月31日
「SML -> Haskellのしんどさ」
「気軽に例外投げやがって!」
OCamlで作り直す自作言語のすすめ
ぶんちょうさんによる、move semanticsのある言語を作り直した話でした。
同じ言語処理系屋として共感する部分が多く、まぁ大体MLになるとか先行研究をちゃんと調べましょうというのはそうやな!という気持ちになりました。
#ML_Day ぶんちょうさん「OCamlで作り直す自作言語のすすめ」
— ゆーちき (@yuchiki1000yen) 2018年3月31日
#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年3月31日
「自作言語が複雑になりすぎて無理になった」
「OCamlを使っていたら思想がOCamlよりになってきた」
「言語のコアは最終的にMLになるのだと悟った」
OCamlで言語実装していると気持ちがわかりすぎる #ML_Day
— masateru kawaguchi (@masateruk) 2018年3月31日
複雑になったので、中間言語(MIR)を入れた。参考になりそう #ML_Day
— masateru kawaguchi (@masateruk) 2018年3月31日
— K.Iida@トレーサつくりたい (@elkel53930) 2018年3月31日
Elmはいいぞ
ymtszwによるElmの紹介でした。
わたしは書いたことがなく、書いている人の気持ちを聞いてなるほどなーという気分になりました(社内の人に聞くべきというのはあるかも)。
「Elmはいいぞ」 #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年3月31日
#ML_Day 「Elmはいいぞ」
— ゆーちき (@yuchiki1000yen) 2018年3月31日
Elmいいよね。コードレビューしかしたことないけど #ML_Day
— masateru kawaguchi (@masateruk) 2018年3月31日
#ML_Day ユーザーが書く領域から頑張って副作用を追い出しているらしい
— ゆーちき (@yuchiki1000yen) 2018年3月31日
よさそう
CAML考古学
でこれきさんによる、Caml Lightより前に存在したCamlという言語の考古学(紹介?)でした。 MLマニアっぽい感じのデコ先生によるおもしろトークという感じでした。
CamlのMLってmeta languageじゃなかったのか #ML_Day
— camelry (@fetburner) 2018年3月31日
なんか結構SMLっぽいな #ML_Day
— camelry (@fetburner) 2018年3月31日
CAML、めっちゃ気持ちの良い気持ち悪さだ#ML_Day
— あいや (@public_ai000ya) 2018年3月31日
パーサージェネレータProglrの紹介
tkobさんによるSMLで趣味でつくったパーサージェネレータの紹介でした。 SMLと聞いて思わず混乱してしまい、変な質問をしてしまいました。。。失礼しました。。。
#ML_Day Pure SMLerだ!!!!
— インターネットの闇 (@no_maddo) 2018年3月31日
パーサージェネレータ Proglr https://t.co/iyvDX5GVrg の紹介 #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年3月31日
#ML_Day 推しMLの多様性を見た
— ゆーちき (@yuchiki1000yen) 2018年3月31日
「なんでSMLで書いたんですか?」
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年3月31日
「え、その質問をこの場ですんの????」#ML_Day
An OCaml newbie meets Camlp4 parser
masterqさんによる、Verifastの辛い話でした。 Verifastは独自のCパーサーを持っており、その変更のために今やOCaml界ではあまり使わないようにしようという流れになっているcamlp4をいじることになった、という話でした。
#ML_Day 「とらのあなでC言語検証器の同人誌が読めるよ!」
— ゆーちき (@yuchiki1000yen) 2018年3月31日
感想
すごくガッツリした内容でとても面白かったです。こういう話ができる場が維持されないといけないな、と思いました。
参加していただいた方も(ちゃんと数えてませんが)50人以上はいたと思います。こういう場を少なくとも半年に一回は設けていきたいです。
社会の人になってから、勉強は自分でやろうとしなければ出来ないので、こういう場でがっつりヤル気を貰うのはすごく良い気がしています。
ちょっと主催大変なので別に誰かがやってくれてもいいのよ?
少し気になったのはスライドのことです。
プロジェクタにより、特に黒背景白文字のスライドは全く見え無いことがあり、今回の会場であるドワンゴ会議室でもこのケースでした。
(ちゃんと視認されるという意味で)無難なところでは白背景に黒文字、そして文字の大きさは大きければ大きいほど良いです。 24pt以上、個人的には28pt以上あると良いと思います。
また色弱の方は意外に多いので、色を使った場合に色の区別がつかなくとも発表内容の理解が壊れたりしない用に作ったほうが良いと思います。
また次回のML Dayでお会いするのを楽しみにしております。