首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用OCaml和Haskell制作独立的顶层

用OCaml和Haskell制作独立的顶层
EN

Stack Overflow用户
提问于 2010-12-19 18:29:52
回答 3查看 568关注 0票数 9

在Common Lisp中,程序通常以二进制文件的形式生成,其中捆绑了一个翻译器。StumpWM就是一个很好的例子。

如何对Haskell和OCaml做同样的事情呢?

不需要像Common Lisp那样提供调试器,目的是在不依赖于整个翻译器包的情况下进行扩展(需要GHC的xmonad )。

附注:我知道ocamlmktop,它工作得很好,除了我真的不明白为什么它需要"pervasives.cmi“并且没有和二进制文件捆绑在一起。所以,我能做的最好的事情就是使用/pervasives.cmi/将-I /路径/设置为/dir/。有什么方法可以覆盖它吗?

EN

回答 3

Stack Overflow用户

发布于 2010-12-19 19:42:52

对于( GHC ) Haskell来说,这是不可能的-你要么需要发布应用程序的二进制+GHC,这样你就可以通过GHC-API进行扩展,要么嵌入一种扩展语言。我不认为目前有任何“现成”的扩展语言可以嵌入到Haskell中,尽管HsLua可能已经很接近了。这是通向标准(C源代码) Lua的桥梁。上个月在Haskell-cafe上有一个关于用Haskell编写的扩展语言的帖子,我想答案是‘根本没有’。

http://www.haskell.org/pipermail/haskell-cafe/2010-November/085830.html

票数 5
EN

Stack Overflow用户

发布于 2010-12-21 16:47:54

在GHC中,有GHC-API,它允许您在程序中嵌入类似于ghci的解释器。它是一个非常低级且经常变化的库,因为它只是提供对GHC内部的访问。

然后是Hint,这是一个旨在将ghc-api封装在设计良好和更稳定的接口后面的库。

然而,我最近已经从使用这两个包中的任何一个切换到使用外部ghci。外部ghci过程通过标准输入/输出管道进行控制。这一变化使得它很容易与GHC 6.12.x和7.0.x保持兼容,而我们的ghc-api代码与GHC 7.x分离,并且提示也不能开箱即用。我不知道是否有新版本的提示可用,它适用于GHC7。

票数 2
EN

Stack Overflow用户

发布于 2010-12-19 21:48:15

对于Ocaml,你有没有尝试过使用findlib?请参见自定义Toploops一节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4482530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档