Programming with Arrows
Programming with Arrows
复制标题
用箭头编程
DOI:
--
复制
发表时间:
2004
期刊:
影响因子:
--
通讯作者:
John Hughes
中科院分区:
文献类型:
--
作者:
John Hughes
Consider this simple Haskell definition, of a function which counts the number of occurrences of a given word w in a string:
count w = length . filter (==w) . words
This is an example of “point-free” programming style, where we build a function by composing others, and make heavy use of higher-order functions such as filter. Point-free programming is rightly popular: used appropriately, it makes for concise and readable definitions, which are well suited to equational reasoning in the style of Bird and Meertens [2]. It’s also a natural way to assemble programs from components, and closely related to connecting programs via pipes in the UNIX shell.