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)
|
1. [typeSubstitution](./lib/typeSubstituion.ml)
|
||||||
You must implement at least:
|
You must implement at least:
|
||||||
|
|
||||||
- [ ] `type t`, i.e. how to represent syntactic substitutions in memory,
|
- [x] `type t`, i.e. how to represent syntactic substitutions in memory,
|
||||||
- [ ] `val apply`, which applies a syntactic substitution to a type
|
- [x] `val apply`, which applies a syntactic substitution to a type
|
||||||
- [ ] `val compose`, which computes the substitution obtained composing two given substitutions.
|
- [x] `val compose`, which computes the substitution obtained composing two given substitutions.
|
||||||
|
|
||||||
1. [unification](./lib/unification.ml)
|
1. [unification](./lib/unification.ml)
|
||||||
You must implement at least:
|
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
|
must compute the substitution `s` such that if
|
||||||
`unify t1 t2 = Some s` then `apply s t1 = apply s t2`.
|
`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)
|
1. [inference](./lib/inference.ml)
|
||||||
You must implement at least:
|
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`.
|
`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.
|
You may add more definitions to each of these modules, and extend their signatures accordingly.
|
||||||
|
|
Reference in a new issue