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
30d608dda0
add some more examples + section titles
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10925 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-01-07 07:21:43 +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
c64d239264
finish section 5
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10917 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-01-06 03:46:34 +00:00
Jacques Garrigue
3b79833705
add sections 5.7 to 5.10
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10916 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-01-05 10:10:04 +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
6389ce769b
add red-black trees
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10900 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-14 04:25:26 +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
db519b49dd
Add omega examples
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10893 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-13 08:46:36 +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 Garrigue
b76455029e
back to original
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-10 00:40:45 +00:00
Jacques Le Normand
80b18d194f
changed the syntax back
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10885 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-05 15:25:44 +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
b16b083526
changed syntax of constructors
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10883 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 17:20:18 +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
eddcc06798
fixed bug in syntactic sugar translation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10879 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 01:49:08 +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
775d35a2b8
& types are no longer created during for the new type syntax annotation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10852 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-24 13:37:24 +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
421d864cca
camlp4 -> caml ast transformations done
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10841 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-22 12:30:08 +00:00
Jacques Le Normand
3d99be4287
Camlp4 finally works. This is probably not the most elegant implementation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10836 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-19 16:40:08 +00:00
Jacques Le Normand
4159485fff
changed VERSION to 3.13.0-gadt so that it can work with camlp5. This is nonstandard, but hopefully it will not cause any problems
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-19 14:27:41 +00:00
Jacques Le Normand
86f1604d06
undid all changes to camlp4
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10831 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-19 08:28:32 +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 Le Normand
93d0eb2df1
updated addlabels
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-17 05:05:00 +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 Le Normand
674cd74009
rebootstrapped to fix exception printing error
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-15 04:41:39 +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 Le Normand
b36e845126
updated VERSION and config files
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-13 11:27:56 +00:00
Jacques Le Normand
f24d678e39
bootstrapped camlp4 gadts extension
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-12 11:33:41 +00:00
Jacques Le Normand
d2fedeb703
updated addlabels.ml
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10797 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-12 09:41:49 +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