lisp

emacsでインクリメンタルな日本語検索と言っても限られた環境で

日本語変換にAnthyを使っていて,かつ.emacs.elに (load-library "anthy") (setq default-input-method "japanese-anthy") なんてしてemacsで日本語環境を構築してると,C-sでインクリメンタルサーチを行うときに日本語で検索できないと言う,まぁ普通はどう…

久々にLisp

いまだに3章までしか読めてないANSI Common Lisp.読めてないっていうか,読んでない.なんでだろう,時間はあるのに.まぁそれは置いといて,本を読んでいて出てきた,以下の3つの関数を定義してみた. > (union '(a b c) '(c b s)) (A C B S) > (intersect…

.emacs.elのload-pathに一気に追加する方法

emacs-railsがちゃんと動かなかったので,変に思って*Message*を見てみるとヘンテコなエラーが出てた.とりあえず自分の.emacs.elを読みながら変なとこを探してると,rails環境のためにload-pathを追加する,以下の部分を見てて気持ち悪くなった. (setq loa…

lambdaの役目

lambdaってのはオペレータではなくただのシンボルで,それはリストが関数であるかどうかを見分けるために,昔のLispの方言で使用されていたものだそうで. > (lambda (x) (+ x 1)) #<FUNCTION :LAMBDA (X) (+ X 1)> んで,関数を定義するdefunは,マクロ.ということは? > (setf a (lambda</function>…

テストも終了したので勉強再開

学校で,またANSI Common Lispを借りてきました.今回は一応日本語のヤツも借りてきたんですが,ペーパーバックな英語版(原著っていうのかな?)も一緒に借りてきました.ANSI Common LISP (Prentice Hall Series in Artificial Intelligence)作者: Paul Graha…

本を返さねば

ANSI Common Lispの返却期限が明日.なので,一旦返し,Lispのお勉強再開は春休み突入してからになりそう.てかなる.

ANSI Common Lisp 3章 「リスト」

チマチマと練習問題をやってみた. 2. もとのリストでの要素の並びを保持するように動作するunion (defun new-union (lst oth) (if (null lst) oth (funcall #'(lambda () (dolist (elt lst) (setf oth (remove elt oth))) (append lst oth))))) > (union '(…

popとpush

RubyのArrayにも,Common Lispにも,popやpushってありますよね.で,ちょっと使い方が違うので,これはなんだか面白いのでメモっておきます. Rubyだと RubyのArrayのpop,pushの挙動はこんな感じ. >> arr = [1, 2, 3] [1, 2, 3] >> arr.pop 3 >> arr [1, …

たくさんの関数

id:ha-tan:20061220:1166542507 すごいよ,Haskellすごいよ.こんな柔軟で読みやすいなんて!てか,何気にパターンマッチが素敵だなぁと改めて思う. きっとlispも悟れば,鼻歌を歌いながらエレガントなコードが書けるようになるに違いない…にもかかわらず,…

ANSI Common Lisp 2章「Lispの世界へようこそ」

練習問題があったので,解いてみた.