【发布时间】:2019-05-02 22:06:08
【问题描述】:
假设我有一个haskell 函数f n l = filter (n<) l,它接受一个整数n 并列出l 并返回l 中大于n 的所有整数。
我正试图弄清楚如何用 Joy 之类的语言最好地编写这个函数。我通常很幸运地将haskell 函数转换为无点形式f = filter . (<),然后尝试从那里用Joy 重写它。但我不知道如何用串联语言模拟部分函数应用程序。
到目前为止,我已经尝试过类似swap [[>] dip] filter 的操作,但似乎必须有更好/更简洁的方式来编写它。
另外,我正在尝试编写自己的连接语言,并且想知道惰性求值是否可以与连接语言兼容。
【问题讨论】:
-
你的最后一句话对我来说似乎是一个完全不同的问题。考虑将其删除,并将其作为一个单独的问题提出。
-
@amalloy 我在这篇文章中加入了关于惰性评估的问题,因为这两个概念有些相关。通常在函数需要返回值之前不会评估函数的参数,所以我想知道这是否会影响我必须如何在我的实验语言中表示部分应用的函数。 -谢谢
标签: haskell concatenative-language