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

目標は遅延評価と無限リストで、サンプルにあるように素数の無限リストを計算させることを目指して書きました。型推論、インデント、IOは無視。目標がきれいにkinabaさんとかぶってます。結局終了から35分過ぎたところで完成。比較演算を定義してないのでたらいまわし関数はかけません。

言語はjavascriptで、文法をkmyaccに任せました。人が集まるので公開しやすい言語を選びました。もともとactionscriptにしようと思っていましたが身の危険を感じて日和り、javaを試したところ飽きたのでjavascriptです。今までjavascriptは1行ずつしか書いていないので、今日だけで普段の数百倍ものjavascriptを書いたことになります。感想は次の二行に尽きます。

  • firebugは便利すぎる。
  • それでも型がない言語で言語処理を書くのは無謀。

そして、この会を開催してくださったyukobaさんとサイボウズラボの皆さんに感謝です。

スポンサーサイト
コメント
この記事へのコメント
data NumList = NumList Number NumList | NumNil
take = λn -> λxs -> case n of 0 -> NumNil; n -> case xs of NumNil -> NumNil; NumList y ys -> NumList y (take (n-1) ys)
tail = λxs -> case xs of NumList h t -> t
fib = NumList 1 (NumList 1 (zip fib (tail fib)))
zip = λxs -> λys -> case xs of NumList xh xt -> (case ys of NumList yh yt -> NumList (xh + yh) (zip xt yt))
? (take 10 fib)

おなじく無限リスト+遅延評価ってことで。
何故かバックスラッシュがコメントから拭われてしまう…
2008/03/02(日) 15:52 | URL | nushio #HqPWp9J6[ 編集]
おお、これはよいですね。少なくとも90個くらいまでは一瞬で出てくるので、メモ化は大丈夫みたいですね。
2008/03/02(日) 23:12 | URL | Gus #-[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/305-9be84340
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。