Commit Graph

8000 Commits (fb327a7c2b95973ae6a277a147b9d77c53fcbae4)

Author SHA1 Message Date
Jacques Le Normand 62d4c44d25 cleaned up typecore.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-09 08:21:44 +00:00
Jacques Le Normand 43a76b7b42 cleaned up typecore, made the location mandatory in type_cases
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-09 07:11:08 +00:00
Jacques Le Normand c6ab927e41 added a test case
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10778 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-09 07:04:10 +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 a802a29282 principality
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10776 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-09 06:24:44 +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 Le Normand 4a4e69bf1b fixed bug in parmatch.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10774 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 10:19:29 +00:00
Jacques Le Normand 36734b7536 cleaned up parmatch.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10773 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 09:58:09 +00:00
Jacques Garrigue bf53838e2a check GADT return type
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10772 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 09:18:45 +00:00
Jacques Le Normand ad30b17be1 updated references to Tpat_record to accomodate the extra field
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10771 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 09:14:57 +00:00
Jacques Le Normand 1d3797436e small cleanup
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 08:54:26 +00:00
Jacques Le Normand fbecef283e fixed bug in parmatch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 08:43:57 +00:00
Jacques Le Normand c17e2ffeda fragile check now works with gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 08:11:07 +00:00
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
Alain Frisch f537ba28b0 Adding String.iteri.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10762 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-05 08:15:36 +00:00
Alain Frisch a5628ad725 Adding List.iteri/mapi.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10761 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-05 08:10:59 +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 Garrigue ce605c042a merge branches/implicit-unpack + update camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 23:59:33 +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