Skip to content

TinyML is an interpreter implemented for the Functional Languages course of the university of Padua in the A.Y. 2022-2023

Notifications You must be signed in to change notification settings

filippobrugnolaro/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

TinyML is an interpreter implemented for the Functional Languages course of the university of Padua in the A.Y. 2022-2023

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages