SML/NJ-C外部函数接口库

此库的文档包括自述文件文件(位于源分布),和报纸新标准ML的可移植C接口泽西岛(附言,204KB).本文摘要内容如下:

本文描述了一个接口的设计和实现用于SML/NJ ML编译器的C。该接口提供ML数据类型程序员用它指定C类型和C数据。ML程序使用这些数据类型用于向接口注册外部C函数以及构建结构化C数据的规范。界面从C数据自动实例化C函数参数国外功能应用规范。大多数C型,支持聚合和函数指针类型。A类运行时代码生成技术将ML闭包转换为C可调用函数指针。函数指针允许C程序调用ML程序。我们解决了数据差异带来的问题表示、函数调用约定和存储管理通过在ML堆和C堆之间复制数据,转换表示和更改过程中的调用约定。我们发现这种复制策略在实践。该接口是可移植的,因为实现不需要更改SML/NJ编译器本身;它被隔离在一对库(ML和C)中。该接口具有已经在一些非平凡的应用中找到了用途。

戴夫·麦奎因
上次修改时间:1999年2月10日星期三14:02:39 EST