【发布时间】:2018-06-17 16:27:54
【问题描述】:
默认编程是否也称为无点样式,请参见例如http://en.wikipedia.org/wiki/Tacit_programming Purescript 中的一个选项?
【问题讨论】:
标签: functional-programming purescript
默认编程是否也称为无点样式,请参见例如http://en.wikipedia.org/wiki/Tacit_programming Purescript 中的一个选项?
【问题讨论】:
标签: functional-programming purescript
看看 PureScript Prelude source,我会这么说:
instance functorFn :: Functor ((->) r) where
map = compose -- point-free!
你在http://try.purescript.org/?session=3538ae1c-eece-8f50-ad0c-e1504846a793中的例子:
foldr f z Nil = z
foldr f z (x:xs) = f x (subfold xs)
where subfold = foldr f z
sum = foldr (+) 0
main = trace $ show $ sum (1:2:3:4:Nil) -- prints: 10
(需要自己定义foldr,因为我无法导入任何模块)
【讨论】:
fix f = let x = f x in x),这需要惰性求值.