Skip to content

alecava41/TinyML

Repository files navigation

TinyML

TinyML is an interpreter (mainly a type checker) for a tiny subset of expressions of the language ML.

This project was developed as final project for the exam in Functional Languages 2022-2023 held by Prof. Alvise Spanò in Univeristy of Padova. The original skeleton of the project can be found at the following Functional Languages repository.

Implementation

The skeleton already contains:

  • Lexer: parses the source code into tokens (Lexer.fsl);
  • Parser: receives the output of the lexer as input and produces an Abstract Syntax Tree (Parsers.fsy);
  • Type checker: checks the types of the expressions (Typing.fs);
  • Evaluator: evaluates the expressions (Eval.fs).

The goal of the project was to implement a type inference algorithm, to be used while checking the correctness of the types of the expressions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages