2009-09-27 99 views

回答

0

我会推荐使用CLR。

通过这种方式,您可以获得整个FCL以及人们用.Net编写的任何第三方库,而无需执行任何其他工作。

+0

问题是我的语言将它的类型映射到CLR类型有很大的不同:闭包,递归类型,任意数字等等。例如没有stringbuilders,但是一个unicode.string类。 我真的不想将它与.NET运行时间集成在一起,并努力解决它需要的一切,但我发现being能够使用SDL/OpenGL。 – thatotherguy 2009-09-27 02:25:55

+0

我会说这是值得的。您可以为语言编写自己的一组类型,并让编译器在将它们传递给外部函数时自动将它们转换为.Net本机类型。 – SLaks 2009-09-27 02:28:51

1

由于您在C#/ .NET中构建语言(我将在后面对此进行评论),您应该可以轻松访问整个.NET库系统。这应该可以很容易地使用现有的库来制作.NET程序集,并将它们暴露给脚本。

但是,我想问一个在C#中编写脚本语言 - 有非常好的选择,特别是如果考虑到DLR(动态语言运行库)。您可以非常轻松地为现有的C#应用​​程序提供脚本,而无需制作自定义语言。

+0

嗨。 我没有使用DLR。 (我喜欢它,但它不支持尾递归以及我需要的其他一些功能,如同第一类环境一样容易)。 “这应该可以很容易地使用现有的库来制作.NET程序集,并将它们暴露给脚本。” 是的,如果我手工操作,那将是路线。生成一个程序集,然后做一个包装。 – thatotherguy 2009-09-27 02:44:19

相关问题