タグ

2011年9月9日のブックマーク (4件)

  • お前に本当のカリー化を見せてやろう、Groovyで - No Programming, No Life

    はじめに 思いの外話題になっているようなので、Groovyでちゃんとしたカリー化をする関数を書いてみました。ちょっとタイトルはあれですがお許し下さい。 こんな感じでいいんですよね?(ツッコミ大歓迎) ここでは、addが引数を3つ取って、加算するクロージャです。メソッドrealCurryはクロージャを引数にとり、カリー化したクロージャを返却します。 add = {a, b, c -> a + b + c } ↓カリー化! curriedAdd = {a -> {b -> {c -> a + b + c}}} 当はClosure.metaClass.getCurryとかでやりたかったんですけど、どうもdelegateまわりが変な挙動をするのでバッサリ諦めました。あと、都合によりアンカリー化は実装しておりませぬ。 foldLeftで使ってみる (2011-09-06 追記) カリー化 != 部

    お前に本当のカリー化を見せてやろう、Groovyで - No Programming, No Life
  • [#GROOVY-4998] Real currying support - jira.codehaus.org

    Hi. Groovy's Closure have a name of method 'curry'. But this is not work for a real currying, it work as a partial function application. So, I wrote method of 'Real currying'. Referenced http://en.wikipedia.org/wiki/Currying Closure add = {a, b, c -> a + b + c } // Closure of adding 3 arguments. assert add(1, 2, 3) == realCurry(add)(1)(2)(3) assert 6 == add(1, 2, 3) def curriedAdd = realCurry(ad

  • 情報科学実験III J-9 (2007年度) コンパイラ実験 (Objective Caml版)

    情報科学実験III J-9 (2007年度) コンパイラ実験 (Objective Caml版) 担当 : 南出 靖彦 (minamide@cs.tsukuba.ac.jp) 関連資料 宣言型プログラム論のホームページ(2007年度) 宣言型プログラム論のホームページ(2005年度, Standard ML) Objective Camlのマニュアル 参考図書 入門OCaml: プログラミング基礎と実践理解, OCaml-Nagoya著, 毎日コミニュケーションズ プログラミング in OCaml: 関数型プログラミングの基礎からGUI構築まで, 五十嵐淳著, 技術評論社 プログラミングの基礎, 浅井 健一 著, サイエンス社 注意 2008年度は、ソース言語をOCamlの小さいサブセットに変更する予定です。 実験の手引き (PDF版) (実験の手引き(Standard ML版

  • 「Hyper Juice」で MacBook Airを充電できるよう工作にチャレンジ。意外と簡単でした。 | 覚醒する @CDiP

    「Hyper Juice」で MacBook Airを充電できるよう工作にチャレンジ。意外と簡単でした。 Photo by donpy モバイルシーンにおいて一番私の心配になることはたった二つ。電波とバッテリーです。ことバッテリーに対してはいつも安心していたいと思っております。「スマートフォンはバッテリーがきつい」というのは昔から言われていたことですが、最近のスマートフォンブームで携帯バッテリーの所有率はうなぎ登りだと聞いております。 そんな中、スマートフォンだけではなく、常に携帯しているMacbook Airの電源としても重宝している「Hyper Juice」なんですが、この安心感は最強です。 ◇ ハイパー・ジュース http://item.rakuten.co.jp/act2store/c/0000000158/ (via 【楽天市場】ブランド別 > Hyper Juice(ハイパー・

    「Hyper Juice」で MacBook Airを充電できるよう工作にチャレンジ。意外と簡単でした。 | 覚醒する @CDiP