TL;DR
Haskell や PureScript と同じ、純粋関数型プログラミング言語。Web アプリケーションの開発に特化している。
仕組み
Elm は、Elm Architecture と呼ばれるフレームワークとセットで使う。パッケージは公式のパッケージサイトで探す。
Elm ガイドによると、Elm Architecture では対話的なプログラムを 3 つの部分に分けて設計する。Model はアプリケーションの状態、View は状態を HTML に変換する部分、Update はメッセージに応じて状態を更新する部分である。
日本語の本がたびたび出ていることからも分かるように、コミュニティは活発である。有志による日本語のチュートリアルもある。
自分の理解
「基礎からわかる Elm」と「プログラミングElm」はどちらも読んだが、どちらでも開発に必要な知識は一通り学べる。