Tag: pointfree

JavaScript函数式编程库的现状

图书馆 低短划线下划线的启发,显然修复了很多东西,很棒的API显然它是由下划线的启发,它也做错了! fn.js目前在1.0以下很好的文档,基本的function Bilby.js由Brian Mckenna创build,他正在开发一种编译成JavaScript的函数式语言。 似乎有一个核心的function编程概念。 编辑: Bilby似乎符合幻想土地规范。 “幻想之地”幻想世界不仅包含了大量的函数式编程模块,还包含了一个关于如何实现“代数结构”(也就是你的对象)与图书馆兼容的正式规范。 以此为标准将是一件好事。 几乎没有文件(或我无法find它)。 function性JavaScript一个(如果不是) JavaScript的第一个函数式编程库,看起来很不合时宜,但确实很棒。 Wu.js不太了解,但是Lonsdorf在较老的video中使用了它的autoCurry。 Pointfree Fantasy来自幻想图书馆的function集合将Lonsdorf包装成了无点的风格(无论如何)。 添加 民间故事一个年轻但非常有希望的项目,有吨的模块。 因为它的名字暗示了它的灵感,并实现了代数结构的幻想世界规范。 它的文档很浅,但比幻想地更好。 问题 我想要一个一致的库,使我能够轻松做到这些技巧 ,专注于高层次的function概念(函子,单声道,monad,镜头等),不会放弃发展。 我现在最好的select是什么? 笔记 下划线不包括在内,因为它做错了! 虽然我用它作为标签,因为其他库没有标签。

在Haskell中为布尔函数执行`and`和`or`

我只写了以下两个函数: fand :: (a -> Bool) -> (a -> Bool) -> a -> Bool fand f1 f2 x = (f1 x) && (f2 x) f_or :: (a -> Bool) -> (a -> Bool) -> a -> Bool f_or f1 f2 x = (f1 x) || (f2 x) 它们可能被用来组合两个布尔函数的值,例如: import Text.ParserCombinators.Parsec import Data.Char nameChar = satisfy […]

什么(f。)。 g的意思是在Haskell?

我已经看到很多function是根据模式(f .) . g (f .) . g 。 例如: countWhere = (length .) . filter duplicate = (concat .) . replicate concatMap = (concat .) . map 这是什么意思?

函数式编程中的“免费”风格有哪些优缺点?

我知道在某些语言(Haskell?)中,努力的目标是实现无点式的风格,或者永远不要通过名称明确地引用函数参数。 这是一个非常难以理解的概念,但是这可能会帮助我理解这种风格的优点(或者甚至是缺点)。 谁能解释一下?

在函数式编程中什么是无意义的风格?

我最近注意到的一个短语是“免费”风格的概念… 首先是这个问题, 也是这个问题。 然后,我在这里发现他们提到“另一个可能值得讨论的话题是作者不喜欢自由式的风格。 什么是“免费”的风格? 有人能给出一个简洁的解释吗? 它与“自动”咖喱有关吗? 为了了解我的水平 – 我一直在教自己的Scheme,并写了一个简单的Scheme解释器…我明白什么是“隐式”currying,但我不知道任何Haskell或ML。

撰写function组合:(。)。(。)如何工作?

(.)需要两个函数,它们取一个值并返回一个值: (.) :: (b -> c) -> (a -> b) -> a -> c 由于(.)有两个参数,所以我觉得(.).(.)应该是无效的,但它是完全正确的: (.).(.) :: (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c 这里发生了什么? 我意识到这个问题措辞严厉……所有的function都是由于咖喱而引起的。 也许更好的方式来说这是types不匹配。