Elm入門
Elm言語とは
elmとは関数型の言語で、「関数型altJS言語」なんて呼ばれたりしています。
Haskell的な文法と、厳密な関数型プログラミングでバグのないクライアントサイドアプリケーションを構築できるとされています。
また最近はやりのredux、vue.jsのVuexといった状態管理の解法は、elmに触発されて設計されています。
Elmを始めるにあたって
いきなりelmのチュートリアルを始めるのもいいと思いますが、関数型言語に触れたとこがない方は関数型の概念から理解しないと最初はつまづきそうです。
まずはこちらが参考になると思います。
関数型プログラミングはまず考え方から理解しよう - Qiita。
特にとっつきにくい言語ではなく、海外では導入企業も増えていますし、日本の企業だとFringe81が新規事業のサービスにelmを導入しているようです。
elmの基本文法
elmがいかに触れやすい言語であるのか、以下に記述してみようと思います。
> "hello" ++ "world"
"helloworld"
> 9 / 2
4.5
> 9 // 2
4
> if True then "hello" else "world"
"hello"
> if False then "hello" else "world"
"world"
if then else の条件付きの振る舞いには、かっこや中括弧は必要ありません。
そのため可読性も良いです。
> names = [ "Alice", "Bob", "Chuck" ]
["Alice","Bob","Chuck"]
> List.isEmpty names
False
> List.length names
3
ざっと例をあげてみましたが、JavaScript、Python、Javaなどの言語の構造と非常に密接に対応しているため最初の学習コストは少ないと思います。
おすすめのtutorial
私が実際に学習してみて、良いtutorialだったのが、こちらです。
基本からアプリケーションの導入までのドキュメントになっていて、丁寧でわかりやすいです。
Elm Tutorial
参考情報
elmのテンプレート機能の「html」 htmlモジュールには仮想DOMになっている。