C-Ast是一个用于生成C代码的GNU Guile库。示例目录中有一些示例,但简而言之,它可以让您将s表达式转换为:


(for ((= i 0) (< i limit) (+= i 1)) 

  (call printf 'i = %d ' i))

进入C源代码:


for (i = 0; i < limit; i += 1) { 

  printf('i = %d ', i); 

}

然后可以通过C编译器提供。这很有趣,因为它允许使用scheme轻松操作C程序——许多与适当的lisp风格的宏系统相同的好处可用于编写低级代码。目的是将其作为构建其他工具的构建块。

C-Ast仍处于非常早期的开发阶段——你可以编写hello world,但它缺少许多重要的特性和一些文档,而且可能没有按照guile库的方式打包。不过,您可以从Guile Scheme内核源码Guile Scheme中的功能性React式游戏编程镜子源码等资源中获取灵感和帮助。

想深入了解更多关于Guile和GNU C库的细节吗?这里有几个有趣的资源:GNU C LibraryThe GNU C Librar,这些都可以让您更加全面地掌握相关技术。