週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

またカリフォルニアの中にいます。

飛行機の中でhgusのソースを眺めていたら、データ型をあつかっている部分があまりに酷いので驚いてしまいました。当日、ラムダを実装し終ってから突貫工事でつけたのでさもありなんといったところですが。まず判定がザルです。正直なにも判定していないので、想定された型とちがう型をもつ引数をいれてもいいです。それから引数の数はチェックしている場所としていない場所があります。これにひっかかるプログラムはどこで異常停止するのでしょうか。

ところでこの場合、型宣言の意味はあるのでしょうか。静的型がない場合にはデータ型は(list 'symbol data1 data2...)ぐらいの意味しかもたないような気がしています。


I'm in Mountain View, CA again.

During the flight, I was checking the source file of 'hgus', the Haskell interpreter. I got really surprised at the part which handles data declaration. It checks nothing. It doesn't check the type of the parameters at all, it seldom checks the number of the parameters.

I suspect that the data declaration declares nothing in this case. Without static type checking, user generated data is just a list which starts with a symbol followed by arguments.

A 120 0 (B hoge)  ===  ('A 120 0 ('B hoge ))
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/307-dd788e9d
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。