ログ

見る価値ありません

Lisp

SICP 練習問題1.19 フィボナッチ数を対数時間で求める

から また から よって (define (even? x) (= (remainder x 2) 0)) (define (fib n) (fib-iter 1 0 0 1 n)) (define (fib-iter a b p q count) (cond ((= count 0) b) ((even? count) (fib-iter a b (+ (* p p) (* q q)) (* q (+ (* p 2) q)) (/ count 2))) …

シェル芸でCommon Lispを使うためのメモ

roswell/sbcl-binを使う場合 パイプ出力は*standard-output*に吐く。明示的に指定しないとパイプにはつながらない。またrosコマンドの引数の最後に-qオプションが必要。 パイプ入力は普通に*standard-input*から読む。 $ echo "(1 2 3)" | ros run -e '(prin…

Common Lispでechoサーバ

環境 処理系 SBCL ライブラリ usocket コード (ql:quickload "usocket") (defun echo-server (port) (let* ((server-socket (usocket:socket-listen "localhost" port :reuseaddress t)) (stream (usocket:socket-stream (usocket:socket-accept server-sock…

Rubyで純Lispもどきを書いた

参考ページ t.co 特にlambdaの実装を参考にした コード github.com テストを書いてないのでバグが一杯ありそう 次はGCのない言語で実装したい