all done
This commit is contained in:
parent
fe03ff0351
commit
1f203b5138
1 changed files with 5 additions and 5 deletions
10
README.md
10
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.
|
||||
|
|
Reference in a new issue