Skip to content

sebastianselander/churf

 
 

Repository files navigation

Thesis

A link to the thesis can be found here

Build

Using make the entire thing can be built by running make

Compiling a program

Using the Hindley-Milner type checker: ./churf -t hm <FILENAME>

Using the bidirectional type checker: ./churf -t bi <FILENAME>

Running ./churf will display a help message for the different available flags

Syntax

Single line comments are written using -- Multi line comments are written using {- and -}

The syntax of Churf can be read in Grammar.pdf

Here is an example program in Churf

main = case odd (sum 123) of
    True => printStr "odd!"
    False => printStr "even!"

sum = \x. case x of
    0 => 0
    n => n + (sum (n - 1))

odd x = case x of
    0 => False
    n => even (n - 1)

even x = case x of
    0 => True
    n => odd (n - 1)

About

Fork of bachelor thesis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 76.3%
  • C++ 20.1%
  • Makefile 1.7%
  • C 1.2%
  • Just 0.4%
  • Nix 0.3%