• Kim Nguyễn's avatar
    Improve the complexity of constraint normalisation by using a hash · 7932c071
    Kim Nguyễn authored
    table instead of a 'recursion set' like in the paper.  The hash table
    is tricky:
    
     - its keys should be both the type we are normalizing and
    delta
    
     - we should store a flag together with the constraint set, indicating
    whether the computation of the normalization for the corresponding
    type has finished. If it has, we can use the associated constraint set
    instead of CS.sat and stop recursion. If it has not, we can return
    CS.sat (like the previous base case).
    
    We also update the test case files to check that everything is in order:
    
    - part2.cd has been rewritten to make use of the new syntax and remove
      the red-black trees examples that are now in a separate file
    
    - red-black.cd is a fully typechecking file
    - rb-fail.cd has the type definition and the wrong balance function.
    7932c071
Name
Last commit
Last update
benchmarks Loading commit data...
compile Loading commit data...
doc Loading commit data...
driver Loading commit data...
misc Loading commit data...
ocaml @ ecc80c0d Loading commit data...
ocamliface Loading commit data...
parser Loading commit data...
query Loading commit data...
runtime Loading commit data...
schema Loading commit data...
tests Loading commit data...
tools Loading commit data...
types Loading commit data...
typing Loading commit data...
web Loading commit data...
win32 Loading commit data...
.gitmodules Loading commit data...
.ocamlinit Loading commit data...
AUTHORS Loading commit data...
CHANGES Loading commit data...
INSTALL Loading commit data...
INSTALL.RPM Loading commit data...
INSTALL.WIN32 Loading commit data...
INSTALL.mingw Loading commit data...
LICENSE Loading commit data...
META.in Loading commit data...
Makefile Loading commit data...
Makefile.binary Loading commit data...
Makefile.conf.template Loading commit data...
Makefile.distrib Loading commit data...
Makefile.macosx Loading commit data...
Makefile.types Loading commit data...
PLIST.godi Loading commit data...
README Loading commit data...
TODO Loading commit data...
VERSION Loading commit data...
_tags Loading commit data...
boolVarOUnit.mlpack Loading commit data...
cduce-expat.spec Loading commit data...
cduce.spec Loading commit data...
cduce_mktop Loading commit data...
configure Loading commit data...
configure.ml Loading commit data...
depend Loading commit data...
header Loading commit data...
myocamlbuild.ml Loading commit data...
opam_config.sh Loading commit data...
typesOUnit.mlpack Loading commit data...
win-installer.readme Loading commit data...