Commit Graph

963 Commits (94f9c9fa83fd68f160de60d6d393e629e4d1ee73)

Author SHA1 Message Date
Jacques Garrigue d89c73b659 allow using Printyp.raw_type_expr in Btype
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 01:39:09 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Jacques Garrigue b7b719f6f0 fix bug reported by Polux Moon on 2011-07-26
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11151 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 08:48:22 +00:00
Damien Doligez 90664f4ea1 uniform .ignore system
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 15:37:36 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Jacques Garrigue 852558d482 fix record pattern-matching; sort records in typed tree
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@11091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-06-15 09:26:30 +00:00
Jacques Garrigue fab07a66c6 do not use unify_pat_types_gadts for normal constructors!
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@11087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-06-14 09:41:21 +00:00
Jacques Garrigue f70dbeb1b8 fix problem with constraints outside of matching, see typing-gadts/test.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@11068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-06-05 15:00:04 +00:00
Jacques Garrigue 3e7936cc2c limit propagation of type constraints to patterns to -principal mode
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@11012 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-04-19 02:34:54 +00:00
Jacques Garrigue ea15141d8a * make -principal stricter for gadts
* may also change behaviour without -principal
* propagate type constraints in let expressions to patterns


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@11011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-04-19 02:13:52 +00:00
Jacques Garrigue 04968cc2e6 fix principality by expanding local definitions when exporting a value
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10979 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-10 06:27:24 +00:00
Jacques Garrigue 974779cd1d recover some principality
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-02-24 06:29:26 +00:00
Jacques Garrigue 3345086867 backport of fix from gadts-devel
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10924 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-01-07 07:17:38 +00:00
Jacques Garrigue e88a3e9482 allow existentials in "as" patterns + report escaping newtypes + clean-up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-14 06:33:06 +00:00
Jacques Garrigue 1f26019d5e reset_pattern in partial_pred
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10898 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-14 02:00:20 +00:00
Jacques Garrigue 23df39a27a forgot level in partial_pred
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-14 01:53:15 +00:00
Jacques Garrigue 625ff1c969 make it work with omega07.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10896 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-14 01:38:37 +00:00
Jacques Garrigue 052c8f93d1 fix some bugs found with omega07.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10895 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-14 00:53:47 +00:00
Jacques Garrigue a845276821 In type_cases, must take instances of ty_res
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10892 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-13 07:35:16 +00:00
Jacques Garrigue dd5535cfe6 pattern level is only for definitions + existentials too should use pattern level
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-13 02:59:58 +00:00
Jacques Le Normand 89f3b70c5e newtypes now have an explicit level
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10884 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 19:52:36 +00:00
Jacques Le Normand 981758ea76 existentials can no longer appear in let bindings. This is a temporary restriction until we add gadt support to type_let
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10882 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 16:13:01 +00:00
Jacques Le Normand a630208a26 moved escaping let code
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10881 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 14:20:07 +00:00
Jacques Le Normand 986b398713 fixed escaping existentials in let bindings
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10880 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 14:06:31 +00:00
Jacques Le Normand d77b95fc56 fixed update_level bug
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10878 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 00:59:36 +00:00
Jacques Le Normand b623cdcf67 fixed duplicate error message bug
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10851 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-24 12:50:18 +00:00
Jacques Le Normand 5a99cea6a3 renammed a function
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10817 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-18 06:56:02 +00:00
Jacques Le Normand 9a97dd50c9 small cleanup
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-18 06:23:00 +00:00
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 3ec9bc692b complete_constrs in parmatch.ml now works with gadts. Reverted changes to the syntax tree which are no longer needed.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10805 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-16 06:01:59 +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 81b859245b fix printing bug
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10801 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-15 04:32:21 +00:00
Jacques Garrigue e67c5db33f move everything to type_expect
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10796 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-12 03:09:11 +00:00
Jacques Garrigue 73102f0fdf disable progragation in pattern-matchings containing polymorphic variants
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-11 10:02:56 +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 Garrigue b0f376cd1f remove the GAHs
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10785 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 10:38:18 +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 e5c079a709 changed formatting. lines which were more than 80 columns were reformatted in typecore.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10783 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-09 09:29:08 +00:00
Jacques Le Normand 45c46a5032 cleaned up parmatch.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-09 09:13:15 +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 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 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 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 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 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 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 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 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 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 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 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