Commit Graph

1003 Commits (929e3e5ba58b7db76aa4d4e9f10a714d940986fa)

Author SHA1 Message Date
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
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 4fd6cd8275 use free univars for explicit polymorphic types
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10663 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-08-31 06:34:43 +00:00
Damien Doligez 575555eecd merge changes from branching of 3.12 to release/3.12.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-08-02 14:37:22 +00:00
Xavier Clerc ffa66ded92 PR#4964: parenthesized names for infix functions in annot files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-31 13:18:11 +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
Alain Frisch 8ae65cc68c Keep location on value declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/located_errors@10456 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 15:45:52 +00:00
Jacques Garrigue 05ce8f5414 improve error messages for type declaration mismatch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10455 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 15:13:47 +00:00
Alain Frisch baceb82d5c Keep location on type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/located_errors@10454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 15:06:01 +00:00
Alain Frisch 9cc00da0d0 Need to check record representation as well.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10452 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 12:42:34 +00:00
Damien Doligez 5e67123bf6 PR#4975: spelling mistakes "overriden" and "informations"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 12:00:49 +00:00
Jacques Garrigue 1772822057 PR#4478: better error messages for type definition mismatches
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10447 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 03:36:52 +00:00
Jacques Garrigue 9c79ec9120 fix PR#5057, must adjust levels in row fields
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10446 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 01:26:16 +00:00
Alain Frisch f4d1cef51d Error narrowing for class type lookups.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10422 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-18 17:25:02 +00:00
Alain Frisch fb4a2f7070 Cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10421 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-18 17:21:21 +00:00
Alain Frisch 635cde5279 Error narrowing for class lookups.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10420 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-18 17:20:05 +00:00
Alain Frisch ccb1381991 Error narrowing for module type lookups.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10419 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-18 17:18:24 +00:00
Alain Frisch 5d64f0e504 Error narrowing for module lookups.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-18 17:14:31 +00:00
Alain Frisch c81ff4bb19 Improve error narrowing, and (partially) fix #5046.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10417 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-18 16:46:46 +00:00
Pierre Weis 8625a5c6f1 Simpler implementation of error narrowing. Factorization of lid finding code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10378 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-05 20:51:54 +00:00
Pierre Weis f14587620c Generalization of unbound identier error narrowing to all kind of qualified
idents (constructors, labels, types, classes).
Bump version.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10365 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-04 16:26:33 +00:00
Alain Frisch ad42f8a8f6 Extend nondep_type to deal with 1st class modules.
For instance, in:

module F(X : sig module type S end) = struct type t = (module X.S) end
include F(struct module type S = sig end end)

the resulting type t is turned into an abstract type.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10336 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 11:59:50 +00:00
Jacques Garrigue 8e60370dbb distinguish conflicting identifiers with same name (PR#4716)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10333 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 07:11:27 +00:00
Jacques Garrigue 80b48b7a69 make duplicate definitions a warning rather than an error
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10332 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 06:26:51 +00:00
Jacques Garrigue b2730e0f81 check for duplicate labels and constructors across recursive type definitions (PR#3601)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 05:59:40 +00:00
Jacques Garrigue 7312e2e22c fix order for PR#5036
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10330 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 05:12:44 +00:00
Jacques Garrigue 7b8e39b8ea fix PR#4884, using same technique as rev. 8888
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 03:07:35 +00:00
Jacques Garrigue a51b04dec7 remove spurious code
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10328 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 01:56:21 +00:00
Xavier Leroy 236ffb982a PR#5036: check for nongeneralized type variables in "module type of".
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10321 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-28 07:53:19 +00:00
Jacques Garrigue 3810a32f6f fix PR#5037
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10320 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-28 04:54:57 +00:00
Damien Doligez bfdf476b69 merge last changes from 3.11 branch (rev 10307)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-26 12:54:11 +00:00
Jacques Garrigue 7f758d5c1f fix PR#5026: recursive type checks should use _opt versions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10306 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-26 08:55:20 +00:00
Xavier Leroy b6de85daad Reserve identifiers below 1000 for typing/predef.ml. This facilitates
extensions and patches like MetaOCaml.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10288 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-21 08:13:10 +00:00
Xavier Leroy b6f408ecc6 PR#4996: Subst.compose revised; Tbl.fold added.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-20 14:11:28 +00:00
Jacques Garrigue 49a83dd965 merge branches/sigsubst 9626:10205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-17 14:45:12 +00:00
Jacques Garrigue ee36e1d1c5 merge branches/override
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10250 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-08 03:58:41 +00:00
Xavier Leroy ab550592ef Adding "module type of <module-expr>" in the class of <module-type>.
Merge of branches/moduletypeof -r 9636:10226


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-02 12:53:33 +00:00
Damien Doligez 04b1656222 clean up spaces and tabs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Damien Doligez bdc0fadee2 merge changes from release/3.11.1 to release/3.11.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-20 16:26:46 +00:00
Pierre Weis 341d13f279 Error report in case of -strict-sequence has been triggered.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9466 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-09 09:32:39 +00:00
Pierre Weis 700da01338 Adding the -strict-sequence option.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9464 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-09 09:17:12 +00:00
Pierre Weis 7e68ecf265 Typing %, noop conversion.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9432 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-30 22:02:08 +00:00
Damien Doligez b2090f66b0 added warning 28: wildcard arg to constant constructor
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9424 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-19 12:27:15 +00:00
Alain Frisch 89107ae6ff Merge the letopenin branch in (svn merge -r9386:9397 /svn/ocaml/branches/letopenin) and update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9406 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-01 21:52:29 +00:00
Alain Frisch 1e5b4a4857 Merge first class modules: svn merge -r 9369:9396 $caml/branches/fstclassmod.
Adapt the Changes file. Bump magic numbers. Bootstrap.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 10:53:16 +00:00
Jacques Garrigue 023fda3fb4 merge polymorphic recursion
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9396 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 07:11:36 +00:00
Alain Frisch db5a053fb4 Import changes from the newtypein branch (svn merge -r 9361:9367 https://frisch@yquem.inria.fr/caml/svn/ocaml/branches/newtypein).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9368 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-06 12:51:42 +00:00
Xavier Leroy 9c6c8fb47e As discussed at the latest consortium meeting:
Syntactic sugar {x} for {x=x} in record expressions and patterns.
Syntax { lbl=pat; _ } to mark record patterns where the user explicitly wants not to list all labels.
Warning (activated by E, the fragile match warning) to signal record patterns without '; _' that fail to list all labels.
To be done: adjust Camlp4 parser accordingly.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-09-12 12:41:07 +00:00
Pierre Weis 25d7f8fdc1 Refined error message for unbound identifiers: if M.ident is unbound and M is unbound, then unbound module M is reported.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-09-04 16:19:35 +00:00
Damien Doligez 71b94fa3e8 merge changes from ocaml3111rc0 to ocaml3111
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9319 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-07-20 11:51:50 +00:00
Xavier Leroy 11217e8f70 Added option -no-app-funct to turn off applicative functors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9316 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-07-15 14:06:37 +00:00
Damien Doligez ed32f569e3 merge changes from ocaml3110 to ocaml3111rc0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-20 11:52:42 +00:00
Jacques Garrigue 7795eafa89 use TypeHash for nondep_type, and add env to nondep_mty
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-19 08:17:02 +00:00
Jacques Garrigue 44a068fc92 fix PR#4730
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-03-02 06:41:07 +00:00
Damien Doligez 1f95b17570 merge changes from 3.10.2merged to 3.11.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-12-03 18:09:09 +00:00
Damien Doligez 2b0441401a merge changes between 3.10.2 and the end of branch 3.10
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9079 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-08 13:09:39 +00:00
Damien Doligez 0c26c850b3 "invalid module name" becomes a warning
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-06 13:53:54 +00:00
Damien Doligez adfab743f5 PR#4607 reject invalid source file names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9016 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-09-10 15:03:33 +00:00
Xavier Leroy 93690a06ec PR#4557: use Path.isfree rather than Path.head since the latter is ill-defined on applicative paths
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8988 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-07 09:29:22 +00:00
Xavier Leroy 2932b18875 PR#4512: check early for bad recursive type definitions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8987 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-07 08:39:14 +00:00
Xavier Leroy 22edd41120 PR#4578, PR#4266: for 'include' constructs, recursively approximate instead of fully elaborating in initial environment.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8986 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-07 08:25:09 +00:00
Xavier Leroy 636d845eed PR#4261: expand abbreviations one at a time, because we do not know whether expanding to HNF will terminate.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8985 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-07 08:22:15 +00:00
Damien Doligez 7ca1d89250 amelioration des annotations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8958 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-29 15:42:44 +00:00
Alain Frisch 1ba87b442b Output references to the native version of the primitives in ocamlopt
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-24 05:35:22 +00:00
Jacques Garrigue 671013f72a distingue expansions publiques et privees dans le cache
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8922 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-19 02:13:09 +00:00
Jacques Garrigue b190aa533a reset abbreviation cache when calling expand_abbrev after expand_abbrev_opt
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8920 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-18 13:45:02 +00:00
Jacques Garrigue 51566a5f0c merge ground coercions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-18 02:48:38 +00:00
Jacques Garrigue f2b6a63ecc allow aliases on private rows
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8918 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-18 02:17:54 +00:00
Michel Mauny 22b152ca2f Corrected a - fatal - typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8917 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-15 18:11:46 +00:00
Michel Mauny 6ba024a12e Add lazy patterns.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8906 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-09 13:03:38 +00:00
Michel Mauny 6373550a1e Stop multi-parameter optimization when the pattern is refutable. Now, ((fun true -> fun x -> x) false) correctly fails.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-06-16 09:08:55 +00:00
Jun FURUSE / 古瀬 淳 db0afa58a4 workaround for the problem of optional argument type parsing caused when we redefine option type
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8888 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-06-11 23:47:12 +00:00
Alain Frisch 8e03390daf Cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8878 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-04-22 15:45:55 +00:00
Damien Doligez 04aa158cb6 merge changes from 3.10.1 to 3.10.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8823 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-02-29 14:21:22 +00:00
Damien Doligez cb40742e75 PR#4052 accept _ for all constructors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8789 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-22 17:08:48 +00:00
Alain Frisch f952dd7d11 Fix ocamlc -dtypes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-21 08:42:14 +00:00
Damien Doligez 9ea5edac9a merge changes 3.10.0 -> 3.10.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11 16:13:18 +00:00
Jacques Garrigue f0bbfb7043 sous-typage des abbreviations privees et methodes polymorphes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8697 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-30 12:37:45 +00:00
Pierre Weis 99c5f87045 Le predicat is_float utilise expand_head_opt pour optimiser aussi les champs de records dont le type est une abbreviation privee.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8685 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-28 22:30:25 +00:00
Pierre Weis 2cf7ed4450 Arguments homogenes pour le predicat private_flags.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8684 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-28 22:27:35 +00:00
Pierre Weis 3013dc544d Documentation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-28 22:26:05 +00:00
Jacques Garrigue e1bf691bf1 PR#4453
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8526 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-19 13:15:51 +00:00
Pierre Weis 2a99b8737b Expanding the usual compiler's type-based optimisations to private abbreviations.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-01 18:36:43 +00:00
Jacques Garrigue bbc5f6891a strengthen private abbreviations too
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8438 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-19 13:25:21 +00:00
Jacques Garrigue 8eb8c5bc27 Ptyp_class a une rangee
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8437 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-18 03:58:41 +00:00
Jacques Garrigue 122074d47c prive < (public) abstract !
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8436 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-18 03:58:07 +00:00
Jacques Garrigue 8c5ed4dd1f corrige rangees privees apres introduction abbreviations privees par PW
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8435 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-18 03:38:28 +00:00
Pierre Weis 59e0723455 It works: compilers and camlp4 are fully bootstrapped. The ast magic number is not yet changed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-09 10:29:37 +00:00
Damien Doligez 4167841b16 fusion de la version 3.10.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8416 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-08 14:19:34 +00:00
Damien Doligez 1dd68ccf50 ajout des annotations pour variables et appels terminaux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-05-16 08:21:41 +00:00
Jacques Garrigue 4f6daca4b2 error message
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7936 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-27 04:54:05 +00:00
Jacques Garrigue 2acec46b9e fix bug 2007-02-27 by Lukasz Stafiniak
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7935 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-27 04:38:11 +00:00
Jacques Garrigue 68006b7571 fix bug 2007-02-27 by Lukasz Stafiniak
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7934 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-27 03:46:19 +00:00
Nicolas Pouillard 81cfc29b31 Better handling of multiple extensions (foo.d.cmo, foo.p.cmx...)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-23 13:44:51 +00:00
Jacques Garrigue af7cc2dcb8 fix Carette's bug 2007-02-18
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7884 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-19 00:49:16 +00:00
Jacques Garrigue d78838fdd3 typo
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7876 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-16 11:18:54 +00:00
Jacques Garrigue 4024589fba subtyping errors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7875 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-16 11:18:36 +00:00
Jacques Garrigue 033ce4b17a Do not reset type variable names in Unbound_type_var (PR#4191).
Avoid breaking PR#1412.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-12-27 14:41:23 +00:00
Jacques Garrigue a4fe6ac960 keep sharing when not using -principal
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7778 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-12-21 12:07:53 +00:00
Pierre Weis 236baa6ee4 Encapsulation of system specific exports in module Printf.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-17 08:34:05 +00:00
Jacques Garrigue 84b420f2fe expand only once in update_level
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7713 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-02 02:19:49 +00:00
Jacques Garrigue ec74077dfa name recursion for private types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7712 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-02 01:10:04 +00:00
Pierre Weis 5770271304 Typechecking of user's defined readers.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-24 22:07:47 +00:00
Pierre Weis ba75b851b4 Format string now typecheck to format6.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7704 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-24 21:16:10 +00:00
Pierre Weis 7e2072cfb7 Type format4 is no more a predefined type.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-24 20:54:58 +00:00
Pierre Weis 0be3884f18 Introducing format6 as a built in type.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7701 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-24 20:42:41 +00:00
Xavier Leroy f976176626 PR#4132: faster type-checking of module-intensive programs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7689 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-13 12:56:28 +00:00
Pierre Weis ebd5102f96 Format string typing needed adjustment after correction of bug 0004119.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-04 10:03:16 +00:00
Luc Maranget 6c05350ca4 Corrrect fragile matching
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7634 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-21 14:54:54 +00:00
Damien Doligez fbea66a95e fusion des changements 3.09.2 -> 3.09.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-20 11:14:37 +00:00
Jacques Garrigue 7278d4c343 fix PR3999/4082
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7563 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-08-11 22:40:19 +00:00
Jacques Garrigue 6f6b1849c5 -rectypes obligatoire pour les dependences
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-06-26 09:38:06 +00:00
Jacques Garrigue c1743d099f PR#4026
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7438 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-06-12 07:33:14 +00:00
Jacques Garrigue 5d7edf5d8c contravariance bug in with constraints for private rows
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7386 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-21 06:18:51 +00:00
Jacques Garrigue b06093c109 fix PR#4002
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7384 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-18 00:28:12 +00:00
Damien Doligez 1279ab4b76 fusion des changements 3.09.1 -> 3.09.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-16 23:28:22 +00:00
Pierre Weis b9b6e0fa2c Preparing printf positional specifications.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7373 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 11:46:47 +00:00
Jacques Garrigue 602146f892 add virtual instance variables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7372 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 02:28:13 +00:00
Jacques Garrigue 12349a56be fix PR#3946
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7316 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-06 02:25:38 +00:00
Jacques Garrigue 24469ed930 PR#3916
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7315 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-06 02:16:45 +00:00
Jacques Garrigue 1e003d6855 dead code
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7314 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-06 02:16:24 +00:00
Damien Doligez 125ea40d4c fusion 3.09.0 -> 3.09.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Jacques Garrigue 86e7954b73 fix PR#3855
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-11-14 08:07:12 +00:00
Damien Doligez cf7bc7b781 ajout .mli
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-10-26 12:39:02 +00:00
Jacques Garrigue 728fbc648e must strengthen private row types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-28 07:18:30 +00:00
Jacques Garrigue e8927c7a5f fix bug Wohlwend caml-list 2005-09-19
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-20 04:08:49 +00:00
Jacques Garrigue c54747bf82 warn about useless with in record
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7051 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-15 03:09:26 +00:00
Jacques Garrigue f752003267 subtyping polymorphic variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-19 03:50:12 +00:00
Jacques Garrigue 5bef38ba93 bug in object subtyping + subtyping forget constraints
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-17 05:38:23 +00:00
Jacques Garrigue c78bc94a7a subtyping private types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7022 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-16 09:47:31 +00:00
Jacques Garrigue 83c0f7bb46 fix merge problems with 3.08.4 (PR#3758)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7020 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-16 00:48:56 +00:00
Damien Doligez a4a3c10e70 fusion des modifs de 3.08.4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7019 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-13 20:59:37 +00:00
Xavier Leroy 0ba3106399 Retour en arriere sur la simplification des signatures inferees (fix du PR#3545 du 2005-08-02), qui est completement bugge
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7012 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-08 09:41:52 +00:00
Jacques Garrigue 5640bb83d7 bug in private rows
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-08 05:40:52 +00:00
Xavier Leroy 754bc39c90 Systematiser la simplification des signatures inferees (PR#3545)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7005 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-02 09:49:30 +00:00
Xavier Leroy f55d676d2c Interdire les references Foo.x lorsqu'on compile foo.ml ou foo.mli (PR#3100, 3304, 3457)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6998 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-31 12:03:40 +00:00
Pierre Weis 2815135617 Char ranges in format strings where not handled properly (wrong parsing).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-22 12:11:26 +00:00
Jacques Garrigue 8c87123e86 portee des variables de type
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-22 06:42:36 +00:00
Jacques Garrigue c9fb98c676 error message
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6976 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-22 04:30:19 +00:00
Jacques Garrigue 8e25cec9c4 definition plus claire du partage des variables de types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6975 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-22 04:11:47 +00:00
Jacques Garrigue d21579ac02 fix potential bug
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6969 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-12 23:50:45 +00:00
Jacques Garrigue 57cf3cecd4 fix PR#3638
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6967 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-12 11:38:45 +00:00
Jacques Garrigue c7a3c042df fix PR#3705
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6966 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-12 01:07:09 +00:00
Jacques Garrigue b20551ecda check variance for row-variable too!
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-11 08:07:59 +00:00
Jacques Garrigue 3aa312d98b do not force presence for variants with only 1 constructor
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-06-13 01:11:02 +00:00
Jacques Garrigue 5a34c088cc when using -rectypes, expand abbreviations to detect cycles
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6905 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-06-03 01:42:00 +00:00
Jacques Garrigue c681a7edcf fix PR#3577 (only check variance for (semi-)abstract types)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6832 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-04-05 09:07:42 +00:00
Jacques Garrigue 827d03d59f bug in type_approx
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6829 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-04-04 04:34:53 +00:00
Jacques Garrigue eb57cd1912 pas de conflit avec 3.08.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6826 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-25 00:42:54 +00:00
Damien Doligez e6007f6057 fusion des changements jusqu'a 3.08.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-24 17:20:54 +00:00
Damien Doligez 6dea6b4af8 meilleurs messages d'erreur pour let rec
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6822 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-24 12:19:54 +00:00
Jacques Garrigue ef396b4e5a merge fixedtypes branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6821 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-23 03:08:37 +00:00
Luc Maranget d945bc62f4 Match compiler : prune context for all mutable fields
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6809 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-11 10:12:05 +00:00
Jacques Garrigue 36f117f200 fix poly method subtyping
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6806 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-10 08:20:08 +00:00
Jacques Garrigue ca3abc51a8 fix poly method printing
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6805 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-10 08:19:22 +00:00
Pierre Weis 280dcb3097 Correcting bug about erroneous erro reporting in case of wrong
conversions in format strings.
Static and dynamic messages about wrong format strings are now very
similar in printf.ml, scanf.ml, and typecore.ml.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-03-04 14:51:31 +00:00
Jacques Garrigue a136415ab1 do not retype private types in as-patterns
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6790 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-02-18 13:38:00 +00:00
Jacques Garrigue 31d18ccc59 use explicit variance for private types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-02-06 01:37:33 +00:00
Jacques Garrigue 6d23fc5722 make private types abstract for variance
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-12-10 01:52:12 +00:00
Jacques Garrigue 2b9fbaf3c0 print variance only when needed
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6733 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-12-09 12:51:55 +00:00
Jacques Garrigue aebbdaaa11 dead code
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6732 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-12-09 12:45:10 +00:00
Jacques Garrigue 972209dd6b fix variance bug
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6731 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-12-09 12:40:53 +00:00
Pierre Weis b774951705 Correcting bug concerning incomplete (meta)-format strings.
More regular error functions (coherence with printf).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6724 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-12-07 06:13:06 +00:00
Damien Doligez 1971a6ba83 changements sur les warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6720 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-30 18:57:04 +00:00
Jacques Garrigue 0edba97cf6 new warning for black holes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6703 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-29 02:27:25 +00:00
Luc Maranget 1209356ca6 avoid -W Y warnings in some source I wrote
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-25 12:44:33 +00:00
Damien Doligez 3d2b844368 warning Y prioritaire sur Z
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6684 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-18 16:22:15 +00:00
Jacques Garrigue ad6b860a9f cleanup warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6681 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-17 08:14:56 +00:00
Damien Doligez 4bea45df35 pour faire "ocamlc -w YZ -warn-error Az"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6674 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-10 12:47:20 +00:00
Jacques Garrigue b00a5d154b solve warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6673 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-10 02:00:55 +00:00
Damien Doligez 4ffbf5ec57 ajout warning unused variable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6669 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-06 20:17:47 +00:00
Jacques Garrigue 50fdbb8e0f do not assume all quantified Tunivar occur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-15 12:28:48 +00:00
Jacques Garrigue be7d100b73 different Tpoly's may share the same vl
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6642 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-15 03:15:34 +00:00
Jacques Garrigue 242b03f8e9 allow for phantom univars
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6641 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-14 02:36:19 +00:00
Jacques Garrigue e34f9f2ea6 accept more cases
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6639 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-14 00:54:20 +00:00
Jacques Garrigue ca88844599 do Fmu checks for moregeneral/eqtype/subtype
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6638 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-13 10:05:26 +00:00
Jacques Garrigue 91b18ff473 check for escaping variables in Fmu
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6636 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-13 09:33:09 +00:00
Jacques Garrigue b3a50ac0ed add location info in Ptype_variant and Ptype_record
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6633 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-06 13:06:11 +00:00
Pierre Weis 46d2abd2fb Bug reported by Yutaka Oiwa on meta formats.
As usual, an index is off by one :(


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6628 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-04 20:47:49 +00:00
Pierre Weis b0270c4cf9 Implementation des meta formats.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6621 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-09-22 09:17:21 +00:00
Jacques Garrigue 281e9b9867 fix limited_generalize for variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6620 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-09-21 12:08:12 +00:00
Xavier Leroy 3b97dfba7d Retour au code d'origine pour la simplification des coercions.
Le pb du PR#2639 disparait suite au nouveau schema de compilation de
"module rec".


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6587 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-12 12:59:00 +00:00
Xavier Leroy 63c1789b5e Fusion des modifs faites sur la branche release jusqu'a la release 3.08.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-07-13 12:25:21 +00:00
Pierre Weis e0122726af Implementation of an extension of record typing: the first path
annotated label in a record implies the implicit path annotations of
the other labels. This way, a single annotation allows the
simultaneous annotation of the whole set of labels. This is a
conservative extension, since all the labels of a record must already
belong to the same module. Hence, any program that was typable before,
had this property and is thus still typable in the new scheme.

This new treatment provides a simple way to desambiguate labels in
mass, just adding a module path annotation on one of the field labels;
this slight improvement of record typing thus avoids the burden of
repeating Module.label for each label of the record.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6409 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-14 21:29:05 +00:00
Pierre Weis ad3f855077 Uniform treatment of errors in constant format strings typing.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6407 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-14 20:38:15 +00:00
Xavier Leroy b944b4dec0 Generalisation option -o
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6398 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-13 12:48:01 +00:00
Xavier Leroy 762a006652 Impression des 'rec' et des 'and' dans les signatures inferees (PR#1981,2585)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6386 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-12 08:55:49 +00:00
Xavier Leroy ad25068485 Lorsque le sous-typage se traduit par prendre un prefixe strict du bloc representant une structure, faire la copie du bloc au lieu de conserver le bloc d'origine. L'ancienne strategie casse la compilation de 'module rec' (PR#2639)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6381 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-11 16:09:48 +00:00
Jacques Garrigue 4f0631da37 symmetry of unify_univar
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6376 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-08 06:34:56 +00:00
Jacques Garrigue 8e89ab9753 protect against sharing of self type
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6352 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-31 02:01:59 +00:00
Jacques Garrigue 8a670cffd8 trinomy for final classes: self_type/private_self/public_self
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6346 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-28 16:09:34 +00:00
Jacques Garrigue 1f17d5e68f allow public self and private self to be unified
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6345 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-28 14:38:44 +00:00
Jacques Garrigue 4f01dcd4b1 fix PR#2562 (but break 'let ilist2' in poly.ml)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6343 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-28 10:32:16 +00:00
Jacques Garrigue e364e6c254 fix PR#2062
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6312 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-23 09:06:58 +00:00
Jacques Garrigue 11570e23a3 ajout du champ cty_inher dans Types.class_declaration
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-18 13:28:00 +00:00
Jacques Garrigue 51c870d62e messages d'erreur plus courts et plus explicites
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6260 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-27 07:37:30 +00:00
Xavier Leroy f8ae9668d9 Pour l'option -pack, ajout possibilite de donner des .cmi sur la ligne de commande pour denoter des sous-modules dont l'implementation est identique a l'interface
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6196 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-09 13:32:28 +00:00
Xavier Leroy 29791fc19f Ajout alpha-conversion manquante dans la construction 'SIG with ...' (PR#1968)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6116 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-02-14 17:38:02 +00:00
Jacques Garrigue 25d02fa881 wrong header
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6081 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-27 07:29:00 +00:00
Jacques Garrigue c1d371aa3e seules les methodes publiques peuvent etre implicitement polymorphes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6080 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-27 07:06:54 +00:00
Luc Maranget 111747916a oups, commit too fast
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6073 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-16 14:09:30 +00:00
Luc Maranget 9b5364dc03 better (?) treatment of absent variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6066 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-09 13:12:17 +00:00
Jacques Garrigue 4234515e7c ajout de Btype.row_field pour parmatch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6063 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-06 13:41:40 +00:00
Jacques Garrigue 4e41ff1f98 optimise full_match
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6062 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-06 03:27:42 +00:00
Damien Doligez ddc87e9802 PR#1914,PR#1956 depollution de l'espace de noms
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6055 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-01-04 14:32:34 +00:00
Jacques Garrigue 31b6a1f58a export
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5989 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-12-01 00:32:11 +00:00
Pierre Weis 464864e38e Factorizing error messages in format type checking.
New conversion %l for line numbers (for Scanf).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5985 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-30 22:41:32 +00:00
Jacques Garrigue f2095623ff fast and compact classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-25 09:20:45 +00:00
Jacques Garrigue 80e050c2cd simplify
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-07 08:19:29 +00:00
Jacques Garrigue 5ed1c19bb2 better message for PR#1884
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5899 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-07 02:17:49 +00:00
Jacques Garrigue 303ca193e8 tools for debugging the type checker
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-07 01:07:32 +00:00
Jacques Garrigue b719914d64 fix PR#1917
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5896 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-07 01:06:55 +00:00
Jacques Garrigue 010106506c fix PR#1918
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5895 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-07 00:19:08 +00:00
Jacques Garrigue 9e46ceb9e2 cannot List.assoc on label_description
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5889 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-10-28 15:26:48 +00:00
Xavier Leroy e8591e4f08 Detection trop stricte des types cycliques (PR#1826)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5841 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-09-25 08:05:38 +00:00
Jacques Garrigue 0a9b16337d allow workaround for method overridden warning
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5829 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-09-10 01:03:50 +00:00
Jacques Garrigue 372ac37f6a fix check of polymoprhism when type 'a annot = 'a
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5796 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-25 00:41:24 +00:00
Xavier Leroy 833c7eb22f Reinitialiser les idents avant de construire le .cmi pour -pack
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-20 14:35:14 +00:00
Jacques Garrigue dd73e90e9e cleanup after export of Parmatch.pressure_variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5781 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-18 08:26:18 +00:00
Jacques Garrigue 2f14aa695a traite filtres incomplets dans pressure_variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-15 01:35:24 +00:00
Luc Maranget 763fbac510 test d'exhaustivite plus efficace, sur une remarque de Jacques
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5778 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-14 09:12:56 +00:00
Jacques Garrigue fe592824fc ameliore? typage des variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5777 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-14 09:04:43 +00:00
Luc Maranget 239e19d849 erased a troublesome coment
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5773 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-12 12:13:02 +00:00
Jacques Garrigue fa54cb2ae3 discard redundant cases in or-patterns
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5771 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-12 03:11:38 +00:00
Jacques Garrigue fec4c52bba must cleanup_abbrev in matches
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-09 12:09:11 +00:00
Jacques Garrigue e9c6054e8b revert to try_expand_head in Ctype.occur_rec (bug report by skaller)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-09 11:47:57 +00:00
Xavier Leroy a2051c8d09 Meilleure impression des flottants (PR#1778, PR#1781)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-29 09:11:13 +00:00
Xavier Leroy 705a6371bc Bug dans sous-typage entre foncteurs (PR#1780)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5749 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-27 17:02:33 +00:00
Damien Doligez 830d95537f dump des types dans l'ordre postfixe
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5739 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-25 18:00:40 +00:00
Damien Doligez 029b863032 RAZ des variables de types pour .annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5726 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-23 16:52:41 +00:00
Jacques Garrigue db806efb49 fix PR#1764
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5722 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-23 03:12:53 +00:00
Jacques Garrigue dada132355 fix PR#1591
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5721 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-22 10:58:39 +00:00
Jacques Garrigue 0ace6f6a76 better message for PR#1412
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5720 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-22 09:00:01 +00:00
Xavier Leroy 8e38c1e249 Regle de sous-typage entre foncteurs trop restrictive (PR#1757)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5714 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-18 12:44:18 +00:00
Jacques Garrigue af0591973a fix PR#1744
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5669 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-08 10:01:10 +00:00
Xavier Leroy 1a4be860d0 Renommage type format -> format4 et reintroduction type format a 3 arguments pour compatibilite arriere
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5658 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-05 11:13:24 +00:00
Xavier Leroy 661910856d MAJ d'un commentaire
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-03 14:35:35 +00:00
Jacques Garrigue 705e980c2b reprend la definition de Xavier pour partager le code de check_recursion
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5646 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-03 10:00:53 +00:00
Xavier Leroy 8df11a4cf7 Nettoyage dans extract_label_names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5645 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-03 08:34:08 +00:00
Damien Doligez 0a1f0f864b desactivation du format %$
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5644 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-02 14:06:05 +00:00
Xavier Leroy 3e4bf9252b Revu representation des declarations de type private
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-02 09:14:35 +00:00
Damien Doligez b37e53cef1 PR#1675, voir aussi PR#1438
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5641 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-01 16:30:12 +00:00
Xavier Leroy 49ee5083e2 Detection des abreviations de types mal formees introduites par 'module rec'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5640 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-01 13:05:43 +00:00