21
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Elm入門

Last updated at Posted at 2017-10-18

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文
> 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になっている。

21
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?