我知道Eiffel(前身)和Racket都实现了“按契约(Contract)设计”功能。可悲的是,我不确定一个与另一个有何不同。 Eiffel (Eiffel)的DBC依赖于OOP范例和继承,但是Racket(一种非常不同的语言)如何解释这种差异呢?
最佳答案
Racket赢得契约(Contract)声誉的主要主张是责备的概念,并且肯定地,处理ho函数是日常Racket编程的重要组成部分。
您可能还需要查看本文的前两部分:
http://www.ccs.neu.edu/scheme/pubs/oopsla01-ff.pdf
关于scheme - Racket 方案的 "design by contract"与Eiffel有何不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5671662/