Ram Maheshwari Logo Image
Yared Fikremariam

MicroCaml Interpreter

An interpreter for MicroCaml — a dynamically-typed version of OCaml

Project Image

Project Overview

Implementation of MicroCaml — a dynamically-typed version of OCaml with a subset of its features. Because MicroCaml is dynamically typed, it is not type checked at compile time; like Ruby, type checking will take place when the program runs. It also contains an implementation of mutop (μtop or Microtop), a version of utop for MicroCaml.

The lexer converts an input string of MicroCaml into a list of tokens, and the parser will consume these tokens to produce an abstract symbol tree (AST), either for a MicroCaml expression, or for a mutop directive.

Features

- Primitives
- Conditionals
- Bindings, recursive and non-recursive
- Named Functions and Anonymous Functions
- Currying

Tools Used

OCaml