大なごやJS vol.5 (#daiNagoyaJS)
-
girigiribauer
- 2254
- 0
- 0
- 0
![](https://s.togetter.com/static/web/img/placeholder.gif)
意味イベントとは、生のイベント(マウス押すとか、キーが押されたとか)を変換、合成してより具体的なイベントにし、純粋関数に渡す流れ #daiNagoyaJS
2013-02-23 17:28:39![](https://s.togetter.com/static/web/img/placeholder.gif)
具体的にElmでどう書くのかについて、値には必ず型がつく、関数の合成だけでプログラムがなりたってる、型が合わないとコンパイルエラー #daiNagoyaJS
2013-02-23 17:31:33![](https://s.togetter.com/static/web/img/placeholder.gif)
Signal a型(aは何かの型)、純粋な世界とReactiveな世界を分けていて、例えば マウスなどの座標では Signal Int 型となる #daiNagoyaJS
2013-02-23 17:33:04![](https://s.togetter.com/static/web/img/placeholder.gif)
Signal Int型は直接純粋な世界の関数を呼べない、lift(Reactiveな世界に持ち上げる) した関数として呼ぶと、Int を Signal Int 型になる #daiNagoyaJS
2013-02-23 17:34:51![](https://s.togetter.com/static/web/img/placeholder.gif)
画面に表示されるものは、 Signal Element型になる、Signal a型の値を変換していって、最終的にSignal Element 型になるようにしていく #daiNagoyaJS
2013-02-23 17:36:03![](https://s.togetter.com/static/web/img/placeholder.gif)
関数型言語の教材としてElmが良いのでは?お手軽、ブラウザ上で試せる、目に見える形で動作させることができる、他にも関数型言語あるけど、インタラクティブなアプリケーションが作れるので面白いのでは #daiNagoyaJS
2013-02-23 17:38:03![](https://s.togetter.com/static/web/img/placeholder.gif)
Haskellほどの汎用性がないのが、逆に簡単になっているのでは?ただしSignalのダイナミックな配線の変更ができない #daiNagoyaJS
2013-02-23 17:39:20![](https://s.togetter.com/static/web/img/placeholder.gif)
教育的、サンプルが豊富でコメントでこんなことやってみたらどうですかというのもある、チュートリアルも充実していて、関数型言語でのゲーム作成にも参考になる #daiNagoyaJS
2013-02-23 17:40:20![](https://s.togetter.com/static/web/img/placeholder.gif)
発展途上なので、コンパイルエラーが分かりづらい(修行だと思ってください)、REPL(インタプリタ)がない、DevToolのようなものがないので、今の型を調べたりということが面倒、Elmはブラウザ上でHaskellを動かすのが目的ではない #daiNagoyaJS
2013-02-23 17:42:52![](https://s.togetter.com/static/web/img/placeholder.gif)
Elmの始め方として、「すごいH本」の11章あたりまで読めれば良いのでは?Haskellの基本を分かったうえでアプリを作るイメージが湧かない場合にElmが適しているのでは #daiNagoyaJS
2013-02-23 17:43:59