我正在努力正确定义该函数的无点版本,它将向列表添加 2 个元素。
\n很容易想出一些简单的简单实现:
\naddTwoElems :: 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\nRun Code Online (Sandbox Code Playgroud)\n但是两个列表数据构造函数的无点组合(:)(.) 会是什么样子呢?
请不仅展示正确的功能实现,还请解释如何获得正确版本的步骤和逻辑。
\nsyntax haskell functional-programming pointfree type-constructor