The Granule project is an ambitious research project whose goal is to rethink the foundations of statically-typed functional programming languages by making resource sensitivity an integral aspect of the language design. Our work strives to show that by combining a linear type system with fine-grained (co)effects via graded modal types one obtains a very powerful programming language capable of precisely enforcing resource usage throughout the language.
We are actively developing a prototype implementation called Granule based on our research. In addition, we are developing a new dependent type theory that will greatly expand the expressive power of Granule’s type system. For more information about our current research directions please read this series of blog posts.