Elm
ElmDay 1

elmクソ初心者がライフゲームを作ろうとして躓いているポイント

はじめに

これはElm Advent Calendarの1日目の記事です。
2日目は@jinjorさんです。
後に続く偉大なる先達の方々の前座にでもなればと存じます。

やろうとしたこと

ライフゲームをThe Elm Architectureに沿って作ろうとしました。
結論から言うと、純粋に知識が足りないのでそのポイント整理することで記事としたいと思います。

何をしたか

クソ初心者が何も見ずに作れたらそれはもう初心者じゃないです。
なのでこちらの記事を参考にすることにしました。

[Elm]Life Gameで生命を生み出す

躓いているところ

主に関数型に慣れていないという結論に帰着するような感じがしますがまとめておきます。

Haskellの経験が足りない

elmを見ていて関数の書き方とかif式とかそういうところはわかるんですが、as(haskellでは@を使うらしい)という構文の使い方が調べてもよくわからなかったのでどうしたものかと。

読んで何をしているかはわかるけど、自分なりに理解して書き直すことができないのは純粋にelmというよりHaskell力が足りていないという感じがします。

関数の挙動がわからない

まあ調べろと言われればそれまでなんですが、

  • |>とか>>のような記号関数がどういう働きをするのかわからない
  • flipのようにやりたいことは何となくわかるけど使った結果が想像できない
  • カリー化した部分が追えなくなる

などの要因が重なり関数の挙動がわからないというところがあります。

おわりに

elmが関数型でHaskellに似た構文を持った言語である以上、elmクソ初心者を脱するにはまずHaskellクソ初心者を脱しなければいけないのだろうという当然のことに気づけたような気がします。
まずはちゃんとHaskellを書くことに慣れたいと思います。

追記:「いやelm書くのHaskell力いらないよ」と色んな人に指摘をいただいたので、訂正しておきます。