Scala の enum についての議論

Scala の enum についての一連の議論です。  ・ enum の使いにくさについて  ・ 静的な型付けについて  ・sealed class, case class, Java の enum といった代替手段との比較など。 途中から enum とは何か、型付けとは何か、理想的な enum 云々の話に展開しています。 続きを読む
3
前へ 1 ・・ 7 8
📙🔭✨NISHIMOTO Keisuke @keisuke_n

まぁ理解する必要はないので、いいのですけど。

2010-06-05 13:13:11
📙🔭✨NISHIMOTO Keisuke @keisuke_n

個別の細かいところを論じてもしょうがないと思っていて、今回はenum型を多少間違って解釈していたけど、欲しいのは気軽に扱える定数かな。列挙だから特定の数で値が決まらないといけないし。ただ列挙そのものはあまり重要視してない。

2010-06-05 13:15:09
📙🔭✨NISHIMOTO Keisuke @keisuke_n

どちらにしてもScalaのEnumerationは私が欲しい条件をほとんど満たしていない。

2010-06-05 13:16:08
非実在naka aki @naka_aki_spl

論点を混ぜると、壊れることもあれば生まれることもある。実のところ論点を分けてもそれは同じことであって、つまり何をやったとしても非破壊じゃないんだよね。(あえて言えばログを残せば途中からフォークすることは可能だという程度で)

2010-06-05 13:17:33
非実在naka aki @naka_aki_spl

(再掲) Delphiとかでがっかりだったのは、case文ではObjやポインタで識別分岐させれないって点。というのはcase文が「順序型」用なので。しかしこの定義は変だと思う。caseに必要なのは「識別可能」であって「順番」はどうでもいいはずだ。同異は必要だが大小は不要だ。

2010-06-05 13:20:20
非実在naka aki @naka_aki_spl

ていうか俺の知る範囲では一番お洒落なのはRuby>case云々

2010-06-05 13:20:39
kmizu @kmizu

自分としては、sealed trait + case classesの構文糖があればそれで十分。MLとかHaskellのvariantっぽく書ける構文を用意して、sealed trait + case classesに展開するとか。

2010-06-05 13:23:23
📙🔭✨NISHIMOTO Keisuke @keisuke_n

とりあえず全体的な話はこんなところです。あとは議論の過程でいくつか日記にまとめてますが。また時間があれば追記します。

2010-06-05 13:23:23
kmizu @kmizu

@keisuke_n うーん。自分の場合は、まず、「理想はココ」の前に、現状認識の点で食い違いを感じたので、その辺の疑問を解決しておきたかったのです。別に無意味に細かくこだわってたわけではなく。

2010-06-05 13:24:21
📙🔭✨NISHIMOTO Keisuke @keisuke_n

個人的にはsealedほげで十分。 @kmizu も言ってたけどこれのシンタックスシュガーがあればいい。ただ文法追加がいいとは思わないのでシンタックスシュガーについてはまぁやめておいたほうがいいと思ってる。

2010-06-05 13:36:02
Yasushi Abe @yasushia

例えば列挙型の引数の場合、型は推論できるはずだから省略できたらいいな、と思った。まぁ些細なことだけど。

2010-06-05 13:55:43
前へ 1 ・・ 7 8