Lazy-K

BfLazyK

Lazy K のオリジナルの配布物には bf2lazy.c というファイルが含まれていて Brainfuck プログラムを Lazy K にコンパイルできるのですが、逆に Brainfuck で Lazy K のプログラムを動かす方法はこれまで存在しませんでした。Lazy K で Brainfuck の配列のよ…

Lazy K で Lisp インタプリタ

https://github.com/irori/lazyk-lisp http://lazy-k.appspot.com/p/ptHm_GwfAYLazy K でも Lisp インタプリタを作ってみました。機能は Unlambda 版とだいたい同じですが call/cc が無くなり、代わりに set でグローバル変数に代入できるようになりました。…

Hello, world!

http://d.hatena.ne.jp/rst76/20131109/1383953947399bytes の解説書くのをサボっていたら id:rst76 さんが解読して記事にしてくださいました。なんかすいません…そして 365bytes! ついに Grass より上に。 http://golf.shinh.org/p.rb?hello+world#ranking…

Lazy K Playground

Lazy K もブラウザ上で実行できるようにしたいなぁ、でも JavaScript でインタプリタ実装するの面倒だなぁ、と思っているうちに世の中が進歩して簡単になったので作ってみました。http://lazy-k.appspot.com/いくつか例を。http://lazy-k.appspot.com/p/kyYM…

Lazy K インタプリタ修正

この前作ったインタプリタ にバグを見つけてしまいました。特定の位置で GC が走ると、出力リストの cdr を辿る処理が動かなくて、ごく希に同じ文字を2度続けて出力してしまってました。修正したソースコードはこちら。 lazyk.c (github) ゴルフ場のインタ…

Lazy K インタプリタを作ってみた

あなごるの sort characters を挿入ソートで書いたらタイムアウトになって悲しかったので、速度重視で作ってみました。 lazyk.c (github) 公式のインタプリタ: lazy sort+characters.lazy 作ったやつ: ./lazyk sort+characters.lazy 公式のはノードのメモリ…

Haskell → Lazy K トランスレータ

Haskell Hackathon が楽しそうだったので、昔作りかけて放置してあった Haskell コンパイラを引っ張り出してきました。せっかくなので、最もタメになる初心者用プログラミング言語であるところの Lazy K へのトランスレータにしてみました。 hs2lazy.tgz (…

Drop+first+line

言及されてたので解説。 ソースはこんな感じ。 (load "./lazier.scm") (load "./prelude.scm") (lazy-def '(main input) '(input (lambda (hd tl) (((hd (lambda (x) (x (k i))) (k i)) cdr) tl)))) (print-as-unlambda (laze 'main)) やりたいことは、 先頭…