Jacques Le Normand
7120d35ede
exhaustiveness check is working. An algorithm te check compatibility has been implemented for use during unification. For example, int is incompatible with bool and (int,bool) is incompatible with (int,int)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10719 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-16 06:09:25 +00:00
Jacques Garrigue
30ca9d3bbe
use row for objects in eqtype
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10711 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-07 09:07:13 +00:00
Jacques Le Normand
6095a598af
fixed bug in ctype where the existential type declaration was not added to the environment
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10710 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-07 08:45:37 +00:00
Jacques Le Normand
5333f52d7c
moved things into constructor_description
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10709 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-07 08:31:59 +00:00
Jacques Le Normand
ffc7d7ccec
first implementation of gadt friendly pattern exhaustiveness check. It is incomplete and untested. Also, some types are now incompatible
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10707 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-07 07:12:50 +00:00
Jacques Le Normand
4d5f7f2af5
fixed small bug for levels of reified types in patterns and cleaned up ctype
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10704 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-04 08:38:22 +00:00
Jacques Le Normand
7fa09d99e3
type equality for objects seem to change slightly with this new unification algorithm
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-30 07:46:10 +00:00
Jacques Le Normand
b78320d2b8
cleaned up most whitespace/newline additions
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10691 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-27 06:24:35 +00:00
Jacques Le Normand
b2c9e42361
fixed bug, ocamlopt now works
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-27 05:38:32 +00:00
Jacques Le Normand
790d987be5
small cleanup
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-22 08:48:33 +00:00
Jacques Le Normand
5a750b3e54
existentials are now treated correctly in patterns
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10687 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-22 07:52:36 +00:00
Jacques Le Normand
10214937fe
fixed several bugs, bootstrap finally works!
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10686 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-22 07:04:22 +00:00
Jacques Le Normand
0d03cf9e9b
do not use univars in fixed instances
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10685 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-21 07:25:08 +00:00
Jacques Le Normand
a8a5d86f67
made type parameters ellidable in type declarations
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10684 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-21 05:30:25 +00:00
Jacques Le Normand
56624533fb
switched to abstract types, still needs work on exhaustion type. the code needs to be cleaned up. printfs need to be removed
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-19 04:55:40 +00:00
Jacques Le Normand
6de25fef2f
first commit
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-13 05:28:30 +00:00
Jacques Garrigue
4fd6cd8275
use free univars for explicit polymorphic types
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10663 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-08-31 06:34:43 +00:00
Damien Doligez
575555eecd
merge changes from branching of 3.12 to release/3.12.0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-08-02 14:37:22 +00:00
Damien Doligez
5e67123bf6
PR#4975: spelling mistakes "overriden" and "informations"
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 12:00:49 +00:00
Jacques Garrigue
9c79ec9120
fix PR#5057, must adjust levels in row fields
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10446 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 01:26:16 +00:00
Alain Frisch
ad42f8a8f6
Extend nondep_type to deal with 1st class modules.
...
For instance, in:
module F(X : sig module type S end) = struct type t = (module X.S) end
include F(struct module type S = sig end end)
the resulting type t is turned into an abstract type.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10336 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 11:59:50 +00:00
Jacques Garrigue
7f758d5c1f
fix PR#5026: recursive type checks should use _opt versions
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10306 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-26 08:55:20 +00:00
Damien Doligez
04b1656222
clean up spaces and tabs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Damien Doligez
bdc0fadee2
merge changes from release/3.11.1 to release/3.11.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-20 16:26:46 +00:00
Alain Frisch
1e5b4a4857
Merge first class modules: svn merge -r 9369:9396 $caml/branches/fstclassmod.
...
Adapt the Changes file. Bump magic numbers. Bootstrap.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 10:53:16 +00:00
Damien Doligez
ed32f569e3
merge changes from ocaml3110 to ocaml3111rc0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-20 11:52:42 +00:00
Jacques Garrigue
7795eafa89
use TypeHash for nondep_type, and add env to nondep_mty
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-19 08:17:02 +00:00
Jacques Garrigue
44a068fc92
fix PR#4730
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-03-02 06:41:07 +00:00
Damien Doligez
2b0441401a
merge changes between 3.10.2 and the end of branch 3.10
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9079 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-08 13:09:39 +00:00
Xavier Leroy
636d845eed
PR#4261: expand abbreviations one at a time, because we do not know whether expanding to HNF will terminate.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8985 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-07 08:22:15 +00:00
Jacques Garrigue
671013f72a
distingue expansions publiques et privees dans le cache
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8922 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-19 02:13:09 +00:00
Jacques Garrigue
b190aa533a
reset abbreviation cache when calling expand_abbrev after expand_abbrev_opt
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8920 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-18 13:45:02 +00:00
Alain Frisch
8e03390daf
Cleanup.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8878 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-04-22 15:45:55 +00:00
Damien Doligez
04aa158cb6
merge changes from 3.10.1 to 3.10.2
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8823 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-02-29 14:21:22 +00:00
Damien Doligez
9ea5edac9a
merge changes 3.10.0 -> 3.10.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11 16:13:18 +00:00
Jacques Garrigue
f0bbfb7043
sous-typage des abbreviations privees et methodes polymorphes
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8697 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-30 12:37:45 +00:00
Pierre Weis
3013dc544d
Documentation.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-28 22:26:05 +00:00
Pierre Weis
2a99b8737b
Expanding the usual compiler's type-based optimisations to private abbreviations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-01 18:36:43 +00:00
Pierre Weis
59e0723455
It works: compilers and camlp4 are fully bootstrapped. The ast magic number is not yet changed.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-09 10:29:37 +00:00
Damien Doligez
4167841b16
fusion de la version 3.10.0
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8416 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-08 14:19:34 +00:00
Jacques Garrigue
af7cc2dcb8
fix Carette's bug 2007-02-18
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7884 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-19 00:49:16 +00:00
Jacques Garrigue
4024589fba
subtyping errors
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7875 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-16 11:18:36 +00:00
Jacques Garrigue
84b420f2fe
expand only once in update_level
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7713 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-02 02:19:49 +00:00
Damien Doligez
fbea66a95e
fusion des changements 3.09.2 -> 3.09.3
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-20 11:14:37 +00:00
Jacques Garrigue
602146f892
add virtual instance variables
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7372 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 02:28:13 +00:00
Jacques Garrigue
1e003d6855
dead code
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7314 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-06 02:16:24 +00:00
Damien Doligez
125ea40d4c
fusion 3.09.0 -> 3.09.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Jacques Garrigue
86e7954b73
fix PR#3855
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-11-14 08:07:12 +00:00
Jacques Garrigue
e8927c7a5f
fix bug Wohlwend caml-list 2005-09-19
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-20 04:08:49 +00:00
Jacques Garrigue
f752003267
subtyping polymorphic variants
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-19 03:50:12 +00:00