支持将有状态的事物作为参数传递的函数式语言



我刚开始学习函数式语言。

我目前正在思考如何表示"有状态",不断更新事物,比如钟摆的周期性摆动,或者电子游戏中某个环境对象的运动。

我想有一些关于递归和其他非纯循环函数的破解解决方案,但我希望有一种方法可以随着时间的推移将某些东西表示为函数。

也就是说,我有一些想要表示的周期性运动,所以我构建了一些像sin x这样的函数,并将一些表示我的计算机内部时钟不断更新值的东西传递给该函数。

我知道从我的计算机上获取当前时间是基于每个请求的,我可以写一些命令式代码来无限循环,调用一些get_time()系统调用,然后用这个值调用我的函数lang函数,我真的只是希望这项工作已经在一些函数语言的标准库中为我完成了。

在你所知道的任何函数式编程语言中,有类似的功能吗?

要搜索的术语是"功能反应编程";。

其基本思想是引入";时变值";翻译成语言。这些通常被分解为行为事件行为是类似于";时间";,其连续变化。事件是离散的,比如鼠标单击,或者当某个不断增加的行为值超过某个阈值时。(我想我听说过信号这个词是行为的同义词。(

为了使时变值有用,用时变值计算的结果也应该是时变值。例如,如果提取当前时间的第二个字段,那么它应该是一个时变值,它会一次又一次地迭代0到59。

关于这个想法已经做了很多工作,但这里有一个JavaScript实现示例的链接,您可以在浏览器中试用:http://www.flapjax-lang.org/(注意http的URL。该网站最近没有更新,如果您使用https访问该网站,演示往往会失败。(我建议从教程开始:http://www.flapjax-lang.org/tutorial/.

相关内容

  • 没有找到相关文章

最新更新