Jacques Garrigue
|
800af0cf42
|
fix mcomp + untabify
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10813 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-17 09:00:58 +00:00 |
Jacques Le Normand
|
9713744542
|
undid changes in last commit. unify now uses the old mode when possible
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-17 08:14:00 +00:00 |
Jacques Le Normand
|
460226317d
|
every function exported by ctype is now set to the correct mode
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10811 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-17 07:41:18 +00:00 |
Jacques Garrigue
|
8d643fc12d
|
switch to Old in moregen too
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10807 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-16 06:46:34 +00:00 |
Jacques Le Normand
|
91a6a7c8b0
|
added change_mode function
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10806 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-16 06:35:29 +00:00 |
Jacques Le Normand
|
180d03ae93
|
big change as to how unification mode is handled
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10804 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-15 09:26:28 +00:00 |
Jacques Le Normand
|
ac4fa5ae13
|
we must forget abbrevs when switching to the old method of unification. removed unify_old: unify now decides for itself whether to use the old or the new method
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10803 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-15 08:02:17 +00:00 |
Jacques Garrigue
|
e9127a1d27
|
fix principality
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10789 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-11 05:42:14 +00:00 |
Jacques Le Normand
|
1680403fb9
|
clean up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-10 06:01:27 +00:00 |
Jacques Le Normand
|
567c7e395b
|
cleaned up ctype
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10781 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-09 08:41:54 +00:00 |
Jacques Le Normand
|
e494cfa4c4
|
small cleanup in unify
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10777 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-09 06:49:21 +00:00 |
Jacques Garrigue
|
1bcd80bdf9
|
principality
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10775 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-09 06:23:53 +00:00 |
Jacques Garrigue
|
f368f4e0d5
|
allow variance in GADTs
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-08 06:59:46 +00:00 |
Jacques Le Normand
|
916a46a4ad
|
improved principal
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10760 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-05 04:15:22 +00:00 |
Jacques Le Normand
|
5244860f3f
|
local_constraint flag now works
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-01 07:10:37 +00:00 |
Jacques Le Normand
|
6fd8a9a590
|
using old unification when there are no local constraints
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-01 05:33:29 +00:00 |
Jacques Le Normand
|
6f151a0f95
|
environment local constraint marker
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10754 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-01 05:09:36 +00:00 |
Jacques Le Normand
|
6a384f2536
|
fixed bug in mcomp and made it more refined
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10752 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-29 08:23:33 +00:00 |
Jacques Le Normand
|
3aa828735d
|
existentials now created at the pattern level
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10751 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-29 06:54:24 +00:00 |
Jacques Le Normand
|
c6f6312d36
|
fixed bug in unification
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10749 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-28 04:16:10 +00:00 |
Jacques Le Normand
|
f75820792d
|
mcomp is now smarter
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10748 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-27 11:16:21 +00:00 |
Jacques Le Normand
|
fad8e4de6f
|
fixed bug in exhaustiveness check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-27 09:52:38 +00:00 |
Jacques Le Normand
|
4c86d56280
|
fixed bug
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10746 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-27 09:08:14 +00:00 |
Jacques Garrigue
|
7b77119b04
|
partial instances
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10745 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-27 08:04:14 +00:00 |
Jacques Le Normand
|
7f2fa29cf9
|
local unification now goes from oldest newtype to newest newtype; in practice this has little effect. Cleaned up unification a little
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10744 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-26 04:34:09 +00:00 |
Jacques Le Normand
|
c2777a43d0
|
merged with trunk. specifically, merged with implicit unpack patch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10742 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-25 08:19:48 +00:00 |
Jacques Le Normand
|
43ffa5d997
|
fixed recursive local constraints bug
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10741 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-25 06:37:29 +00:00 |
Jacques Le Normand
|
a82f06e4c7
|
added recursive check for local constraint
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10740 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-25 05:25:33 +00:00 |
Jacques Le Normand
|
10f670297c
|
added lookup of constructors by type in env.ml and specification of constructors types in Ppat_construct
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-21 07:53:39 +00:00 |
Jacques Le Normand
|
304dba8a0f
|
removed Type_variant, fixed bug in GADT exhaustive check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-21 04:02:02 +00:00 |
Jacques Le Normand
|
937da0b0df
|
fixed small bug in mcomp
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10731 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-20 05:57:03 +00:00 |
Jacques Le Normand
|
71b84693af
|
open objects and variants are now unified exactly in the same way as before the gadt extension
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10728 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-19 07:11:25 +00:00 |
Jacques Le Normand
|
d99cdce090
|
concrete objects can now add and use local constraints
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10727 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-19 06:10:33 +00:00 |
Jacques Le Normand
|
2d6d4097c7
|
fixed bug where local constraints were used with objects
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10725 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-19 05:41:57 +00:00 |
Jacques Le Normand
|
a1910000e3
|
fixed bug in syntax extension. Made unification of variants and objects local. Removed personal comments
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10724 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-19 05:24:36 +00:00 |
Jacques Le Normand
|
90a6348480
|
added syntactic sugar for mixing newtypes and polytypes
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10721 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-18 04:54:24 +00:00 |
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 |