タグ

2015年9月8日のブックマーク (1件)

  • Lispから可変長引数を引き算したらできること - 標高+1m

    Schemeから可変長引数を引き算したら -- Island Life Shiroさんが面白い記事書かれてたので、前に実際に可変長引数をなくしたLispを作って発見したことを紹介します。*1 実装者とは全く別の、遊ぶ人の視点からの記事です。 この記事では意図的にマクロを一切使わないという制約のもと、いわばラムダ計算パズルをします。 左結合のカッコを省略する 少々恣意的ですが、 ((compose f g) x) ;;こう書ける (compose f g x) こういうこと、引数の数が固定なのでカッコを省略しても一意に評価できます。関数を返す高階関数を使うときに便利。以下の例では全てこの仕組みを存分に活用します。 list関数もクオートも使わずにリストを作る Shiroさんの記事で言及されていたように、可変長引数がないと (list 1 2 3 4) ができなくて不便です。これも一工夫でうま

    Lispから可変長引数を引き算したらできること - 標高+1m
    tamakoron
    tamakoron 2015/09/08
    Lispから可変長引数を引き算したらできること