> a = 10
10 : number
> b = a + 1
11 : number
> b
11 : number
> a = 11
11 : number
> b
12 : number
b が 11 になった後に計算に使ってる a を変えると b も変わる
a = a + 1
っていうインクリメント的な物を書いたら a の結果を取得するときに
a + 1
(a + 1) + 1
((a + 1) + 1) + 1
みたいに無限ループになる
なのでこれを実行すると cyclic definition のエラーメッセージが表示される
-- CYCLIC DEFINITION ------------------------------------------------------ REPL
The `a` value is defined directly in terms of itself, causing an infinite loop.
2| a = a + 1
^
Are you are trying to mutate a variable? Elm does not have mutation, so when I
see a defined in terms of a, I treat it as a recursive definition. Try giving
the new value a new name!
(略)
メッセージの 「Are you are」 はすでに修正済みだったので まだ修正版が npm の最新版になってないだけみたい
https://github.com/elm/compiler/issues/2046