Commit Graph

7861 Commits (36c49108db570e9102f36385cbb98bbc911a4c80)

Author SHA1 Message Date
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
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
Jacques Le Normand dbfe9c5040 exhaustiveness checking for GADTs is now as complete as I am going to get
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10708 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-07 07:30:11 +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 6f05398661 should have been in last commit
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10701 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-01 05:44:11 +00:00
Jacques Le Normand b4259503a4 removed variance from ellided type variables on the premise that they will only be used with GADTs, which are as of now invariant. fixed just introduced transl_declaration bug
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10700 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-01 05:43:41 +00:00
Jacques Le Normand fb31d60908 reverted transl_simple_type to its original definition in revision 1660 and used narrow and widen instead
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10699 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-01 04:57:43 +00:00
Jacques Le Normand 6b47423629 ocamldoc now updated. odoc_sig.ml was changed from revision 1660
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10698 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-01 03:44:47 +00:00
Jacques Le Normand 7af69814ac camlp4 now updated, but completely untested. I reverted camlp4 back to revision 10660 and then changed it from there
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10697 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-01 02:46:07 +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 3d167a90ec one more time
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10694 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-28 05:48:37 +00:00
Jacques Le Normand 040c184c21 # patterns further fix
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10693 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-28 05:16:01 +00:00
Jacques Le Normand 12e40d494b can now handle # patterns
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10692 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-28 05:02:47 +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 4524b78b65 fixed bug when checking tuples
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-19 05:12:32 +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 8fc4a75a01 unbound parameter fix
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10681 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-13 06:18:22 +00:00
Jacques Le Normand 415592ed0c minor changes
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10680 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-13 05:31:55 +00:00