Elchemy
Elm => Elixirのトランスパイラ
2017年2月に first commit
両者のいいとこどり
Elm
純粋関数型・静的型付けな AltJS
Haskellに似た構文(中身はかなり違う)
The Elm Architecuture の DSL
6.
例: 総和を求める関数
Elchemy です
moduleHello exposing (..)
sum : List Int -> Int
sum list =
case list of
first :: rest ->
first + sum rest
[] ->
0
7.
例: 総和を求める関数
Elixir です
defmoduleHello do
use Elchemy
@spec sum(list(integer)) :: integer
curry sum/1
def sum(list) do
case list do
[first | rest] ->
(first + sum(rest))
[] ->
0
end
end
end