我猜你是在问 Haskell 是否有一个 OSGi(问题 1),而不是 Haskell 是否可以用来实现 OSGi 规范(问题 2)。
关于1:我认为如果不设置几层间接层是不可能的。为编程语言实现 OSGi 所需的最重要的语言功能是在运行时动态加载和卸载模块。现在,OSGi - 以一种简单的方式 - 是一种使用 Java 类加载器来实现此目的的巧妙方法,而代码开发人员没有注意到它,而是继续使用“import com.mypackage ...”。
我对 Haskell 的了解不够,但我怀疑 Haskell 是否有外部库的挂钩点来进入 Haskell 解释器,以便加载模块可以被拦截并动态地重新路由到另一个 haskell 文件。
关于 2:如果您愿意牺牲语言支持,但愿意通过字符串文字加载模块,那么实现 OSGi 的核心思想并在 Haskell 中使用它将是一个不错的小项目。
我最喜欢的插件框架实现(在精神上接近 OSGi)是Java Plugin Framework。代码比人们想象的要少。
| 归档时间: |
|
| 查看次数: |
478 次 |
| 最近记录: |