タグ

ブックマーク / lispuser.net (4)

  • LISPMEMO

    (defpackage :charguess.cffi (:use :cl :cffi) (:export :guess)) (in-package :charguess.cffi) (load-foreign-library "/home/onjo/lisp/user/charguess/libcharguess/libcharguess.so") これにはいくつかやり方があって、FFI 経由で関数を呼び出す Lisp 関数を定義する方法と、 ;; パターン1: Lisp 関数を定義して使う (defcfun ("CharGuessInit" char-guess-init) :int) (defcfun ("GuessChardet" guess-chardet) :string (str (:pointer :uchar))) (defcfun ("CharGuessDone" ch

  • TOP PAGE

    LISPUSERTOP PAGELisp isn't a language, it's a building material. Lisp 情報サイト LISPUSER へようこそ。 このサイトでは日語による Lisp 関連情報を発信してゆきます。 Common Lisp が中心ですが、Emacs Lisp や Scheme、その他 Lisp 方言などもまとめて扱います。

  • CLISP 拡張モジュール開発ガイト

    CLISP では、Lisp のみでは難しい(シビアな性能が要求される処理や、既存の C のライブラリを使いたい場合)状況に対応するために いくつかの手段が提供されています。 拡張モジュール Foreign Function Interface (FFI) 拡張モジュールは、C で Lisp 機能を作成し、CLISP にリンクすることによって拡張を実現するものです。 FFI は実行時に共有ライブラリをロードして使用する機能です。なんだか似たようなものに聞こえるかもしれませんが、 この二つの機能の違いについては、次の節で紹介します。 この二つの機能は、 CLISP Impnotes の Trade-offs: FFI vs. C modules の節でつぎのように比較されています: 速度: 拡張モジュールのほうが有利 (FFI にはオーバーヘッドがある。また、C モジュールだとたとえば 32b

  • Emacs による Lisp Hacking

    SLIME の公式ページ から入手可能です.現在は ArmedBearCL, AllegroCL, CLISP , Corman Lisp, CMUCL, ECL, LispWorks, OpenMCL, SBCL, Scieneer Common Lisp といった処理系に対応.( Scheme48 に対応した SLIME48 もあります) 別プロセスで起動した lisp 処理系とソケット経由で通信する 関数の引数表示 シンボルの補完機能 ( **例:** ``m-v-b TAB => multiple-value-bind`` ) コマンド一発で HyperSpec が引ける コンパイラの note, warning, error をソース上で示してくれる(下線が引かれて,カーソルを合わせると詳細がでる) 親切なデバッガ(バックトレース上でカーソルを合せると詳細が表示されたりとか) 現

  • 1