A fragmentary bidirectional type system as a Python library
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



typy is a fragmentary bidirectionally typed language embedded into Python.


  • The typy.std library implements a number of useful semantic fragments.
  • See tests directory for examples.
  • See Omar and Aldrich, GPCE 2016 [1] for a description of how typy is implemented.

Project Status and Contributions

The fragment system was significantly revamped just prior to the GPCE paper, so many previously running examples do not currently work. Working on it!


Cyrus Omar (@cyrus-)


Copyright 2016 Cyrus Omar.

typy is released under the permissive MIT License, requiring only attribution in derivative works. See LICENSE for full terms.


[1] Cyrus Omar and Jonathan Aldrich. Programmable Semantic Fragments. GPCE 2016. https://github.com/cyrus-/papers/raw/master/typy-2016/typy-2016.pdf