diff --git a/README.md b/README.md index 819d58f..cf66c9e 100644 --- a/README.md +++ b/README.md @@ -33,14 +33,14 @@ To realise this project you will have to implement the following modules: 1. [typeSubstitution](./lib/typeSubstituion.ml) You must implement at least: - - [ ] `type t`, i.e. how to represent syntactic substitutions in memory, - - [ ] `val apply`, which applies a syntactic substitution to a type - - [ ] `val compose`, which computes the substitution obtained composing two given substitutions. + - [x] `type t`, i.e. how to represent syntactic substitutions in memory, + - [x] `val apply`, which applies a syntactic substitution to a type + - [x] `val compose`, which computes the substitution obtained composing two given substitutions. 1. [unification](./lib/unification.ml) You must implement at least: - - [ ] `val unify` which given two type `t1` and `t2`, + - [x] `val unify` which given two type `t1` and `t2`, must compute the substitution `s` such that if `unify t1 t2 = Some s` then `apply s t1 = apply s t2`. @@ -49,7 +49,7 @@ To realise this project you will have to implement the following modules: 1. [inference](./lib/inference.ml) You must implement at least: - - [ ] `val typeof`, which given a term `t` must compute either + - [x] `val typeof`, which given a term `t` must compute either `None`, if there is no type for `t`, or `Some ty`, if ty is the type of term `t`. You may add more definitions to each of these modules, and extend their signatures accordingly.