Awesome
etc
Erlang Type Checker
Basics
# Installation
git clone https://github.com/nachivpn/mt.git
cd mt/etc/ && rebar3 escriptize
# Simple usage evaluation example
./etc hello.erl
# Partial evaluation + Type Inference example
./etc +pe hello_pe.erl
# To see the result of code generated by partial evaluation
./etc +pe -P hello_pe.erl #produces hello_pe.P file
# (only) partial evaluation example
./etc +pe +noti -P hello_pe.erl
Documentation
Currently there's very little documetation on the source code and implementation details. However, the thesis work has been documented closely at multiple stages. If you're curious, check out the reports section: https://github.com/nachivpn/mt/tree/master/reports
Disclaimer
This project is the result of a master thesis at Chalmers University. The implementation is a prototype to demonstrate the scientific ideas and has not been tested thouroughly. The type checker supports a large part of the language, but the partial evaluator doesn't and may break easily. It is not at all production ready!