タグ

ブックマーク / eel3.hatenablog.com (1)

  • SRFI-1のiotaっぽいものをCommon Lispで書き直してみた(その3) - 新・日々録 by TRASH BOX@Eel

    id:eel3:20090307:1236401934 のCommon Lisp版の自作iotaにはSchemeっぽさが残っているというか、Common Lispっぽさが足りていないと思う。 Schemeは末尾再帰の最適化が仕様に含まれているけどCommon Lispでは含まれていない、というのは有名な話で、だから末尾再帰を最適化してループに展開して欲しい場合は処理系依存の機能に頼ることになる。 しかしそんな軟弱な態度じゃマズイだろう、ということでCommon Lispではループ用のマクロが多用される*1。 ということで、ループマクロの勉強を兼ねて書き直してみた。 まずはdotimes。iotaの第1引数はcountという名前だから、やはり繰り返す回数が大切なんだろうと考えて、dotimes。 ; dotimes 版その01 ; let が余分な感じに見える (defun iota (co

    SRFI-1のiotaっぽいものをCommon Lispで書き直してみた(その3) - 新・日々録 by TRASH BOX@Eel
    kiyo_hiko
    kiyo_hiko 2011/11/25
    loopを使った記法など
  • 1