by shigemk2

当面は技術的なことしか書かない

GNU Guileを入れてみよう

概要。

SICPの環境を整えるための新提案。

GNU Guile (About Guile)

導入。

Fedora20だと

yum install guile guile-devel

Debian系や他のディストリにもパッケージはあると思うけど、各自検索で。Gaucheもそうだったけどgoshもguileもデフォルトでバックスペースが使えないのがいい加減面倒になってきたので、rlwrapでごまかした

$ rlwrap guile

トレースしてみよう

scheme@(guile-user)> (+ 1 1)                                                                               [18/226]
$1 = 2
(define (fact-recur n)
  (if (zero? n)
      1
      (* n (fact-recur (- n 1)))))
scheme@(guile-user)> ,trace (fact-recur 5)
trace: |  (#<procedure 2119a80> #(#<directory (guile-user) 1b27c60>))
trace: |  #(#<directory (guile-user) 1b27c60> fact-recur)
trace: (#<procedure 21258e0 at <current input>:6:7 ()>)
trace: (fact-recur 5)
trace: |  (fact-recur 4)
trace: |  |  (fact-recur 3)
trace: |  |  |  (fact-recur 2)
trace: |  |  |  |  (fact-recur 1)
trace: |  |  |  |  |  (fact-recur 0)
trace: |  |  |  |  |  1
trace: |  |  |  |  1
trace: |  |  |  2
trace: |  |  6
trace: |  24
trace: 120

qiita.com

GNU Guile (About Guile)

計算機プログラムの構造と解釈[第2版]

計算機プログラムの構造と解釈[第2版]

  • 作者: ハロルドエイブルソン,ジュリーサスマン,ジェラルド・ジェイサスマン,Harold Abelson,Julie Sussman,Gerald Jay Sussman,和田英一
  • 出版社/メーカー: 翔泳社
  • 発売日: 2014/05/17
  • メディア: 大型本
  • この商品を含むブログ (2件) を見る