🔙 Back to Top

Thu Aug 8 09:58:05 JST 2013

日記

Wikipediaに書いてるならば、覚えなくても良いはず

いつかもらったチョコレート、食べたら呪われそうで、 捨てたら捨てたで呪われそうで、食器棚の上に置いて忘れることにした. 引越しの準備をしていて今、見つけた.賞味期限は4/30となっていた. 3ヶ月以上前だ. 意外と食べれる 食べてみたけど、賞味期限の切れたような味はしない 今まで賞味期限の切れたモノを食べて、いかにも悪いという味を覚えた ことはないけれど

香り鰹節、味とまと

Thu Aug 8 18:51:34 JST 2013

日記

午後にはみんな消えていた

人生チョロい 資本主義バンザイ

艦隊これくしょんはHTML5から出直せ

関数とその他の変数の名前空間が違うとかいうLISP-2 っていう仕様、まさしく100害あって1の利もないでしょ

[12]> (defvar id-var (lambda (x) x))
ID-VAR
[13]> (funcall id-var 4)
4
[14]> (mapcar id-var '(1 2 3))
(1 2 3)

[15]> (defun id-fun (x) x)
ID-FUN
[16]> (id-fun 3)
3
[17]> (mapcar #'id-fun '(2 3 4))
(2 3 4)

なんのため? 関数と同じ名前の、中身は違った変数とか作るの? 難読化ですかね

(defmacro define (f argls &body body)
  `(progn
      (defun ,f ,argls ,@body)
      (defvar ,f (lambda ,argls ,@body))))
[2]> (define f (x) (* x x))
F
[3]> (f 4)
16
[4]> (mapcar f '(1 2 3))
(1 4 9)
[5]> f
#<FUNCTION :LAMBDA (X) (* X X)>
[6]> #'f
#<FUNCTION F (X) (DECLARE (SYSTEM::IN-DEFUN F))
  (BLOCK F (* X X))>

よし、これで私も Common Lisp が書けるようになるぞ!