English / Japanese
最終更新日: 2008年10月11日
dyncompとはgauche.cgen.cise(S式で表現されたC)で関数を作るためのライブラリです。この関数はTiny C Compilerにより、ネイティブコードにコンパイルされてから動作するため、高速な関数を作成することが可能です。
(use dyncomp) (define-cproc add (x::<int> y::<int>) (let* ((z :: int)) (set! z (+ x y)) (return (SCM_MAKE_INT z)))) (define-cproc sub (x::<double> y::<double>) (let* ((z :: double (- x y))) (return (Scm_MakeFlonum z)))) (define-cproc print-number (x::<double>) (printf "%f\n" x) (return SCM_UNDEFINED)) (print (add 1 2)) (print-number (sub 3 2)) (print (map (clambda (x::<int>) (return (SCM_MAKE_INT (+ x 1)))) '(1 2 3)))
dyncompを動作させるためにはGauche 0.8.14以降の環境が必要です。なお、動作確認は以下の環境で行いました。
MacOSX, Linux, FreeBSDではgauche-packageでインストールできます。
% gauche-package install --install-as=root dyncomp-0.2.0.tgz
Windowsでは、付属のbuild-dyncomp.cmdを実行してください。