Overview
2014-06-08
天下一altJS武闘会
@dsuket
about me
@dsuket
Works
フリーランスエンジニア
開発、技術支援、執筆、講演、etc
Community
AITC運営委員, CCエバンジェリスト

Japan Sencha UG
@dsuket
dsuket
コラムはじめました
http://elm-lang.org/
elm 知ってますか?
文法とか言語の
細かい話はしません
Elm
ここがすごい
(小並感)
1. 関数型言語が
すごい!
Functional!!
Haskell + OCaml + F#

+ Agda + SML
関数型言語のいいとこ取り!
コードサンプル
関数言語界の恐い人が多いの
で詳細は割愛
Haskell+独自記法で混乱!
学習コスト高!
2. FRP が
すごい !!
FRP
Functional
Reactive
Programming
ユーザー入力など、時間をかけてダイナミックに変
化する値は、複数のEvent Stream(連続的な時間
とデータのペア)によって合成されたBehavior関
数で扱い、刻々と変化する値を宣言的に表す。
FRPとは
参考: Webフロントエンドでリアクティブプログラミング
Sample
http://elm-lang.org/edit/examples/Reactive/Position.elm
独自言語の上にFRPとか
あって、学習コスト激高!!
→ 面白い!
3. Platform が
すごい!!!
Elm Platform
elm:コンパイラ
elm-server: サーバー (not Server Side)
elm-repl: 対話型IF
elm-get: パッケージ管理
4. Play Ground が
すごい!!!!
http://elm-lang.org/edit/examples/Intermediate/Mario.elm
Hot Swap
&
Auto-update
5. Debugger が
すごい!!!!!
http://debug.elm-lang.org/edit/Mario.elm
残念な点
• 学習コスト激高

Haskell Likeでさえ取っつきにくいのに、RFP+独自言語ってどんだけ、、、

日本語情報ほとんどない
• 既存資産(JS)が活かせない

一応外部JSと連携する仕組みあるけどシームレスじゃ無い
• コンパイラがちょっとね。。

watchして変更したファイルだけコンパイルとかしたい
• 遅延評価がない

Haskellベースだと思うと残念
ちょっと翻訳はじめてみた
https://github.com/dsuket/elm-lang.org
Let's Enjoy!

Elm overview