52得票2回答
在 Haskell 中,(f .) . g 意味着什么?

我曾经见过很多函数都是按照 (f .) . g 这种模式定义的。例如:countWhere = (length .) . filter duplicate = (concat .) . replicate concatMap = (concat .) . map 这是什么意思?

25得票2回答
主流函数式编程语言中是否有通过库来模拟J风格的副词、分叉等功能?

是否曾经尝试使用类似动词、副词、分支等方式来模拟J语言中超级紧凑的暗示性编程风格,并通过主流函数式编程语言的库实现? 如果有的话,结果如何? 如果没有,是有技术问题使其不可能,还是因为不值得这样做? 我特别感兴趣的是像forks这样的结构,它们似乎并不直接对应于函数式编程中的基本概念。

23得票4回答
如何在J中过滤列表?

我目前正在学习引人入胜的J编程语言,但有一件事情我还没能弄清楚,那就是如何筛选列表。 假设我有一个任意的列表3 2 2 7 7 2 9,我想要删除其中的2,但保留其他所有元素,即我的结果应该是3 7 7 9。我该怎么做呢?

19得票4回答
Lisp中的隐式编程

在Lisp中是否可能使用/实现tacit programming(也称为point-free programming)?如果是肯定的,是否已经实现了?

16得票2回答
组合子在串联式/隐式编程语言中的作用

在串联式编程和暗示式编程中,高阶组合子(或函数生成器)扮演着什么角色? 实现串联式编程语言除了直接操作堆栈还有其他方式吗? 提到的组合子与Schonfinkel的组合逻辑之间的关系有多紧密?

14得票5回答
阅读J语言代码的最佳策略

我已经使用J语言几个月了,我发现阅读不熟悉的代码(例如我没有自己编写的代码)是该语言最具挑战性的方面之一,特别是当它是暗示时。经过一段时间,我想出了以下策略: 1)将代码片段复制到Word文档中。 2)从(1)中取出每个运算符并将其放在单独的一行上,以便垂直阅读。 3)将每个运算符替换为...

13得票2回答
Haskell中的隐式函数组合

假设我有一个像这样定义的mean函数:mean xs = sum xs / (fromIntegral $ length xs) 但我希望以某种隐含的形式呈现,就像这样:mean = sum / (fromIntegral . length) 是否有内置的Haskell方法可以做类似于这样的事...

8得票6回答
学习 J/K/APL

我知道这三个都是相关的,我已经看到很多在Project Euler中用J语言解决问题的答案,也看到一些用K语言的。我想知道的是,你会建议学习哪种语言,并且你会建议从哪里获取学习材料?

7得票2回答
玩弄无点代码?

我一直在学习Factor和J语言,以尝试使用无点编程进行实验。这些语言的基本机制似乎很清楚,但是如何设计算法还是有挑战的。 对我而言,一个特别令人困惑的问题是如何构建代码,使得容易对不同参数进行实验。我指的是Mathematica和Matlab擅长的类型;您设置一个算法,然后操作变量并观察发...

7得票2回答
J:牛顿法的隐含副词

我在'addons/math/misc/brent.ijs'中发现了Brent方法的实现,它是一个副词。我也想建立一个作为副词的牛顿迭代法,但这比建立省略动词要难得多。 以下是牛顿迭代法的显式版本: newton_i =: 1 : '] - u % u d.1' 使用方式如下: ...