タグ

カリー化に関するpochi-mkのブックマーク (3)

  • curryは飲み物 - 146,000

    概要 LISPでカリー化された関数を定義するマクロを作ってみた.カリー化された関数は,必要な数の引数が渡されればただちに評価されて結果を返すが,引数の数が足りなければ部分適用された関数となる.それもまたカリー化されている. 動機 昨日も一日中椅子に座ってJava書いて……今日も一日中椅子に座ってJava書いて……きっと来週も再来週も一日中椅子に座ってJava書いて……毎日毎日同じ事の繰り返しで,生きてる気がしないんだYO! 簡単なカリー化 定義通りカリー化するだけなら,こんなふうにすればいい. (defun currying (arg-list &rest body) (let* ((args (reverse arg-list)) (last-arg (car args)) (other-args (cdr args))) (reduce #'(lambda (acc elem) `(l

    curryは飲み物 - 146,000
    pochi-mk
    pochi-mk 2013/05/08
    よく分かるカリー化、というかこれ読んでカリー化というものがよくわかった気になった(自分ではまだ書けないけどw)。
  • YokaiLab: カリー化が部分適用ではないという話

    2011年9月4日日曜日 カリー化が部分適用ではないという話 twitterでの話題から。 http://togetter.com/li/183700 http://togetter.com/li/183971 Scalaには楽な部分適用があるので、カリー化は影が薄いように思う。 自分も部分適用とカリー化を同一視してた。 カリー化は、add( a, b, c ) を curriedAdd(a)(b)(c) にするような変換。 なのでカリー化それ自体は、特に部分適用と混同するような意味を持たない。 部分適用と同一視できるのは、カリー化された関数への適用。 Scalaでカリー化された関数を使うには、 def curriedAdd(a:Int)(b:Int)(c:Int) = a + b + c ( curriedAdd(5) ) (1)(2) // 5 + 1 + 2 = 8

  • カリー化と部分適用の違いと誤用

    kmizu @kmizu 正直に言うと、Groovy自体は別に好きでも嫌いでもないのだけど、カリー化してないのにcurryとかいうメソッド名付けてたり(標準で)、概念の無理解が目立つ部分があって、その辺がちょっと…という思いがあったり。 #scalajp #groovy 2011-09-04 19:43:37

    カリー化と部分適用の違いと誤用
  • 1