Skip to content

luc-tielen/typesystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Typesystem

This repo contains some experiments using a bidirectional typechecker. The approach is mostly based upon this tutorial, but adds some extra things:

  • Step by step error reporting
  • Support for typed holes
  • Returns a typed expression, with type information at every node of the tree

The type-variables branch contains some additional code that allows users to specify types containing type variables (unification system based on the Purescript typechecker).

Running the examples

Right now the typechecker and examples are all located in a single file (src/Main.hs).

Execute the following commands to see the results:

$ git clone [email protected]:luc-tielen/typesystem.git
$ nix-shell   # optional, if you prefer using Nix
$ cabal new-configure
$ cabal new-run typesystem

Output for the examples can also be found here.

About

Experiments using a bidirectional typesystem

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published