AttaLambda - 純粋なラムダ計算で型とデータを表現する言語
Show HN: AttaLambda: a language where types and data are made of untyped lambdas
AttaLambdaは、純粋な型なしラムダ計算を基盤にした小さなプログラミング言語です。単項関数と適用だけで計算を組み立てつつ、読みやすい構文、正確な有理数、実行時の型チェックを追加。入出力はホスト境界を越えて行われます。例えば、`(def square x = (mult x x))` と `(print (map square (list 1 2 3 4)))` で `[1, 4, 9, 16]` を出力。言語の探索、サンプル、入門ガイドが公式サイトで提供されています。
型とデータさえも型なしラムダ計算で表現するという、純粋さと実用性を両立させた言語です。
- RedRackham
お見事!
私は本の形式を試すために、小さなラムダ計算インタプリタを書きました。ちょっとだけズルをして、以下のものを追加しました:
def <name> = <exp> ==> 評価前に <name> を <exp> で置換する
if <exp1> then <exp2> else <exp3> fi ==> ((<exp1> <exp2>) <exp3>)
これでより読みやすくなります。
リストと再帰を実装するところまで行った人は何人かいると思いますが、動的型の実装者にお目にかかったのはあなたが初めてです。
ラムダ計算は楽しいと思います。私の本は関数型プログラミングについてのもので、理論にはあまり役立ちません。理論についてはBarendregdtの「The Lambda Calculus. Its Syntax and Semantics」をお勧めします。
幸運を祈ります
Greg Michaelson
- rsrsrs86
これは面白くない。なぜなら、1) 単にプロンプトを共有すればいいだけだ:「Greg Michaelsonsの本をracketで実装する」 2) あなたは何も付け加えていない 3) ラムダ計算を学ぶ際に研究するのが面白いことのほとんどすべてを飛ばしているからだ
- ethan-winters
面白い