「メモ(第2章)」の編集履歴(バックアップ)一覧に戻る
メモ(第2章) - (2007/08/22 (水) 23:56:39) のソース
第2章で気付いた点・残しておきたい内容をここに書いています。 ---- ** Gaucheでのnil(2007/1/27) 本書で空のリストを表す'nil'は、Gaucheでは'()'になっている。 ** intelMacでGauche-gl 0.4.1をインストールするには(2007/5/13) Gauche-gl 0.4.1をintelMacでインストールしようとしても、次のようなエラーが出て失敗してしまう。 |$ sudo port install gauche-gl&br()gauche-gl.c:421: error: 'GLUtriangulatorObj' undeclared (first use in this function)&br()&be() :(以下いろいろなエラー)| いろいろと調べてみたところ、Gauche-devel-jpで次の2つの記事を見つけた。 -./configure.inの71 行めで"powerpc-apple-darwin*)"を"*-apple-darwin*)"に変更([[リンク>http://lists.sourceforge.jp/mailman/archives/gauche-devel-jp/2006-March/001540.html]]) -./configure後にMakefileでCFLAGS,LIBS,glut_LIBS設定を変更([[リンク>http://lists.sourceforge.jp/mailman/archives/gauche-devel-jp/2006-May/001605.html]]) 実施してみたところ、無事にインストール成功。これ、将来のリリースでは修正されるのだろうか。 ** スタックトレースを出力する方法 バックトレースを出力する方法でいつも悩んでいたので、ググって調べてみた。そうしたら[[結城浩氏のSICPサイト>http://sicp.g.hatena.ne.jp/hyuki/20060507/trace]]で説明があって、僕も簡単に利用できるようになったので紹介。 +まずhttp://homepage.mac.com/skimu/ggc/からggc-rel-0-17.tgzをダウンロード +展開したファイルに「trace」というフォルダがあるので移動 +ここでmake。Macだとsudoを付けないとインストール先フォルダ(/opt/local/share/gauche/site。なければ自動的に作成されます)へのアクセス権がなくて駄目だった これだけです。使うときは > gosh> (use ggc.debug.trace) > #<undef> > gosh> (untrace) > () > gosh> (trace partial-tree) > #<closure #f> > gosh> (list->tree '(1 2 3)) > 0:(partial-tree (1 2 3) 3) > 1: (partial-tree (1 2 3) 1) > 2: (partial-tree (1 2 3) 0) > ->(() 1 2 3) > 2: (partial-tree (2 3) 0) > ->(() 2 3) > ->((1 () ()) 2 3) > 1: (partial-tree (3) 1) > 2: (partial-tree (3) 0) > ->(() 3) > 2: (partial-tree () 0) > ->(()) > ->((3 () ())) > ->((2 (1 () ()) (3 () ()))) > ; trace: partial-tree has been called 7 times. > (2 (1 () ()) (3 () ())) > gosh> とすればオーケー。ちなみにggcの他のファイルは必要ありません。traceフォルダもインストール後はコピーされているので削除可です。 ただ、この手続きは同時に1つの手続きしかトレースできないみたい。なぜだろう?