ebresafegaga / mini

A mini ML like language to be used to in a simple calculator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mini

Build

A purely functional ML like language with Hindley-Milner type inference.

WIP.

Basic syntax

Let bindings

let a = 10
a : number

let b = [] 
b : List<a>

Function bindings

let f a b = [a, b]

f : a -> a -> List<a>

This is also the same as:

let f = fn a b => [a, b] 

let f = fn a => fn b => [a, b]

f : a -> a -> List<a>

Currying

let g = f 10 

g : number -> List<number>

Recursive definitions

let rec fact n = 
  if n <= 0 then 1 else n * fact (n-1)
  
fact : number -> number 

About

A mini ML like language to be used to in a simple calculator

License:MIT License


Languages

Language:F# 100.0%