Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
curry.php
Search
Kazunori Otani
March 29, 2014
Technology
720
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
curry.php
A functional programming using php.
Kazunori Otani
March 29, 2014
More Decks by Kazunori Otani
See All by Kazunori Otani
AIエージェントの オブザーバビリティとガードレールの実装 - CNCJ: AIエージェントガバナンスおよびガードレールミートアップ
katzchang
0
75
実践OpenTelemetry - Jagu'e'r オブザービリティ分科会 Meetup#2
katzchang
0
990
Kubernetes環境のオブザーバビリティの次の一歩をOpenTelemetryで実現すると何がどうなるの? - CloudNative Days Winter 2024
katzchang
0
320
SLI, SLOとカオスエンジニアリング、そしてオブザーバビリティ SRE Lounge #12
katzchang
4
3k
オビザーバビリティ成熟モデル
katzchang
1
4.7k
広告配信におけるパフォーマンス対策、やるかやらないか
katzchang
3
8.7k
高スループット・低レイテンシーなWEBサービスにおけるパフォーマンス対策の現実
katzchang
5
1.4k
モニタリングだいじというはなし
katzchang
1
280
プロビジョニングツールはMakeで決まりだろ
katzchang
12
10k
Other Decks in Technology
See All in Technology
USB PDを使ってスマホを労わりたい
raspython3
0
180
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
110
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
200
継続的なAIコスト最適化
bgpat
1
340
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
340
Classmethod Company Deck
satoshi7
1
690
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
590
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
Featured
See All Featured
Leo the Paperboy
mayatellez
10
2.4k
New Earth Scene 8
popppiees
4
2.7k
WCS-LA-2024
lcolladotor
0
890
From π to Pie charts
rasagy
1
400
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Navigating Team Friction
lara
192
16k
Ethics towards AI in product and experience design
skipperchong
2
430
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Crafting Experiences
bethany
1
380
Transcript
DVSSZQIQ LZPO@LBP@XFEEJOH !LBU[DIBOH
21)1͖Ͱ͔͢ʁ
!LBU[DIBOH
21)1͖Ͱ͔͢ʁ
ʊਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹಥવ4USJOH͕*OUʹมΘΔɹʻ ʉ:?:?:?:?:?:?:?:?:?:ʉ
ʮྫ͑ɺ1)1Λආ͚Δʯ
IUUQKBXJLJQFEJBPSHXJLJ&&"&"&"#3BTNVT@-FSEPSG@DSPQQFEKQH
1)1JTBCPVUBTFYDJUJOHBTZPVSUPPUICSVTI :PVVTFJUFWFSZEBZ JUEPFTUIFKPC JUJTBTJNQMFUPPM TPXIBU IUUQFOXJLJRVPUFPSHXJLJ3BTNVT@-FSEPSG
「PHPは、歯ブラシみたいなものですね。 毎日使うものですけど、だから何でしょう?」 IUUQBOPOEIBUFMBCPKQ
None
+BWBͱൺֱ
ແ໊͕ؔ͋Δ ˞+BWBҎલͱͷൺֱ
<?PHP $f = function($a, $b) { return $a + $b;
}; echo $f(2,3); // => 5
<?PHP $f = (function($a, $b) { return $a * $b;
})(2,3); // FAIL!!!
<?PHP $fib = function($x) { return $x < 2 ?
$x : $fib($x-1) + $fib($x-2); })); echo $fib(6); // FAIL!!
ΧϦʔԽ
IUUQTHJTUHJUIVCDPNLBU[DIBOH ˞༵ۚޕޙͰ͢
<?PHP $f = F::curry( function($_) { return $_[0] + $_[1];
}); echo $f->_(2)->_(3)->_();
IUUQTHJTUHJUIVCDPNBKJZPTIJWH CBECEF ˞༵ۚޕޙͰ͢
<?PHP $c = curry( function($a, $b){ return $a + $b;
}); echo $c->_(2)->_(3);
<?PHP function YComb($f) { $yc = curry( function($y, $x) use
($f) { return $f($y($y), $x); }); return $yc($yc); }
<?PHP echo (YComb(curry( function($f, $x){ return $x < 2 ?
$x : $f($x-1) + $f($x-2); })))->_(6);
ʮ͜Εɺࣃϒϥγͱ͍ͯ͠ʹͳΔϨϕϧʯ
-PWFZPVS1)1
None