『基礎からわかるElm』
https://gyazo.com/9dfa9ebdd2597e2bf8c758aae58ebb6c
@jinjor
Elmの本
github
2章
Shadowingがそもそも禁止されている p.40
if..then..else式がある。返り値は同じ型でないといけない
pipeline operatorがある
https://qiita.com/mather314/items/1d5917b2b9f415d18372
https://qiita.com/aimy-07/items/429e6b1b6ad64bbf0b49
|>
>>
→向きの関数合成
Haskellの関数合成では、f→gの順に適用したいときは、g . fと書くが、
流れと同じ向きにf >> gと書ける
<|
逆向き
Haskellの$みたいなやつ
カッコを省略できる
<<
普通の関数合成
これ使うことあるんか?mrsekut.icon
Haskellみたいにパターンマッチの関数定義はできないっぽいな
↓こんなやつ
code:hs
f 0 = 1
f n = n * f (n-1)
代わりにcase hoge ofを使う
code:elm
r : Int -> Int
r n = case n of
0 -> 1
_ -> n * r (n-1)
再帰関数を実装すると、コンパイル時に末尾再帰の最適化を自動でやってくれる
3章
The Elm Archtecture
普通のFormの実装
Command
httpリクエストの送り方
JsonをElmの値にデコードする
検索ボックスを作る
Subscription
時計を作る
4章
プロジェクト管理
package.jsonならぬelm.json
direct, indirectとは
https://github.com/elm/compiler/blob/master/docs/elm.json/application.md
ElmとJSとのデータのやり取り
ElmのNavigation
Elmのテスト
5章
規模が少し大きくなってきた時に役立ちそうな設計パターン
Viewの再利用とか
Pageの分離とか
6章
自分でパッケージを公開とか
CSS管理のテクニック