エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Unlambda インタプリタを書いてみた (改) - まめめも
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Unlambda インタプリタを書いてみた (改) - まめめも
一年前に Ruby 1.9 で極力シンプルな Unlambda のインタプリタを書いたんですが、yhara さんにメールで... 一年前に Ruby 1.9 で極力シンプルな Unlambda のインタプリタを書いたんですが、yhara さんにメールでバグを指摘されてしまったので、いろいろ修正しました。 まず、d (delay) と入出力のないシンプル版。 require "continuation" def unlambda_subset(s) t = ->(s) do c, *s = s r = case c when ?`; f, s = t[s]; g, s = t[s]; f[g] when ?s; ->(f){ ->(g){ ->(x){ f[x][g[x]] } } } when ?k; ->(x){ ->(y){ x } } when ?i; ->(x){ x } when ?c; ->(f){ callcc{|c| f[c] } } when ?v; v = ->(x){ v } when ?e;