Commit Graph

142 Commits (a79811afe9fea0abcb71ec9e080aab3cfc2d9741)

Author SHA1 Message Date
Alain Frisch 46c790a663 Attributes on exception declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13342 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:20:49 +00:00
Alain Frisch 5f0aead005 Adding attributes on constructor declarations (type t = A [@id expr] | B [@id expr] of ...), and switch to a record type to represent those constructor declarations in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13338 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 15:35:47 +00:00
Jacques Garrigue 26e1ff7138 Merge short-paths into a fresh branch of trunk.
Also fix a bit unification and subtyping errors.
You now need the flag -short-path to activate short paths.



git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths-4.01@13285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-29 14:21:12 +00:00
Alain Frisch 0b37b27356 Stop keeping a Path.t to refer to labels and constructors in the Typedtree AST. This is not used internally and it is not a robust way to identify these objects unambiguously anyway
(especially when we will add more powerful disambiguation strategies).  The correct way to identify an item is through the pair (type,name), which can be deduced from the
label_description/constructor_description stored in the Typedtree.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13043 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 12:03:00 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Jacques Garrigue 35185d610b merge version/4.00 at revision 12866
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12869 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-21 07:10:35 +00:00
Damien Doligez 997a678d5e clean up TABs and whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 18:04:46 +00:00
Jacques Garrigue 08f29984ea Fix stack overflow by checking cycles for all types before regularity
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-14 10:42:56 +00:00
Alain Frisch 6d391dca01 #5632: with-constraints count as references.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12549 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-04 10:01:25 +00:00
Jacques Garrigue 6219455e62 Fix PR#5224
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 05:12:44 +00:00
Jacques Garrigue d8f8f9ee3b keep the text width to 80 columns
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12522 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-31 08:07:31 +00:00
Fabrice Le Fessant d39d43e55f merge with branch bin-annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30 14:52:37 +00:00
Xavier Clerc acc19ff167 Removal of unnecessary "rec" clauses (to please warning #39).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 13:41:14 +00:00
Alain Frisch 05c973e6ed Compile with warning 33, and remove unused opens.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12497 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:10:03 +00:00
Jacques Garrigue 41f177742e disable unused warnings for identifiers defined in the toplevel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12399 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-25 07:51:29 +00:00
Alain Frisch 6e7c62b0b9 #5601: Shouldn't warn about unused constructors when there is an equation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-25 07:34:41 +00:00
Alain Frisch 9f46d7222a Improve message for Unused constructor/exception warnings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12371 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-18 09:01:17 +00:00
Alain Frisch 44cdb20670 Fix #5588.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12348 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-12 17:21:39 +00:00
Alain Frisch ab918e2078 Detect unused exception declarations (#5524).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-06 19:47:07 +00:00
Alain Frisch f0b95f3349 Keep locations for exception declaration. This gives better error messages and paves the way to #5524.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-06 19:03:17 +00:00
Jacques Garrigue 477b2dd743 propagate path-expansion environment everywhere
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-23 07:59:45 +00:00
Jacques Garrigue 50de05d31d first attempt: handles only unification errors
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-22 03:15:14 +00:00
Alain Frisch c45bcb892d Synchronize with trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@12034 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 08:31:11 +00:00
Alain Frisch 350f214671 More clever algorithm to detect unused (recursive) type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11969 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 14:20:53 +00:00
Jacques Garrigue 3a5aff77d0 fix PR#5449
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 02:22:38 +00:00
Jacques Garrigue 6c78f42d36 merge branches/gadts-devel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11284 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-11-24 09:02:48 +00:00
Jacques Garrigue b1f8048f39 merge branches/located_errors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11228 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-21 03:26:35 +00:00
Jacques Garrigue 156fff1b8a Keep type variable names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-22 09:05:42 +00:00
Jacques Garrigue 9dc661c3bf merge branches/gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 6de25fef2f first commit
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-13 05:28:30 +00:00
Jacques Garrigue bcb5a6b669 error reporting
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10458 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-24 06:52:16 +00:00