コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

月曜ミニ劇場 ちょこっと Elm

JavaScript わかんないから Elmやることにした

はい、おはようございます。あらゆる言語で挨拶しかできないマンです。本日は JavaScript が全然わからんので Elm をやることにしました。Elmなら挨拶以上のことが出来る気がするんだ……。巷ではJSよりも簡単だとか言われているらしいです、知らんけど。

Elm 公式
home

Elmは、ウェブブラウザベースのグラフィカルユーザインタフェースを宣言的に作成するためのドメイン固有プログラミング言語である。Elmは純粋関数型言語であり、ユーザビリティ・パフォーマンス・堅牢性を重視して開発されている。静的かつ強力な型検査によって「事実上一切の実行時例外が起こらない」ことを売りにしている。
Wikiより

ちなみにElmってこんなやつです。個人的な印象はTypeScript よりもがっちりとした感じのAltJSってイメージです、知らんけど。世間ではミニマルフレームワークとか呼ばれている。どっちが正しいのかは知らない。まあそういうのは使っているうちにわかるでしょ(適当)。


さわってみる

はい、こうウダウダと言語の成り立ちとか語ってもつまんないので早速さわっていこうと思います。ちょうど以下の場所で対話形式のやつが使えるとのことですのでお試しでFizzBuzzでもサクッと実装していきます。

Elm Repl

とりあえずFizzBuzzを実装してみた。

---- Elm 0.19.0
---- \ は改行のために利用
> fizzbuzz n =\
|   case (modBy 3 n ,modBy 5 n) of\
|   (0, 0) -> "FizzBuzz"\
|   (0, _) -> "Fizz"\
|   (_, 0) -> "Buzz"\
|   _      -> String.fromInt n
<function> : Int -> String
> fizzbuzz 30
"FizzBuzz" : String
> fizzbuzz 12
"Fizz" : String
> fizzbuzz 7
"7" : String

できた。公式ドキュメントちゃんと見ないでノリだけで書いてたら「%」使えなくて焦った。軽く触ってみた感じだと使い勝手はよくわかんなかった。インターネット上だと爆速でHTMLが書けるっていうから今度はそっちでやってみたいところ。


おしまい

参考ドキュメント
Elm Packages