- 博客(5)
- 收藏
- 关注
原创 FP编程实践:CPS编程风格及其C++模拟实现
Haskell代码cfold2 f z [] = zcfold2 f z (x:xs) = f x z (/y -> cfold2 f y xs)cfold f z l = cfold2 (/x t g -> f x (g t)) z lCPS> cfold (+) 0 [1,2,3,4] 10 CPS> cfold2 (/x t g -> (x : g t)) []
2010-01-14 17:43:00 2535
原创 FP编程实践:Haskell与F#的列表操作函数及其C++模拟实现
Haskell代码Prelude> map Char.toUpper "Hello World" "HELLO WORLD" Prelude> filter Char.isLower "Hello World" "elloorld"Prelude> foldl (-) 1 [4,8,5]-16Prelude> foldr (-) 1 [4,8,5]0
2010-01-14 17:29:00 1802
原创 C++0x尝鲜:用lambda表达式模拟Ruby的过程对象
关于C++0x预计于明年底推出的新标准C++0x,虽说已接近收官阶段,却仍有若干有待接纳的新提案被提出。尤其值得关注的是,与lambda表达式以及局部函数相关的提案“Unified Function Syntax(统一的函数语法)”,尽管不受标准委员会待见(两年间历经四次延迟表决,两次不予通过),仍然“顽强地”推出了其第7个版本N2989,提案作者锲而不舍的精神实在令人钦佩。 关于la
2010-01-10 12:24:00 1363
原创 C++0x尝鲜:lambda表达式
关于C++0x作为C++下一代标准的C++0x,其命名的本意无非是“200x年正式推出的C++新标准”,但目前(2010年)显然已没有可能,似乎改名为C++1x才名正言顺,不过为了避免不必要的混乱,C++标准委员会仍然坚持使用原名。 关于lambda表达式在函数型语言(FP)中大行其道的lambda表达式被引入以“多范式”(multi-paradigm)为标签的C++语言应该是一件
2010-01-07 15:35:00 4758 2
原创 C++0x尝鲜:右值引用
关于C++0x C++0x是正在酝酿中的C++语言的下一代标准,截至2009年底虽未完全定稿,但绝大部分内容已经在新草案中得以盖棺定论。新标准对语言核心内容的扩充多达四五十项,标准库的篇幅更是扩容一倍,不可不谓是C++语言标准的一次重大升级。由于C++0x标准极有可能由标准委员会于2011年底正式推出,因此如何尽快学习、应用这些新的语言特性也就自然而然地成了C++社区的新课题。 关于右值
2010-01-04 23:42:00 3906 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人