タグ カリー化
人気順 10 users 50 users 100 users 500 users 1000 users【TypeScript】カリー化・部分適用は便利だよ! - Qiita
【TypeScript】カリー化・部分適用は便利だよ! カリー化・部分適用利用してますか? 調べたけど「関数を第一級オブジェクトとしてー」とか「関数を部分適用してー」とか説明が講義っぽくて途中で諦めた方も多いと思います。自分もそうでした。 また、知ってるけどどんな時に使うべきか迷って使ってないという方もいると... 続きを読む
高階関数、カリー化、部分適用 - Qiita
Help us understand the problem. What is going on with this article? 続きを読む
関数型プログラミングはまず考え方から理解しよう - Qiita
関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。とい... 続きを読む
「プログラマが知るべき97のこと」を読んだ。 - コンパイラかく語りき
2015-11-12 「プログラマが知るべき97のこと」を読んだ。 プログラミング道 非常に勉強になったので、所感とともに10個引用してみます。 [02] 関数型プログラミングを学ぶことの重要性 いきなり関数型プログラミングかい!って感じですが。 最近「JavaScriptで学ぶ関数型プログラミング」を読んでいて、非常に共感できる内容だったのでチョイス。カリー化や再帰を知ったことは、間違いなく自分... 続きを読む
Javascriptのbind関数とカリー化 〜 JSおくのほそ道 #015 - Qiita
こんにちは、ほそ道です。 今回はFunction.prototype.bind関数を取り上げます。 このbind関数も前回のcall/apply関数同様、開発者の意図が反映される関数かと思います。 目次はこちら bind関数の仕様 bind関数はFunction.prototypeに属し、新たな関数を生成して返します。 下記で仕様を見ていきます。 その1:thisを強制変更する 第一引数は関数内で... 続きを読む
JavaScriptのカリー化について味見してみる - Qiita
JavaScriptには、「部分適用」や「カリー化」といった考え方が存在します。 ココらへんは定義がわかりづらかったり、筆者自身も完璧に理解できているとは言いがたい部分もありますので、ざっくりと全体像でもお伝えできればと思います。 関数の適用、部分適用、カリー化の順番でお話していきます。 関数の適用とは そもそも、関数プログラミング言語においては、関数は「呼び出されるもの」というより、「適用される... 続きを読む
JavaScriptにおける「カリー化」と「部分適用」の違い | RAINGARDEN
JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング を読んでいて、「カリー化」と「部分適用」というテクニックが登場しましたが、違いがはっきりとわからなかったので調べました。 カリー化とは カリー化談義という記事が参考になりました。 カリー化JavaScript Ninjaの極意 ライブラリ開発のための知識とコーディング を読んでいて、「カリー化」と「部分適用」というテ... 続きを読む
Swift - 等しさとせつなさと型の強さと - Qiita
Swiftの関数の引数は、常に一つ だとしたら、Swiftではカリー化は不要ということになってしまう。 もちろん、そんなことはない。 求めているのは、「n-tupleを引数とする関数を、1-tupleづつ引数を受け取り、n個受け取った時点ではじめて値を返す関数にすること」である。 例えばこんな風に。 import Darwin // for log(Double) func logWithBase... 続きを読む
Swiftで部分適用(カリー化) - TOKOROM BLOG
というかんじに、 まず、1つめの引数だけ部分適用(ここでは a) 部分適用したものに後から次の引数を適用(ここでは b) というのができる。 専用の書き方じゃなくてふつうのfunctionに部分適用できないの? 使うかどうかは別としてHaskellみたいに全ての関数に部分適用できたら面白いなーと。 また、上のような専用の定義にしちゃうと addTwoNumbers(1, 2) みたいな普通の呼び方... 続きを読む
Swiftの関数の引数は、常に一つ - Qiita
だとしたら、Swiftではカリー化は不要ということになってしまう。 すなわち、ざっくり言うとカリー化とは複数の引数を1つに減らすことを指します - Swiftで関数のカリー化(currying)入門 Swiftの関数は、つねに一つなのだから。 以下のコードを動かしてみれば、それがわかる。 func call<A,R>(f:A->R, a:A)->R { return f(a) } func id(... 続きを読む
JavaScript - Javascrptで関数型プログラミングの入門 - Qiita
【他キーワード】 第一級関数(高階関数が扱える) カリー化(部分適用) 型推論 気をつけるべきは三点 Javascriptで関数型を考えるにあたっては、 抑えるべきポイントは下記三点となります。 すべての関数が値を返す 関数に副作用がない(参照透過) 関数を値として扱える 関数型として気をつけるにはほかにもあるのですが、 入門として今回は扱いません。 すべての関数が値を返す 関数がすべての値を返す... 続きを読む
Objective-Cでカリー化とか部分適用してみる - TOKOROM BLOG
Objective-Cでカリー化とか部分適用してみる Nov 4th, 2013 • Permalink 導入 会社でHaskell勉強会に参加して、カリー化とか部分適用のパートの輪読当番になったのだが、正直、輪読時点でもそれがなんなのかよくわかっていませんでした。 しかし、勉強会で参加者のみなさまに教えてもらった結果、カリー化とかがやっと理解できました! ということで嬉しくなって先日寝るときに布... 続きを読む
Rubyで関数合成とかしたいので lambda_driver.gem というのを作った - ( ꒪⌓꒪) ゆるよろ日記
LambdaDriver by yuroyoroRubyで、Procやlambdaで関数合成できるようにしたかったので、lambda_driver.gemというのを作った。 内容的にはこの辺で書いたヤツをgemにした感じ。 「関数型Ruby」という病(2) - 関数合成 Proc#compose - ( ꒪⌓꒪) ゆるよろ日記 「関数型Ruby」という病(3) - カリー化(Proc#curry,... 続きを読む
AS3で関数のカリー化 « Rest Term
前回のエントリ、AS3でFunction.bind()に引き続き “関数 (function)” を扱ってみます。 今回は関数のカリー化 (currying)についてです。とその前に、前回のエントリで示した Function.bind() について。 あれは昨今のAS3文化には馴染まないアプローチだったと思います。 特にAS3からFlashの世界に入った方は prototype に拒否反応があった... 続きを読む