deft 是一个面向动态语言 Janet 的渐进类型库,建立于 Siek & Taha 的渐进类型理论与 Wadler & Findler 的 blame 演算之上,让带类型与不带类型的代码可以互操作。它提供类型注解、双向类型推断与静态检查,可在函数边界做运行时 cast,并精确地把错误「归咎」给调用方或函数本身。类型既可用内置谓词,也可用任何返回布尔的函数自定义,还支持 occurrence typing 收窄与按模块边界的渐进迁移。