Jacques Garrigue
|
ede1f3fcef
|
only consider variables appearing in parameters
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10767 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-08 08:10:18 +00:00 |
Jacques Le Normand
|
727e447d0d
|
variance of underscore type arguments can now be specified
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10766 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-08 07:53:23 +00:00 |
Jacques Le Normand
|
5de2dedc1c
|
updated parmatch.ml to new Type_variant type_kind
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10765 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-08 07:38:46 +00:00 |
Jacques Le Normand
|
ff78b8ee75
|
exhaustiveness check has been _completely_ rewritten
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-08 07:34:09 +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
|
eb71566e57
|
fixed bug in genprintval
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-01 08:21:49 +00:00 |
Jacques Le Normand
|
8728758793
|
fixed small bug in typecore
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-01 08:18:27 +00:00 |
Jacques Le Normand
|
9aa498aa17
|
Complete propagation to patterns
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-11-01 08:06:43 +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
|
ec375d6e40
|
principal works better now
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10753 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-31 03:20:51 +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
|
def32e279f
|
performs a little better for principality
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10750 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-28 09:49:16 +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
|
7990b0c801
|
made gadts test reference
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10743 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-25 08:29:19 +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
|
f9f3ae5bc7
|
added test file for gadts for the testsuite
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10739 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-22 04:27:14 +00:00 |
Jacques Le Normand
|
87898cb3e9
|
internally, we can now refer to constructors with the help of their type, thus avoiding shadowing
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-21 08:17:17 +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
|
61d816352c
|
forgot this file in last commit
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-21 07:24:46 +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
|
f46f78fd99
|
reverted boot/ocamlc and boot/ocamldep to revision 10660
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10733 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-20 06:47:48 +00:00 |
Jacques Le Normand
|
fb8e495b4a
|
small cleanup
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10732 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-20 06:07:04 +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
|
f50f2825e0
|
fixed bug in simple exhaustiveness check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10730 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-20 05:05:05 +00:00 |
Jacques Le Normand
|
3f6f377cc0
|
fixed bug in gadt exhaustiveness check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10729 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-20 04:24:09 +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
|
2960603086
|
fixed match case unused. Not sure if solution is correct, will ask later
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10726 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-19 05:57:45 +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
|
7f749ff335
|
one more time
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-18 07:29:04 +00:00 |
Jacques Le Normand
|
d5f16fae7a
|
fixed small bug in syntax extension
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10722 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-18 07:26:46 +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
|
503b1b3a33
|
fixed bug in parmatch.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10720 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-16 06:28:44 +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 Le Normand
|
59aac4bda6
|
fixed bug for ident substitution in gadt exhaustion check. Optimized exhaustion check.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10712 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
|
2010-10-07 09:08:15 +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 |