ML Day#2を開催しました。 ML勉強会という名前にしていたときから数えて通算4回目です。
今回もドワンゴさんのセミナー室をお借りしました。 この規模のセミナー室が便利に利用できるのは本当に助かります。
発表の紹介
発表枠6 + LT枠5のあわせて11もの発表がありました。発表者の皆様に感謝です。
他のコミュニティだと割と発表者の確保に苦労しておられるようですがML勉強会からあまり困ったことがありません。
以下の紹介は私の理解ですので何か訂正があったらツイとかで指摘ください。。。
ラベルなしオプション引数のための型システムと型推論
unlabeled-opt-args.pdf - Google ドライブ
最初はSATYSFIでお馴染みの@bd_gfngfnさんの発表でした。 この発表はSATYSFI向けに、オプション引数のための型システムと型推論を考えてみたという話でした。
Latexではラベルなしのオプション引数が多用されており、SATYSFIのために同じような仕組みが必要だと考えたようで、 OCamlにはラベル付きのオプション引数が実装されておりますが、これには少し扱いづらい性質があると考えているそうです。それは、
- 最後の引数をオプショナルにできない
- 型推論の完全性を満たさない
例えば
let f g = (g ~foo:0 true, g false)
そのため、ラムダ計算に
- ラベルなしのオプション引数をとるラムダ抽象
- オプション引数の関数適用
- オプション引数がないことを表す適用(!)
などを追加し意味論や型システムを考えたという内容でした。
この発表の中でReferしているOCamlのオプション引数の論文は[ Furuse & Garrigue 1995]ですが、 この著者の古瀬さんが来られておりちょっと緊張気味に喋っていたのが印象的でした。 古瀬さんの仕事は今回でちょくちょく触れられており、世界狭いなと思いました。。。
gfnさんの発表は典型的なアカデミックスタイルで、問題の発見・定式化の流れがすごくわかりやすかったです。 秋で修士を卒業されたようなのでスシを奢らなければ。。。
gfn「オレオレ型システム作ったよ」
— κeen (@blackenedgold) 2018年9月16日
#ml_day
「正当性は示してないんですが既に実装してるんですね」
— κeen (@blackenedgold) 2018年9月16日
#ml_day
https://t.co/1ctHhpIxiV 前回に知った! #ML_Day
— prototechno (@prototechno) 2018年9月16日
— κeen (@blackenedgold) 2018年9月16日
気がかりな点:
— κeen (@blackenedgold) 2018年9月16日
部分適用の扱いが非直感的
e0 e1 ~x:e2と(e0 e1) ~x:e2 が別物になる
#ml_day
[Furuse & Garrigue 1995]
— κeen (@blackenedgold) 2018年9月16日
あれ、Optional引数ってキャミバ様の仕事だったの
#ml_day
引用論文の著者の方がいらっしゃる #ML_Day
— wraikny(れいにー) (@wraikny) 2018年9月16日
既存手法の大本の論文の著者がいる系勉強会 #ML_Day
— ころ (@koropicot) 2018年9月16日
循環証明の話
秋津 早苗 (@akitsu-sanae)さんの、証明の話です。
議論は循環証明とは何かということから始まりました。 循環証明とは、
構造的証明(普通の証明) + 循環 + 健全性のための条件`
であるとし、循環した証明を許すと導出の途中に出てきた判断式を再利用できて便利だけど、循環を無限に許すと明らかに間違っている判断式が証明できてしまうために、制約をつけるそうです。 健全性のために、「循環が無限回使われない」ために循環を無限回つかうと何かしらの無限効果列が構成できて、それが整礎であることを示すそうです。
帰納法と無限降下法は言っていることが同じだという説明をしていて、個人的にはそうだなというお気持ちになれました。
循環証明、パッと見た感じだと証明木を証明グラフにして、グラフの辺に変数がもってる情報を載せて、その簡約関係が整礎であることを別に示すような印象を受けました。 #ML_Day
— ねっけつ (@nekketsuuu) 2018年9月16日
次秋津さんから循環証明に話
— κeen (@blackenedgold) 2018年9月16日
#ml_day
#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
循環証明=構造的証明+循環+健全性の証明
要求される「知っている」のレベルにビクビクする聴衆たち#ml_day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
証明規則はlocally soundであることが求められる
— κeen (@blackenedgold) 2018年9月16日
#ml_day
循環: 同じ判断式が出てきたら再利用できる
— κeen (@blackenedgold) 2018年9月16日
#ml_day
— κeen (@blackenedgold) 2018年9月16日
#ML_Day こういう循環を作って正しい!ということはまずそう
— 光のインターネットの闇 (@no_maddo) 2018年9月16日
|- 1 = 2
--------
|- 1 = 2 /\ 1 = 2
--------
|- 1 = 2
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年9月16日
具体例の場合だと、「自然数においては数を1づつ下げながら循環すれば0に帰着するから無限回の循環は発生しない(整楚である) 」
— wraikny(れいにー) (@wraikny) 2018年9月16日
再帰関数みがある#ML_Day
Cyclisthttps://t.co/khb8KBRD5r
— でこれき (@dico_leque) 2018年9月16日
ngorogiannis/cyclist: A cyclic theorem prover framework.https://t.co/JcanaVeiON#ML_Day
JS+Tで発表したよ#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
#ML_Day 一階不動点論理の循環証明体系とプログラム検証への応用https://t.co/HLZF1Enl1S
— 光のインターネットの闇 (@no_maddo) 2018年9月16日
以前循環証明の論文を見かけたときは何に使うのかよく分からなかったけどプログラム検証に使おうという話があるというのは面白そう #ML_Day
— 梅田 (@umedaikiti) 2018年9月16日
今回は無限降下列を含まないことが「健全性の条件」になっているけどmodal μ-calculusとかの証明とかだと本当に無限の証明が許されるように条件が緩められるのではないかみたいな話をした(?)(ぇ#ML_Day
— 🈚️うひょ💀 (@uhyo_) 2018年9月16日
Inside Pattern Machings
Inside Pattern Matchings | κeenのHappy Hacκing Blog
きーんさんだよー。
MLのパターンマッチがどういうふうに実装されているのかのサーベイの話でした。パターンマッチを実装する方法はだいたい3つあるそう。
- 愚直なIf分変換
- 決定木をつくる
- backtracking automata
そのうちバックトラッキングで実装する方法について解説していました。
進捗魔神の進捗を煽ってしまっいました。てへっ。
κeenさん「ちゅーんさんだよー」#ml_day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
パターンマッチを実装する話 #ML_Day
— だめぽラボ@技術書典5 か38 (@mod_poppo) 2018年9月16日
パターンマッチは
— びしょ〜じょ (@Nymphium) 2018年9月16日
直積→横
直和→縦
ネスト→奥
に伸びる #ML_Day
これかな? < Inriaにあった論文 / Fabrice Le Fessant and Luc Maranget. 2001. Optimizing pattern matching. SIGPLAN Not. 36, 10 (October 2001), 26-37. DOI: https://t.co/rYoOktPMhS #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年9月16日
decision treeの欠点:パターンがコピーされる。コードがかさむ #ML_Day
— だめぽラボ@技術書典5 か38 (@mod_poppo) 2018年9月16日
ifのチェーン: 素朴、遅い、網羅性は別に
— wraikny(れいにー) (@wraikny) 2018年9月16日
decision tree: パターンから決定木、横幅と深さに線形、パターンがネストしたケースで実装が難しい, orだとdiagram
#ML_Day
複数パターンにマッチしうるせいでこんなに苦労するのですね...#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
マッチの順番を変えずに処理の順番を入れ替えて最適化できる条件を調べよう #ML_Day
— wraikny(れいにー) (@wraikny) 2018年9月16日
#ML_Day パターンマッチ実装、昔悩んだな―とか思い出が蘇る。コンパイラ自作が捗りますね。
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
進捗どうですか #ML_Day
— ももかす🍑 (@momocus) 2018年9月16日
Dive into Algebraic Effects
明日の発表スライドデスhttps://t.co/o4rfln7JHb
— びしょ〜じょ (@Nymphium) 2018年9月15日
びしょ~じょさんのAlgebraic Effectsの紹介です。Algebratic Effectsとは”継続を持てる例外”のようなもので、例外ハンドラの中みたいなものの中でperform (Say "Hello")
というプログラムが発火すると、披露法はその周りの継続をひろえるようで、| effect (Say msg) k -> print msg; k()
というふうにハンドラ部分が書けるようです。
これにより、定義と実装が分離されたりハンドラが合成できたりモジュラなプログラミングを支援してくれます。また限定継続が利用可能で、例外よりも強力です。 MultiCore OCamlやEffで実装されており、色々遊ぶことができそうです。
「こんにちは、美少女です(びしょ〜じょさん)」#ML_Day
— あいや🤘🙄🤘技術書典5@か74 (@public_ai000ya) 2018年9月16日
Algebraic Effects: イメージとしては継続を持てる例外
— κeen (@blackenedgold) 2018年9月16日
#ml_day
Algebraic Effectsの話をちゃんと聞いたことがなかったけどこれはよくわかる(ぇ#ML_Day
— 🈚️うひょ💀 (@uhyo_) 2018年9月16日
effest Say : string -> unitはstringを受け取ると外の継続にunitを渡すやつ(継続は unit -> 'a 的な #ML_Day
— でこれき (@dico_leque) 2018年9月16日
handle 〜 with で Say のとき print_endline msg; k () してる #ML_Day
— でこれき (@dico_leque) 2018年9月16日
[https://twitter.com/yyu/status/1041205861945815042:embed]
ん、multicore OCamlにAlgebraicEffectsあるのか
— κeen (@blackenedgold) 2018年9月16日
#ml_day
multicore-ocaml の入門にこれオススメです https://t.co/4GQ1EzsRrM #ML_Day
— わくわくエントリーシート (@wkwkes) 2018年9月16日
https://t.co/ufKmC7z2ZK
— ゆーちき (@yuchiki1000yen) 2018年9月16日
MSRのKokaです#ML_Day
yield/resumeがasymmetric coroutineでtransferがsymmetricって聞きました!
— κeen (@blackenedgold) 2018年9月16日
#ml_day
うむ。oneshotのshift/resetがあればfiberは作れるな。
— κeen (@blackenedgold) 2018年9月16日
#ml_day
個人的には Algebraic Effects 入門はこの invited tutorial paper が分かりやすかったです: "An Introduction to Algebraic Effects and Handlers" (Pretnar, 2015) https://t.co/loQ2sOUnXa #ML_Day
— ねっけつ (@nekketsuuu) 2018年9月16日
Algebraic Effect、なるほど解らんかったけど、SOS(Structural Operational Semantics)とかの定義ってどうなってるんやろか? ネスト割込みをサポートした(但し継続は表現できない) Meije Calculus を思い出すなどしました。 https://t.co/wZDEJriCVr#ML_Day
— もっちぃ (@tanimocchi) 2018年9月16日
Multicore OCamlの継続はoneshotなの知らんかった #ML_Day
— Yuki Kodama (@kuy) 2018年9月16日
Computational Effects関連の論文一覧はこちら #ML_Dayhttps://t.co/8Y8L7mzpz6
— びしょ〜じょ (@Nymphium) 2018年9月16日
#ML_Day 楽しそうだ。algebraic effects はパターンの網羅性チェックないんですかねと思った記憶。Javaのチェック例外みたいになる?
— Keigo Imai (@keigoi) 2018年9月16日
algebraic effectでハンドルされなかったものはそのままエフェクトの型に残るだけなはずです。
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
OCamlのトップレベルあれそれ
わたくしの発表。OCamlにはCompiler-libsという形でコンパイラの内部モジュールを外に出しているものがあり、それを使うとevalとかできるよという紹介でした。
モチベーションとしてはOwlを見ていると、彼らはかなりトップレベルを使っているようで、それもevalとinstall_printerやadd_directiveを組み合わせてやっていくすごいスタイルのプログラミングでびっくりしたというのがあります。 OCamlのトップレベルとか結構適当なインタプリタで実行されているというお気持ちだったのでびっくりしました。
光のインターネットの闇さん #ML_Day
— ももかす🍑 (@momocus) 2018年9月16日
OCamlにはトップレベルをいじる機能がある #ML_Day
— κeen (@blackenedgold) 2018年9月16日
例:Hashtblのprinter #ML_Day
— だめぽラボ@技術書典5 か38 (@mod_poppo) 2018年9月16日
「みなさんS式好きですよね」 #ML_Day
— κeen (@blackenedgold) 2018年9月16日
「ocamldebugつらいじゃないですかー」 #ML_Day
— κeen (@blackenedgold) 2018年9月16日
「トップレベルを真面目に使ってるひとはそれなりにいて」 #ML_Day
— κeen (@blackenedgold) 2018年9月16日
#ML_Day owlはトップレベルいじりまくっているから、光の闇
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
Printf.sprintf "#install_printer %s;;" printer |> Owl_zoo_cmd.eval とかしてるhttps://t.co/0cEH1diBKZ#ML_Day
— でこれき (@dico_leque) 2018年9月16日
「execute_phraseを何回も実行すると段々遅くなったことがある原因わかりますか」
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
Haskellで依存型とコンパイル時インラインlisp
先程発表させていただいた資料です!
— あいや🤘🙄🤘技術書典5@か74 (@public_ai000ya) 2018年9月16日
> Haskellで依存型とコンパイル時インラインlisp https://t.co/XkYAnzoNvr
あいやさんのHaskellで依存型使ったりコンパイル時にlisp起動したりするはなし。
このへんわたしがあまり詳しくなくてコメントできない。。。
#ML_Day Haskell と Lisp が ML???
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
— κeen (@blackenedgold) 2018年9月16日
Template HaskellでLispプログラムをパースするのか #ML_Day
— でこれき (@dico_leque) 2018年9月16日
「これくらいは普通ですよね」🤔 #ml_day
— ころ (@koropicot) 2018年9月16日
mspみたいなことができるということかしら。 #ML_Day
— びしょ〜じょ (@Nymphium) 2018年9月16日
#ML_Day コンパイル時ioはセキュリティ的に大丈夫じゃないw
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
仮想通貨デザインにおけるML言語族適用の展望
OCamlハッカーのcamloebaさんの発表です! わたしも卒論やM1の学会の際の節々でおせわになりました。
ワタシがTwitterで「MLは金にならんから勉強会が平和」みたいなことを言っていたらそれに反応して頂いたようで、「MLはカネになるぞ」という話からスタートしてオチが面白いのでぜひスライド見てください!!
仮想通貨はバグ即ウン億円の損失につながるようで、これから仮想通貨を安全にするための取り組みに参加されていくようです。
次「仮想通貨デザインにおけるML言語族適用の展望」 by camloeba
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ML_Day 会社名がモザイクw
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
株式会社の登記申請が受理されてないので肩書を出せない
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
cameloebaさん
— ゆーちき (@yuchiki1000yen) 2018年9月16日
「仮想通貨デザインにおけるML言語族適用の展望」っという話でやろうとしたのですがコンプラ的にやめます#ML_Day
「MLは金になる」
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
MLの勉強会は平和:もうからないから#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
ML → Money Language
— びしょ〜じょ (@Nymphium) 2018年9月16日
『MLは```金'''になる』 #ML_Day
「MLは金になっている」 #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年9月16日
Ethのトランザクション記述言語は意図的にチューリングコンプリート
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
イーサリアムのが機能的なあれこれ話を聞くのは、チューリング完全だからなのか。 #ml_day
— 耳無しよんた (@keita44_f4) 2018年9月16日
「トランザクション言語はfunctionalであるべき!」#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
コントラクトバグによる盗難、凍結事件がある。お金に直結する
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ML_Day この話、LTじゃなくてシッカリ聞きたみがある
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
EVMの仕様が(gotoやメモリ書換えがあり)よくないのでは
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
ポストethを狙う勢が多く、形式検証や関数型言語がアツい。 Coqによるextractionなども #ML_Day
— びしょ〜じょ (@Nymphium) 2018年9月16日
#ML_Day 仮想通貨分野は関数型・形式検証の職を探しやすい
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
#ml_day こういう業界の話的なの面白い いままでなかったジャンル
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
自作SML処理系の進捗
my-sml-compiler.pdf - Google ドライブ
mod_poppoさんの自作SML処理系の話。 人間には三大欲求があって「言語処理系」「エディタ」「OS」「CPU」があるよねー、どうせなら型推論のある実用的なコンパイラを書きたいですよね、というところから話ははじまります。
SMLコンパイラはワタシも昔少し作っていたので気持ちになりました。
#ml_day 処理系作る系の話ほんと充実してる
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
人は誰でも言語処理系を作りたくなるもの #ml_day
— ももかす🍑 (@momocus) 2018年9月16日
3大欲求が4つある…… #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年9月16日
「最近C言語コンパイラを作る人が多いがどうせなら型推論のあるSMLを実装しよう」
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
ターゲット言語: 適当なスクリプト言語(JavaScriptとか)を吐く
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
ML_lexの使い方を覚える前に手書きでlexerを書いてしまった#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
「パターンマッチは頑張らないといけない…」わかる
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ml_day 既にコンパイラ作った人たちからのアドバイスがガチ
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
言語処理系有益情報が共有されていく#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
Q. let datatype t = ... in 〜 end とか闇では?
— でこれき (@dico_leque) 2018年9月16日
A. あー#ML_Day
#ml_day インターネットの闇「エディタは言語処理系」
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
SML処理系の研究をしていたよんたさんからのアドバイス
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ml_day SML仕様と実装方法、ほんと詳しすぎる(常識)
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
smlsharpのelaboratorが参考になるらしい https://t.co/RRn4jdLL5a#ML_Day
— でこれき (@dico_leque) 2018年9月16日
Q: なんで SMLを選んだのですか?
— ゆーちき (@yuchiki1000yen) 2018年9月16日
=> A: 仕様のシンプルなSMLをベースに選んだ
Q: GADT、ほしくなるよ...ほしくなるよ...実装しない...?
=> A: ほしくなってから考えます#ML_Day
OCamlによる無限グラフにも使える ダイクストラ法の実装
fetburnerさんのOCamlで競プロやっている実装のはなし。 ダイクストラ法を使うような問題はよく出題されるのでライブラリを書いたという話っぽいです。
— κeen (@blackenedgold) 2018年9月16日
カリー化 + 部分評価みたいな実装 #ML_Day
— でこれき (@dico_leque) 2018年9月16日
OCamlにはPriority QueueがないがMapを代わりに使える
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
OCamlのMapは順序木だからそういうのにも使えるか https://t.co/tmnOnviL63 #ML_Day
— でこれき (@dico_leque) 2018年9月16日
compelib/dijkstra.ml at master · fetburner/compelibhttps://t.co/75fjWLOzCw#ML_Day
— でこれき (@dico_leque) 2018年9月16日
MetaOCaml…w
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
Hashtblもcompareとか与えられるけど... 実際にはコリジョンがあってO(1)という理想的なことにはならない、かなぁ #ML_Day
— らくだの馬 (@camloeba) 2018年9月16日
パターンマッチ指向プログラミング言語Egisonとその上に実装された数式処理システム
Satoshi Egiさんの、Egisonというパターンマッチが強力なS式ライクな処理系の紹介です。
(紹介を書きますが私もわかってない感じがあるので注意して読んでください)
Egisonのパターンマッチについて解説し、パターンマッチ機能を用いて、どういうふうに
数式処理システムを言語上に実装していくのかという話でした。
パターンマッチの機能によって微分演算子の定義やテイラー展開の定義がシンボリックに・シンプルに記述できるという
という話をしていたと思います。
Egisonのはなしは初めて聞いたので全くプログラミングパラダイムが違うので新鮮に感じられました。 最近は数式処理を簡潔に書きたという気持ちはすごくわかるので、触ってみようという気持ちになりました。。。
パターンマッチ指向プログラミング言語Egisonとその上に実装された数式処理システム」 Satoshi Egi
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
Egisonの開発者の方 #ML_Day
— wraikny(れいにー) (@wraikny) 2018年9月16日
Egisonは遅延評価なのか。データコンストラクタでthunkを包んでpattern matchingなどを低コストで実現するためかな。 #ML_Day
— びしょ〜じょ (@Nymphium) 2018年9月16日
マッチャー変えるとマッチも変わるなるほど。
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
パターンの多相 #ML_Day
— κeen (@blackenedgold) 2018年9月16日
「非線形パターンの効率的なバックトラッキング」
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ML_Day / “concept.html” https://t.co/lFOnRv46wj
— prototechno (@prototechno) 2018年9月16日
すごい。
— あいや🤘🙄🤘技術書典5@か74 (@public_ai000ya) 2018年9月16日
プログラミング言語Egisonについて発表してるEgiさんのTシャツに
「Egison」って書いてある#ML_Day
[1808.10603] Non-linear Pattern Matching with Backtracking for Non-free Data Typeshttps://t.co/R6jGu8d4Q7 #ML_Day
— でこれき (@dico_leque) 2018年9月16日
Egisonめっちゃ面白いのでは#ML_Day
— あいや🤘🙄🤘技術書典5@か74 (@public_ai000ya) 2018年9月16日
かなり高機能なパターンだ。強さがよくわからない。 #ml_day
— 耳無しよんた (@keita44_f4) 2018年9月16日
— κeen (@blackenedgold) 2018年9月16日
Egison、パターンマッチ指向言語というものを提唱しているんですね #ML_Day
— wraikny(れいにー) (@wraikny) 2018年9月16日
時空の歪みの話が出てきた #ML_Day
— wraikny(れいにー) (@wraikny) 2018年9月16日
プログラマ向けだと、テンソルは行列の発展形として紹介するとわかりが入りそうな気がするんですが、どうでしょうか。 #ML_Day
— ねっけつ (@nekketsuuu) 2018年9月16日
#ml_day 前半のパタンマッチの本質的そうな話を追いきれなかった。後半はほぼ数学の意味論の話と思って良いのかな
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
#ML_Day> Egison 数学ノート https://t.co/ktwwkMWlol
— あいや🤘🙄🤘技術書典5@か74 (@public_ai000ya) 2018年9月16日
Egisonのパターンはturing completeの可能性が微レ存…? #ML_Day
— びしょ〜じょ (@Nymphium) 2018年9月16日
「Tシャツで説明できるんですよー」からのTシャツで実際に説明
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ml_day パターンが文脈自由より強力だと、効率化しても結構パターンマッチに時間がかかりそうな印象
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
#ml_day Egison は大雑把に考えると簡約規則が定義しやすい言語という感じなのかな
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
FSDN
もみあげさんのC#/F#のAPIサーチエンジンの話。
コンソール版を作った人の前でWEB版欲しいです!って脊髄反射で言ったら作って!!!って言われたので作ったそうです。
APIサーチエンジンの話に加えて、ボランティア活動なので楽にするためにDBは運用せずに 検索情報のキャッシュをgithub上にそのままreleaseにアップロードしてしまい、起動時にメモリ上に展開する、みたいな話をされていました。 OSS活動はボランティアですからね、、、楽していく気持ち、、、
「FSDN(仮)」 pocketberserker
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
「F#の話をしたかったんだけどおもしろい新機能が出てこないのが悪い」#ML_Day
— ゆーちき (@yuchiki1000yen) 2018年9月16日
すまん OCamlOScope は死んだ... #ML_Day
— らくだの馬 (@camloeba) 2018年9月16日
Hoogle,OCamlScopeの類似品(作者が会場にいる)
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ML_Day / “FSDN” https://t.co/0KmrqTnaV9
— prototechno (@prototechno) 2018年9月16日
#ml_day 「趣味の時間をDB管理に取られるのは時間の無駄」 わかる
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
DBを持ちたくないのでmsgpackにかためておく
— κeen (@blackenedgold) 2018年9月16日
#ML_Day
#ml_day Lensが当たり前のように登場
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
#ml_day 「海外の人は使っているけど、日本は知らない」 わかる
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
SML版Hoogleほしいなあと思ったけど、ロードされてるモジュール情報をとったりできないし、誰かがBasisライブラリのインタフェースをどうにかパースしないといけなくて、めんどうそう。う…… #ml_day
— 耳無しよんた (@keita44_f4) 2018年9月16日
#ML_day で @pocketberserker さんとAPIサーチ談義をして同じような問題があることを学びました。OCO復活させたいけどよく考えたらOCamlにはmodule aliasとかが入って解析が簡単じゃなくなって諦めたんだった
— らくだの馬 (@camloeba) 2018年9月16日
懇親会の様子
#ml_day pic.twitter.com/WcteHoVtXu
— ももかす🍑 (@momocus) 2018年9月16日
30分経たずに消えた、ピザと寿司 #ml_day pic.twitter.com/LrLqye6QFf
— ももかす🍑 (@momocus) 2018年9月16日
若い人たちが懇親会でハードコアな議論をしていていい雰囲気だった #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年9月16日
#ML_Day pic.twitter.com/R8Q4a892UH
— 🈚️うひょ💀 (@uhyo_) 2018年9月16日
#ML_Day 、未知の型システムや論理体系が次々に出現して大変怖い空間だった(賞賛)
— ゆーちき (@yuchiki1000yen) 2018年9月16日
研究の関連情報が色々議論できたので面白かったです、ありがとうございました。 #ML_Day
— びしょ〜じょ (@Nymphium) 2018年9月16日
#ML_Day いい話がたくさんあった
— コスモ (@cosmo__) 2018年9月16日
Obj.clone_continuationで継続を複製するといいと教えてもらった https://t.co/Quwjk5yyjU #ML_Day
— でこれき (@dico_leque) 2018年9月17日
全体の感想
私の感想は、レベル高いな!! という感じでした。
gfnさんの発表から始まりましたが、まず欲しい型システムの性質を考えて定式化して各種の性質を示していくというスタイルが
当たり前だと認識できる集まりはなかなか無い気がします。
それ以外にも、MLがわかってその上で色々なことをやっていく発表ばかりで非常に楽しませていただきました。
ぜんぶの発表枠で質問も活発で、ほぼ質疑の時間を使い切るくらいの程度でした。
発表者だけではなくて、参加者全体のレベル高さが感じられました。
ポケモン金銀のコガネシティみたいな会場の入り方だった #ML_Day
— camelry (@fetburner) 2018年9月16日
やっと辿りつきました。地下2Fの謎の扉を開くなんて。。。悩んだw #ML_Day
— prototechno (@prototechno) 2018年9月16日
#ML_Day MLの話題って、毎回幅広いですね
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
OCaml 2010 Nagoya と比べるとレベルめっちゃ上がっていて、わ〜と思いました #ml_day
— らくだの馬 (@camloeba) 2018年9月16日
どうして闇さん日本語がたどたどしいのw #ML_Day
— κeen (@blackenedgold) 2018年9月16日
#ml_day 今回の進行、めちゃスムーズですね
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
光のインターネットの闇の人が何か祈りをささげている #ML_Day
— NaOHaq(仮性ソーダ) (@NaOHaq) 2018年9月16日
#ML_Day Haskell と Lisp が ML???
— あっきー(慢性五月病) (@ackey_65535) 2018年9月16日
起立の上名乗ってから質問するというのを最初忘れてた
— κeen (@blackenedgold) 2018年9月16日
#ml_day
今後?
ML Day半年開催をなるべく守っていきたいです。
毎度毎度、会場の問題や発表者の確保の問題がありますが私の気力が続く限りは頑張っていきたいと思います。
まぁ運営も楽なんですよね、ML勉強会から特に何か問題になったことはないです。
わたしも運営と言ってもconpass立てるのと質疑応答の時間に走り回るくらいです。
レベルの高い発表が続くととても嬉しいのですが、初心者の方が入りづらくならないように気をつけないといけないと思いました。 本当はOCamlなどのML入門ハンズオンみたいなのもやってもいいと思っているのですが、体力が必要なので なかなか踏み出せていません。協力していただける方が複数いて、どこかの会社が後援とかしてくれたらやっていくかもしれない。。。。
しめ
発表者の方も勿論ですが、参加して頂いた方々本当にありがとうございました。
会場の確保に協力して頂いたドワンゴ様、@pocketburserkerさんにも大変感謝しております。
ML Dayは参加者の皆様もリテラシが高くてたいへん助かっております。
また半年後のML Dayでお会いできると嬉しいです。。。。