朱诺-2

基于约束的illustrator的基础。本文描述了Juno-2的一些正式基础,Juno-2是由Allan Heydon和Greg Nelson实现的基于约束的图形插画家,可以在web上以源代码形式提供。Juno-2背后的第一个想法是基于约束的编程是从普通的命令式编程中获得的,不是通过添加一个特性,而是通过减去一个限制:特别是通过从Edsger W.Dijkstra的保护命令演算中删除排除奇迹的法则。放弃这条法则会引入“部分命令”(有时称为“奇迹”),当与传统的局部变量引入(“VAR语句”)结合时,会创建一个高度原则化的约束求解原语,它与语言的常规命令特征完美地正交。第二种观点是,过去二十年在自动定理证明界广泛应用的“决策程序组合技术”也可以用于将两种逻辑理论的约束求解器组合成一个用于理论组合的约束求解器。Juno-2利用这个思想将配对函数理论的简单解算器(只相当于统一闭包的实现)与实数理论的复杂数值解算器相结合,产生一个强大的约束解算器,对制作精确的技术插图和动画很有用。如果天气允许,会谈将包括演示“朱诺2号”。