About TypedDuck
TypedDuck is a small project building type and static-analysis tooling for dynamic languages. It started with one question: dynamic languages run with real types at runtime, so why does so little of that reach you while you’re still writing the code?
The idea
Section titled “The idea”Duck typing says “if it walks like a duck and quacks like a duck, it’s a duck.” That works at runtime. The trouble is that nothing checks the walk or the quack until the code runs — usually in front of a user. TypedDuck’s tools reconstruct those types statically, from the values your code already produces, and report the places where the duck won’t quack.
The common thread across projects:
- Inference over annotation. You should not have to hand-maintain a parallel set of type signatures to get useful feedback.
- Bugs over bureaucracy. A finding earns its place by corresponding to something that would actually break at runtime.
- Open and bilingual. Source is public, and documentation is written in both English and Japanese.
Projects
Section titled “Projects”See Projects for the current list — the Rigor Ruby static analyzer and the chibirigor online book — with links to their docs and source.
License
Section titled “License”Content on this site is © TypedDuck and licensed under CC BY-SA 4.0. Each project’s source is licensed in its own repository under github.com/rigortype.
© 2026 TypedDuck. Licensed under CC BY-SA 4.0.