#:g1: lisp 1.5でL-99 (P01 最後のペアを返す)

Posted 2008-04-13 11:37:00 GMT

-(http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html)
今年は、LISP生誕50年であり、色々やるなら、やはりlisp 1.5は外せないだろう…、ということで…。
全部大文字で書いてますが、LISP 1.5も大文字と小文字は区別せず、エミュレータに読み込ませるソースは小文字で書いても大丈夫なので、大文字にする必要はありません。
気分というか趣味の問題ですね…。

; FUNCTION   EVALQUOTE   HAS BEEN ENTERED, ARGUMENTS..
; LAST
;
; ((FOO BAR BAZ))
;
; END OF EVALQUOTE, VALUE IS ..
; (BAZ)

DEFINE(( (LAST (LAMBDA (LST) (COND ((NULL (CDR LST)) LST) (T (LAST (CDR LST)))))) ))

LAST((FOO BAR BAZ))

comments powered by Disqus