Skip to content

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?

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.

See Projects for the current list — the Rigor Ruby static analyzer and the chibirigor online book — with links to their docs and source.

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.