Scheme csi和csc(鸡肉计划)的区别
为什么函数Scheme csi和csc(鸡肉计划)的区别,scheme,chicken-scheme,Scheme,Chicken Scheme,为什么函数compose是在解释器csi中定义的,而不是在编译器csc中定义的?我知道我自己可以很容易地定义它,但我只是想知道为什么会有这样的差异。编写过程来自单元数据结构(请参阅或)。您可以通过键入(使用数据结构)来加载它 至于为什么它在csi中可用,而在csc中默认不可用,这是一个有点毛茸茸的实现细节;csi解释器只需自己加载几个模块即可提供解释器环境。由于它的实现方式,csi加载的所有内容在顶层也变得可用。在CHICKEN 5中,这种情况有了很大的改善,解释器从一个干净的顶级环境开始 因此
compose
是在解释器csi
中定义的,而不是在编译器csc
中定义的?我知道我自己可以很容易地定义它,但我只是想知道为什么会有这样的差异。编写过程来自单元数据结构(请参阅或)。您可以通过键入(使用数据结构)
来加载它
至于为什么它在csi
中可用,而在csc
中默认不可用,这是一个有点毛茸茸的实现细节;csi
解释器只需自己加载几个模块即可提供解释器环境。由于它的实现方式,csi加载的所有内容在顶层也变得可用。在CHICKEN 5中,这种情况有了很大的改善,解释器从一个干净的顶级环境开始
因此,在实践中,这意味着您应该始终明确地(使用)
程序所需的所有模块,以确保它在编译模式和解释模式下工作。您也可以将整个程序包装在一个环境中,而不是将程序放在顶级环境中。模块总是有一个完全干净的环境,所以编译和解释时不会有什么区别