Open7

The Elm Architectureという名前についてうだうだ思ってること

ピン留めされたアイテム
miyamomiyamo

The Elm Architecture(以下TEA)についてうだうだ思うことがあるので書いておく

そもそもTEAとはElmで採用してるアレです。
一般にはmodel, view, update(以下MVU)の組によるUIの設計パターンを指す気がします。

miyamomiyamo

TEAの実態

ご存知の通りElmは言語とフレームワークが合体していてこのTEAでしかアプリを書けない感じです
ピン留めで書いた通りTEAはmodel, view, updateで構成されるらしいです
elm/browser/latest/Browserを見てみます
Elmではmain関数をProgram(もしくはHtml)にするんですけど、ここにProgram生成関数が入ってます
これってMVUなんでしょうか。subscriptionsとか、routing用のonUrlChangeとかあるんですけどね…

miyamomiyamo

MVUにMsg要素入ってなくない?

Msg大事だと思うんですけど。
MVUといってしまうと表現できていないことが出てきてしまいます。TEAってふんわり言っておけばあーあれねってなるので便利かもしれません。

MVUなのでモジュールをmodel,view,updateに分けるんだなって思うひとも出てくるかもしれません……。にんげんってなんかそういう感じの挙動しますよね

miyamomiyamo

好きな部分をTEAって思えばいいじゃん

TEAってこういうものだよって好きに言及できて便利ですね。TEAはMVUだとも言えるし、TEAはミーリマシンだとも言えます。TEAはReduxの元ネタかもしれないし(この表現わりと偽っぽい)、TEAは最近のフロントエンドでよく見られるパターンかもしれません。
ちなみにわたしはBrowser.sandboxから始めてapplicationまでの細かいいろいろ含めてTEAだと思ってます。あまり意味のない言説ですね

miyamomiyamo

金科玉条

一度何かを掲げると信仰が集まってしまって気に食わないですよね。

miyamomiyamo

自身と言語を同化させるな

Evan(作者)が言ってたんだっけ、違う人だっけ。
その手の単語を使う事自体が自我の侵食なのでやめろって話なんだけど、みんな言語わりと雑に使うから言っても理解しないひとのほうが多い感覚

これも金科玉条的な話です。
クラスタって単語もそうですね。