Source of Nothingness - cons

* Menu

[[About:self:AboutPage.txt]] | [[Profile:file/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:lisp/]] | [[あんてな:listall]] | [[■:lisp]] | [[buzz:files/southly#buzz]]

* 2009-12-20 :

#define XDEF(a, b, c, d, e, f, g) {a, b, c, d, e, f, g}

#define XDEFSF(a, b, c) XDEF (a, b, c, 2, 0, FFspecial_form, 0)
#define XSI_DEFSF3(name) XDEFSF (STR (name), "Fsi_" STR(name), "Ssi_" STR(name))

#define XDEFUN(a, b, c, d, e, f) XDEF (a, b, c, d, e, f, 0)
#define XDEFUN3(name, req, opt, f) \
  XDEFUN (STR (name), "F" STR (name), "S" STR (name), req, opt, f)
#define XSI_DEFUN3(name, req, opt, f) \
  XDEFUN (STR (name), "Fsi_" STR(name), "Ssi_" STR (name), req, opt, f)

#define XVDEF(a, b, c) {a, 0, b, 0, 0, c}
#define XDEFCONST(a, b) XVDEF (a, b, SFconstant | SFspecial)
#define XDEFCONST2Q(name) XDEFCONST (STR (name), "Q" STR (name))
#define XDEFVAR(a, b) XVDEF (a, b, SFspecial)
#define XDEFVAR2(name) XDEFVAR (STR (name), "V" STR(name))
#define XSI_DEFVAR2(name) XDEFVAR (STR (name), "Vsi_" STR (name))
#define XMAKE_SYMBOL(a, b) XVDEF (a, b, 0)
#define XMAKE_SYMBOL2(name) XMAKE_SYMBOL (STR (name), "V" STR (name))
#define XMAKE_SYMBOL2QC(name) XMAKE_SYMBOL (STR (name), "QC" STR (name))
#define XSI_MAKE_SYMBOL2(name) XMAKE_SYMBOL (STR (name), "Vsi_" STR(name))

[[(ReadMore...) index.rb?1261321159.txt]]

* 実践CLを読了

一番の収穫はCLOSについての理解が深まったこと。
xyzzyで使えないものだから、ちゃんと勉強したことが無くて:beforeとか:afterとかよく分かってなかったんだけど、やっと分かった。(とりあえず使ってみようと思うくらいには)
メソッド結合かぁ〜 よく考えたもんだなぁ〜
C++やJavaなんかのメソッドがクラスに属しているオブジェクト指向とは全くの別物だ。頭を切り替えて使わないといけない。

帰省中に付箋を付けながら読んでいたので、拾い上げておく。
[[(ReadMore...) index.rb?1218973151.txt]]

* 2008-03-12 :

(defun foo (i l)
  (if (>= i 5)
      l
    (foo (1+ i) (cons (lambda () i) l))))
(mapcar #'funcall (foo 0 nil))
=>(4 3 2 1 0)

* 2008-03-09 :