jto*_*lle 7 lisp naming functional-programming list map
(我终于发布并接受了"不,没有,问题实际上并不是那么一般"的效果的答案.)
考虑Common Lisp函数'mapcar'.它接受一个函数和一些列表作为参数,并使用从每个列表中相同位置拉出的参数调用该函数.
标准库通常具有类似的函数,它采用单个列表,其中列表的每个元素都是函数的参数列表吗?什么是通常称为"标准"的功能?(这不是一个Lisp问题,但它是我知道的唯一功能语言+库.)
我想我在问一个像(在伪Lisp中)的操作:
(mapcar (curry #'apply function-to-map) list-of-arg-lists)
Run Code Online (Sandbox Code Playgroud)
已经有一个在多种语言或库中通用的名称(与'map'和'reduce'是常用操作的名称相同,而不仅仅是特定的库函数).
谢谢.
该特定操作实际上并没有典型的“函数式编程”名称。事实上,我提出问题的方式预设了一种像 Lisp 一样工作的语言,其中函数应用于参数列表。它还假设“映射”首先意味着做类似 Lisp 的“mapcar”的事情。
并非所有语言都是这样工作的。例如,Haskell 函数仅采用一种类型化参数(请参阅其他答案和评论以及http://www.haskell.org/tutorial/index.html)。将采用元组类型的函数映射到该类型的列表在概念上类似于我所询问的操作,在这种情况下,相关函数是...“map”。
就 Lisp 而言,这就是将函数映射到参数的“mapcar”版本的工作方式 - 它压缩作为输入的列表,并将函数映射到结果参数列表。其他一些函数可以很容易地采用压缩的参数列表,并且仍然被称为“map”的某种变体。
我感谢所有为我的教育做出贡献的人。
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |