Guileを使う

インストールは終わったguile.実行してみる.

$ /opt/guile/bin/guile
Backtrace:
In unknown file:
   ?: 126  (let* (# # # #) (resolve-module dir-hint-module-name #f) (and # #))
     ...
   ?: 127  (letrec (#) (dynamic-wind # # #) didit)
   ?: 128* [dynamic-wind #<procedure #f ()> #<procedure #f ()> #<procedure #f ()>]

うぎゃ

   ?: 129* [#<procedure #f ()>]
   ?: 130* (let* ((file #)) (cond (# => #) (# => #)))
   ?: 131  [#<procedure #f (full)> "/opt/guile/share/guile/1.8/ice-9/debug.scm"]
   ?: 132  [with-fluid* #<fluid 7> #f #<procedure #f ()>]
   ?: 133* [#<procedure #f ()>]
   ?: 134* [load-file #<primitive-procedure primitive-load> ...]
   ?: 135* [save-module-excursion #<procedure #f ()>]
   ?: 136  (let (# #) (dynamic-wind # thunk #))
   ?: 137  [dynamic-wind #<procedure #f ()> #<procedure #f ()> #<procedure #f ()>]
   ?: 138* [#<procedure #f ()>]
   ?: 139* [primitive-load "/opt/guile/share/guile/1.8/ice-9/debug.scm"]
In /opt/guile/share/guile/1.8/ice-9/debug.scm:
  22: 140* (define-module (ice-9 debug) :export ...)
In unknown file:
   ?: 141* [copy-tree ...
   ?: 142* [apply #<procedure #f args> (# :export #)]
   ?: 143  [#<procedure #f args> (ice-9 debug) :export ...]
   ?: 144  (quasiquote (eval-case (# #) (else #)))
   ?: 145* (compile-define-module-args args)

<unnamed port>: In expression (compile-define-module-args args):
<unnamed port>: Stack overflow
$

何だこりゃ.

で,調べてみた.

解決法

メーリングリストアーカイブを漁ると,ビルド時に CFLAGS で最適化をかけないとダメな場合もあるよ.とか 64bit環境だと,想定の半分しかスタック確保されないかもよ,とか.もうカンベンしてくれよ.
結局,こんな感じで ad hoc に逃げた.

; ~/.guile
(debug-set! stack 40000)