是否可以使Squeak VM嵌入C而无需任何插件?

| 我想将Smalltalk用作C语言中的嵌入式DSL引擎。不需要任何插件,并且整个定制环境将由我创建。因此几乎将保留ObjectEngine。这可能吗?我目前正在尝试,但是任何帮助将不胜感激。 -编辑- 任何Smalltalk实施嵌入指南也将不胜感激。 (GNU Smalltalk除外。因为它的许可证...)     
已邀请:
        使用Pharo / Squeak很难做到这一点: 对象引擎取决于许多原语,因此需要提供许多插件。不久前,大多数插件无法静态编译。我不知道是否仍然如此? 构建整个自定义环境非常棘手,因为它很可能意味着精简现有映像。有许多项目试图构建基础结构来引导新映像,但是我还没有看到有效的解决方案。 正如Davorin所写,Dolphin Smalltalk可以部署为DLL。同样,使用Cincom Smalltalk和Smalltalk / X也是可能的。所有这些Smalltalk都是商业化的。 总而言之,您最好查看一下已经在上下文中多次应用的Lua或Python。     
        曾经有一个针对GSoC的提案,但从未完成: 将吱吱声打包为DLL 使以特定语言编写的库可用于其他语言的常规方法是将库打包为动态加载库或共享库(从此处开始为dll)。使该方法适应Squeak既可以让更多的受众使用Smalltalk代码,也可以为Squeak应用程序启用替代部署方法,从而简化了针对Apache,Web浏览器等系统的Squeak插件的创建。一种可以采用两种不同的方法,一种可以称为被动或主动。在被动体系结构中,Squeak dll在从另一种语言调用之前是非活动的,并且仅在结果被调用方应答之前运行。在主动架构中,加载dll的行为使Squeak在其自己的线程上启动,并以集合点的形式接受来自其他线程的传入调用。被动方法更易于构建,但用处不大;一个没有完整的Squeak设施,例如轻量级流程,延迟等。 该项目的目标是根据学生的兴趣和能力采取被动或主动的方法。目标是使Squeak对用户和应用程序部署人员都更广泛地有用。有许多技术挑战需要解决,包括Smalltalk和C编码以及使用编写Squeak VM的Smalltalk-C混合语言Slang的使用。 给学生的好处包括对dll的深入了解,与动态语言,外部函数接口以及Squeak VM的接口。通过考虑被动和主动方法之间的许多权衡,学生还将获得对建筑问题的理解。 Squeak社区的收益将在于能够比以前更广泛地打包和部署Squeak应用程序。     
        Object Arts的Dolphin Smalltalk可以作为dll部署。但是您需要针对特定​​用例检查许可证,并且仅Windows。     

要回复问题请先登录注册