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 |

2008-02-01

ArcでL-99 (P01 my-last)

| 19:21 | ArcでL-99 (P01 my-last) - わだばLisperになる を含むブックマーク はてなブックマーク - ArcでL-99 (P01 my-last) - わだばLisperになる

今後、ArcでSICPに挑戦してみたり、PAIPに挑戦してみたりと色々ブログ上などで挑戦記事が増えると予想しているんですが、自分は、ArcL-99に挑戦してみることにしました!

といっても、Common Lispでも84問中64問までしか解答できていないので、まあ、途中で挫折すると思うんですが(笑)

まったり進行で、1エントリ一問って感じで挑戦して行きます。完成は、10年後位を目途に。

それとは別に、グループで掲示板が使われないのがもったいない気がするので、Arcで、SRFI-1を作ってみるというスレを立ててみました。

はてなユーザの方ならどなたでも書き込めるので、暇潰しにコードでも書いて行って下さいませ!

;; L-99 (1)
;; my-last
(def lasT (lst)
  (if (atom:cdr lst)
      lst
      (lasT:cdr lst)))

;; 伝統的なlispのlastと同じ動作
(lasT '(foo bar baz))                   ;-> (baz)
(lasT '(foo . bar))                     ;-> (foo . bar)

;; Arcのlast (SRFIっぽい動作)
(last '(foo bar baz))                   ;-> baz
(last '(foo . bar))                     ;-> Error: "Can't take cdr of bar"