Haskell可以实现OSGi吗?

And*_*yuk 9 osgi haskell

我的问题是由Peter Kriens发表的一篇文章引发的:如果OSGi成为你最喜欢的语言怎么办?

那么,Haskell是否可以实现OSGi规范?如果没有,为什么?

Chr*_*bek 1

我猜你是在问 Haskell 是否有一个 OSGi(问题 1),而不是 Haskell 是否可以用来实现 OSGi 规范(问题 2)。

关于1:我认为如果不设置几层间接层是不可能的。为编程语言实现 OSGi 所需的最重要的语言功能是在运行时动态加载和卸载模块。现在,OSGi - 以一种简单的方式 - 是一种使用 Java 类加载器来实现此目的的巧妙方法,而代码开发人员没有注意到它,而是继续使用“import com.mypackage ...”。

我对 Haskell 的了解不够,但我怀疑 Haskell 是否有外部库的挂钩点来进入 Haskell 解释器,以便加载模块可以被拦截并动态地重新路由到另一个 haskell 文件。

关于 2:如果您愿意牺牲语言支持,但愿意通过字符串文字加载模块,那么实现 OSGi 的核心思想并在 Haskell 中使用它将是一个不错的小项目。

我最喜欢的插件框架实现(在精神上接近 OSGi)是Java Plugin Framework。代码比人们想象的要少。