9/13 夕方 ~深夜 の Scala。

Scala に関するいろんな話題が飛び交ってたのでまとめました。時間軸にすると到底把握しきれないので話題ごとに分離してあります。全部に絡んでる @kmizu さんのパワフルさに脱帽です。
15
kmizu @kmizu

@syamino うーん。どうなんでしょうか。パターンマッチの制御順って単純に上から下に流れていくので、そんなにわかりにくくないと思います。 #scala

2010-09-14 00:12:37
kmizu @kmizu

Scalaの型システムは複雑だが、よく考えて整理された複雑さであって、とっちらかって汚いような印象は受けない。 #scala

2010-09-14 00:06:15
kmizu @kmizu

タプルと複数引数のメソッドが同一視できないとか、0引数とUnitを引数に取るメソッドが同一視できないとかはJavaとの互換性のためにad hocに導入された複雑さであり、本来的には要らない複雑さだ。 #scala

2010-09-14 00:07:19
kmizu @kmizu

あとは、シンタックスシュガーはそれなりにあるけど、これはコア言語自体の複雑さを増大させるわけじゃないし、それほど問題ではないと思う。 #scala

2010-09-14 00:11:05
Nobuo Yamashita @nobsun

@kmizu そうなんですか!?Haskellの型システムから見ればこれらは区別されているのがシンプルで自然な感じで,区別しないほうがad hocに感じます.

2010-09-14 00:12:08
kmizu @kmizu

@nobsun 複数引数というところで誤解を招いた気がしますが、Scalaにおける複数引数のメソッドってのはカリー化された形式じゃなくて、全部の引数を与えないとcallできないタイプです。ので、タプルを引数に取るメソッドと理論的には区別する必要が無いはずなんです。 #scala

2010-09-14 00:16:08
kmizu @kmizu

@nobsun Unitについても同様で、Scalaで0引数のメソッドというのはHaskellで単にx :: Tな変数を定義するのと異なり、副作用を持ち得ますので、これもやはりUnitを引数に取るメソッドと同一視するのが自然です。 #scala

2010-09-14 00:18:19
くっくっkura 🇯🇵🦀 @PG_kura

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

2010-09-14 02:13:49
7594591200220899443 @shyouhei

@kmizu 実行時の挙動なんか誰も気にしてないってだけでしょう。

2010-09-13 18:31:49
7594591200220899443 @shyouhei

「機能」ってなんだろうなあ。もしもとの発言が"functions"と言ったのを機能と訳したのだとしたら、べつの意味だった可能性がある。 #ruby #scala

2010-09-13 18:33:30
kmizu @kmizu

@shyouhei うーん。そうですか?

2010-09-13 18:37:38
7594591200220899443 @shyouhei

まあ正直ホント中身がどうなってるとか普通のプログラマからすればマジどうでもいいです。もとの発言者が普通かはともかく。言語なんてブラックボックスです。ごく普通にプログラムしてる限りは。 #scala #ruby

2010-09-13 18:39:27
7594591200220899443 @shyouhei

あるプロダクトを何で書くかという話になったときに「実装がきれいだからunlambdaで」とか言い出すやつおらんもん。実経験上。 #scala #ruby

2010-09-13 18:42:07
7594591200220899443 @shyouhei

だからといって #ruby の実装が汚くても良いというつもりはないが、それはもはや矜持の部分ですから。俺がそう思っているというのは他人に押し付けるべきものではない。言語がうまく実装されているべきとか他人に押し付けるのは違うと思います。 #scala

2010-09-13 18:45:15
kmizu @kmizu

@shyouhei 実装がきれいかどうかというのと、実行時の挙動が(一定以上に)複雑かどうかというのは、関係ないとは言えないですが、同じとも言えないような…。

2010-09-13 18:49:34
7594591200220899443 @shyouhei

@kmizu ああごめんなさい。確かに話がずれてしまった。

2010-09-13 18:50:43
くっくっkura 🇯🇵🦀 @PG_kura

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

2010-09-14 02:13:49
@okomok

例外を全部キャッチしてOptionにするmethod、というのはナシなのかな #scala

2010-09-11 04:25:52
@okomok

ARMのモナドは try-catchでforeachの中身を囲んだTraversable と考えるだけでいいみたいだ #scala

2010-09-13 22:09:45
@okomok

Scala版ARM完成(テストなし)

2010-09-14 01:05:45
kmizu @kmizu

最近、 .@okomok さんが書かれているScalaライブラリのソースを興味深く眺めている…。特にメタプログラミング周りのコードは参考になる。 #scala

2010-09-14 01:09:05
kmizu @kmizu

@okomok scala.util.control.Exceptionが求めてるものだったりはしないでしょうか。 #scala

2010-09-14 01:11:42
@okomok

@kmizu それがARMですか? サンプルないのかな

2010-09-14 01:14:19