2009-05-01から1ヶ月間の記事一覧

モジュール関連

gosh> (current-module) #<module user> gosh> (module-precedence-list (current-module)) (#<module user> #<module gauche.gf> #<module gauche> #<module scheme> #<module null>) Builtin Module: null このモジュールはR5RSで述べられている"null environment"に相当します。 R5RSの構文要素への束縛だけを含んだモジュールです。 Builtin Modul</module></module></module></module></module></module>…

quickrun.vim

vim

バッファ上のソースコードを実行 - MEMO:はてな支店 今後の課題 実行結果を分割ウインドウに出せるといいなあ http://d.hatena.ne.jp/katona/20070723/1185200165 と書いたままほったらかしにしている間に、この課題を解決+αしているものを発見。 Vim-users…

コロン

「:」をdefineしようとすると以下のエラーになる gosh> (define : cons) *** ERROR: Compile Error: syntax-error: (define : cons)R5RSには以下のように書いてある。 拡張アルファベット文字は、識別子の中で文字のように使用することができる。拡張アルフ…

QiII

Haskellの型推論が邪魔だった俺にはこれいいかも。 2. Lisp じゃなくて Qi で書く事の利点は何? * Qi II は CAR / CDR を強制しない。かわりに、パターンマッチを使う事ができる。典型的な Qi プログラムは Lisp プログラムと比較して非空白文字が40%程度に…

数式パーサその2

中置演算子とHaskell風の関数呼び出しをパースする処理をSchemeで書いてみた。 例えば以下のサンプルを実行すると11と6を表示する。 ( ~ a = 2 ~ b = a + 1 ~ print (a + b * 3) ~ fact n = n == 0 and 1 or n * fact (n - 1) ~ print (fact b) )実際には、…