Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2007-05-23


.2

| 23:00 | .2 - わだばLisperになる を含むブックマーク はてなブックマーク - .2 - わだばLisperになる

(;´Д`)「こ、ここは?」

( -人-)「ジャンク屋という所は情報を集めるのに便利なのでな。ここに住み込みをさせてもらっている。こいつをCommon Lispの記録回路に取り付けろ。MaclispDOを参考に開発した」

(;´Д`)『こ、こんな古い物を。父さん、酸素欠乏性にかかって』

( -人-)「すごいぞ、Common Lispの戦闘力は数倍に跳ね上がる。持って行け、そしてすぐ取り付けて試すんだ」

(;´Д`)「はい。でも父さんは?」

( -人-)「研究中の物がいっぱいある。また連絡はとる。ささ、行くんだ」

(;´Д`)「うん」「父さん、僕、くにで母さんに会ったよ」.......

(defmacro old-style-do (&body body)
  (cond ((and (atom (car body)) (not (null (car body)))) ;First format (1969)
	 `(do ((,(car body) ,(cadr body) ,(caddr body)))
	      (,(cadddr body))
	   . ,(cddddr body)))
	((not (cadr body))			;Third format (1973)
	 `(prog ,(mapcar #'(lambda (spec) `(,(car spec) ,(cadr spec))) (car body))
	    . ,(cddr body)))
	('t				;Second format (1972) - Current Format
	 `(do . ,body))))
  
;; Usage
(old-style-do i 0 (1+ i)		;First Format
	      (= i 10)
	      (print "foo"))

(do ((i 0 (1+ i)))			;Second fomat
    ((= i 10) 'foo)
  (print "foo"))

(old-style-do ((i 0) (j 1)) nil		;Third Format
	   l  (and (= i 10) (return (values "PROG! PROG! PROG!" i j)))
	      (print "foo")
	      (setq i (1+ i))
	      (go l))

ゲスト



トラックバック - http://cadr.g.hatena.ne.jp/g000001/20070523