crybot / functional-interpreter

Implementation of an interpreter for a functional programming language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

functional-interpreter

Old CS course project assignment written in OCaml. The project is an implementation of an interpreter for a simple functional programming language that includes the following primitives:

  • Basic arithmetic operations (addition, subtraction, product and division) on integers
  • Logical operators (negation, conjunction, disjunction) on booleans
  • Comparison operators (equality, comparison to zero)
  • Identifiers and top-level (global) bindings
  • Recursive top-level bindings
  • Anonymous functions (which can be bound to an identifier)
  • Conditional constructs (if-then-else)
  • Tuple datatype and operators (Head, Tail, Cons)
  • Pipe operator - which is basically a list of closures
  • ManyTimes opeartor - which applies an expression many times to an integer

About

Implementation of an interpreter for a functional programming language

License:MIT License


Languages

Language:OCaml 100.0%