小编Ale*_*ell的帖子

将 2 个元素添加到列表的无点函数 / (:) 列表数据构造函数和 (.) 的双重应用

我正在努力正确定义该函数的无点版本,它将向列表添加 2 个元素。

\n

很容易想出一些简单的简单实现:

\n
addTwoElems :: a -> a -> [a] -> [a]\n\naddTwoElems x y xs = x : y : xs\naddTwoElems x y    = (++) [x, y]\naddTwoElems        = (.) `on` (:)  \xe2\x80\x9c point free but with additional function\n
Run Code Online (Sandbox Code Playgroud)\n

但是两个列表数据构造函数的无点组合(:)(.) 会是什么样子呢?

\n

请不仅展示正确的功能实现,还请解释如何获得正确版本的步骤和逻辑。

\n

syntax haskell functional-programming pointfree type-constructor

0
推荐指数
1
解决办法
110
查看次数