标题几乎总结了要点。
我感兴趣的是,在使用动态语言时是否可以启用/禁用合同强制执行,而不会出现严重/未经诊断失败的严重风险?
如果没有,那么至关重要的是(对我来说)任何强制执行都是组件逻辑的必要部分,而不是根据DbC强制执行的可移除性精神可选/可移除。
答案 0 :(得分:3)
不仅有可能,还有现实世界的实施,而且它们已存在多年。例如,对于Python来说,这是十二岁的DbC implementation。
答案 1 :(得分:2)
我相信通过合同框架,lisp有一个很好的设计。
http://www.cl-user.net/asp/OkD82/sdataQkIGW7mlSHARDQ3r-H8X8yBX8yBXnMq=/sdataQu3F $ sSHnB ==