タグ

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

  • LISPMEMO

    LISPUSERLISPMEMOQ: How can you tell when you've reached Lisp Enlightenment? A: The parentheses disappear. -- Anonymous どう書く?のお題というと、こないだのメールのエンコードもなかなか厳しかったです。ライブラリが充実してないので。 で、 w-o-f TAB で with-open-file に補完、みたいな様子を見てもらうと 解く過程の Flash ムービー を撮ったのですが、 1分15枚の設定でやったら大失敗…。マウスの動きだけ妙に補完されて遅いし、タイプは荒い…。がっかり。 で、またまた Common Lisp には厳しいお題がでていました。 リフレクション系のお題の続編です。ローカル変数の内容を取得して連想配列(ハッシュ、辞書など)に詰めるコードを書いてください。 P

    kzfm
    kzfm 2009/03/19
  • LISPMEMO

    私が最初に見かけた Catalyst のサンプルが taskpad.jp みたいなのを Catalyst で作ってみる でした.Catalyst の感じがつかめて非常に参考になりました. そこで,最近入手した AllegroCL で似たような事をやってみようと思います. まぁ,偉そうな事いいながらマニュアル片手に調べながらちまちま書いてるわ けですが. まず,データを保持するクラスを定義します. (defclass user () ((uid :initarg :uid :reader uid) (password :initarg :password :reader password))) (defclass memo () ((tid :initarg :tid :reader tid) (uid :initarg :uid :reader uid) (body :initarg :b

    kzfm
    kzfm 2009/02/05
  • Common Lisp と 日本語 と 文字コード

    external-format の使い方がわかったところで、実用的には文字コードの判定処理が必要になる場合が多い。 external-format を知っただけでは、with-open-file の external-format に何を指定すればいいのか迷ってしまう。 で、いろいろ蘊蓄を語ろうと思ったのだが、ふと Gauche の文字コード判定処理を CL に移植して比較したところ 性能、精度とも私の手作りのものより断然よかったのでこっちを採用。 Gauche のソースの ext/charconv/guess.scm, ext/charconv/guess.c, ext/charconv/guesstab.c が日語エンコーディング判定処理だ。 guess.scm で状態表 guesstab.c を出力し、 C コンパイラで guess.c guesstab.c をコンパイルしてモジュ

    kzfm
    kzfm 2009/02/05
  • 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 をソース上で示してくれる(下線が引かれて,カーソルを合わせると詳細がでる) 親切なデバッガ(バックトレース上でカーソルを合せると詳細が表示されたりとか) 現

  • SBCL - Steel Bank Common Lisp

    内部実装についての詳細に興味のある人は SBCL Internals という CLiki から読んでゆくと良いでしょう.0.9.9 から Win32 対応パッチのマージが開始 されたので,今後は Windows でも SBCL が使えるようになるのかもしれません ね.現在でも SBCL のビルド程度は可能ですが,添付のモジュール等の対応具 合もあり趣味人以外が使える段階ではないです. 0.9.17 から、MSI 形式のインストーラが用意されて、インストールが楽になり つつあります。まぁ、Win32 上ではスレッドも使えないうえ、 Win32 サポート はほとんどないので、CLISP に比べてあまりメリットがありませんが、一応 SLIME 環境も構築できています。イメージのサイズが大きすぎて未だに PHS 回 線しかない私には配布できません。 http://prdownloads.sourc

    kzfm
    kzfm 2008/12/25
  • LISPMEMO

    LISPUSERLISPMEMOLisp is a programmable programming language. -- John Foderaro 普段は Common Lisp ばっかりですが,ネタがないので planet-scheme で見か けたネタより.今 planet-scheme につながらないので細部は微妙にちがうかも しれないです. (define (solve) (let* ((x (in-range 0 100)) (y (in-range 0 100)) (z (in-range 0 100))) (if (= (* x x) (+ (* 2 y) z 500)) (list x y z) (fail "no solution")))) (display (solve)) のような感じでした.要するに if の条件を見たす x y z の組み合わせを返す とい

    kzfm
    kzfm 2007/10/30
  • 1