我一直很想知道是否有可能将Haskell的强大功能应用到嵌入式实时世界,并且在谷歌搜索中找到了Atom软件包.我假设在复杂的情况下,代码可能具有所有经典的C错误 - 崩溃,内存损坏等,然后需要将其追溯到导致它们的原始Haskell代码.所以,这是问题的第一部分:"如果您有使用Atom的经验,那么您是如何处理调试已编译C代码中的低级错误并将其修复为Haskell原始代码的任务的?"
我搜索了Atom的更多示例,这篇博文提到了生成的C代码22KLOC(显然没有代码:),包含的示例是一个玩具.这个和这个引用有一些更实用的代码,但这是结束的地方.我在这个主题中加入"相当大"的原因是,如果您可以分享使用300KLOC +范围内生成的C代码的经验,我最感兴趣.
因为我是一名Haskell新手,显然可能有其他方法由于我未知的未知因素而未找到,所以在这方面任何其他自我教育的指针都会非常感激 - 这是问题的第二部分 - "在Haskell中进行实时开发会有什么其他实用方法(如果)?" 如果多核也在图片中,这是一个额外的加号:-)
(关于Haskell本身用于此目的的用法:从我在这篇博文中读到的内容,Haskell中的垃圾收集和懒惰使其在调度方面具有相当不确定性,但可能在两年内发生了一些变化.现实世界的Haskell编程问题在SO上是我能找到的最接近这个话题的人)
注意:上面的"实时"将更接近"硬实时" - 我很好奇是否可以确保主要任务未执行的暂停时间小于0.5ms.
我对那个函数式编程范例很陌生,但到目前为止我喜欢它.自从我进入游戏开发以来,我想尝试用纯函数编程风格编写一些游戏.我不介意语言 - 无论是Erlang,Haskell,Lisp,还是Ruby(我发现它支持函数式编程特性).
嗯,很明显,要学习函数式编程(事实上,任何事情),最好的建议就是学习函数式语言和编程.但我正在寻找的是在游戏和游戏引擎(2D或3D)中使用函数式编程的一些资源.
那么,你知道任何函数式编程文章/书籍/博客/在实际游戏中使用它,或者用函数式编程语言设计简单的游戏引擎,以及在这个功能环境中游戏和游戏引擎之间的所有交互吗?
请不要建议像"只是开始编写功能简单的东西,然后它会逐渐出现".正如我之前所说,很明显,但我在这里要求的是关于这个主题的一些资源,如果有的话.谢谢!
我正在考虑Haskell的软实时应用程序.我可能会使用演员,这是值得的.我想知道是否有人了解Haskell的当前实时状态.具体来说,GC暂停应用程序的问题.我已经广泛搜索过,而且我在2年多前发现了大量的讨论,但没有任何最新内容.以下是我发现的几个参考文献:
我读过的很多旧东西都表明情况(当时)被认为正在改善.有吗?
甚至2年多以前,也有一些评论表明可以调整Haskell应用程序以可靠地将GC暂停降低到一毫秒或两秒.这看起来真实吗?