- gohmorihara
- 2464
- 0
- 2
- 0
パターンマッチが単なる条件分岐と比べて、どこが革新的に違うのかが未だによくわからない。確かに便利ではあるんだけど、そこまで言語的に重要な概念なんだろうか? RT @kmizu: 何が言いたいかというと、やっぱりパターンマッチは欲しいよねというありきたりな話です。クロージャの有用性
2010-02-16 23:37:40@tadayosi Scalaのパターンマッチは、評価順序を規定しない。原理的にはパラレルに実行できるから、今後のマシンとコンパイラの進歩ですごく効率が上がる。もちろんデメリットもあって、それはパターンが排他的である必要がある点。いや、浅学の勘違いかもしれないけど。
2010-02-16 23:44:03@gohmorihara バターンマッチは、パターンをアプリオリに指定しなきゃいけないのが不満。パターンを見出すプロセスを軽視していない?
2010-02-16 23:47:16もちろんしてよい。でも MECE 構造は、OCP と相性が悪い。RT: @gohmorihara: @holic イテレーティブにしてはいけないの?
2010-02-17 00:35:06@holic CEの必要はないのでは? ワイルドカードに_とかあるし。なにより、MEの必要もないのが優秀な同僚によってあかされました! えへへ。
2010-02-17 00:59:23ワイルドカードが使えるなら CE はいいや。でも ME は本当にいいの?RT: @gohmorihara: @holic CEの必要はないのでは? ワイルドカードに_とかあるし。なにより、MEの必要もないのが優秀な同僚によってあかされました! えへへ。
2010-02-17 01:36:42@holic 「書かれた順に1つ1つのパターンを試して評価する。最初にマッチしたパターンが選択され」って『Scalaスケーラブルプログラミング』に書いてある。個人的には気に入らんけど。これじゃ同期処理しないとコンカレントにできない!
2010-02-17 01:49:52パターンマッチについては、PSO の8章、コップ本の15章、24章あたりかな。部分適用関数になるのか? RT @gohmorihara: @glad2121 そなの? ちと調べてみる。I'll be back!
2010-02-17 00:38:18コップ本の15章、P.250 の最後に「書かれた順に1つ1つのパターンを試して評価する」と書かれています。 RT @gohmorihara: まだ、Scalaのcaseの評価順の裏が取れない。
2010-02-17 00:43:04一応言っておこう。Scalaのcaseはパターン内で関数呼び出しがあり得ないから、マッチは原理上並列処理できる。パターンがかぶる場合は、マッチ後の処理を選択するために同期しないといけない。けど、マッチ自体は並列処理できるはずよ。
2010-02-17 02:11:42