Commit Graph

102 Commits (2d6d4097c7f5dd5ede7729bc056af1ad89a7c8fa)

Author SHA1 Message Date
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
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
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 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
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
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
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
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
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
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
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
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
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
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
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
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 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 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
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 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
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
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
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 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
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
Jacques Garrigue b8f3f07141 coherent handling of type declarations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5632 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-30 08:04:42 +00:00
Jacques Garrigue 8121f19f8d fix PR#1731
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5630 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-28 10:46:32 +00:00
Xavier Leroy 1fa763e0c5 Merge branch with recursive modules
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5602 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-06-19 15:53:53 +00:00
Jacques Garrigue e444680a34 restore variance for constructed types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5571 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-23 07:51:37 +00:00
Jacques Garrigue 4202eb8c4d add weak contravariance for types (PR#1692)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5569 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-21 09:04:54 +00:00
Jacques Garrigue 66a875a31f fix PR#1673
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5548 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-12 10:59:18 +00:00
Pierre Weis e77055aad9 Complete move from virtual to private for concrete types with private
constructors (or labels).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-01 22:22:37 +00:00
Jacques Garrigue 0ac6c8e9c8 polymorphic method bugs, PR#1607
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5457 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-26 07:24:17 +00:00
Jacques Garrigue 51fc697ee2 fix PR#1559 and improve error messages
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5424 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-03-07 08:59:15 +00:00
Pierre Weis b5d0102c05 Nouveau format %$. Introduction des types virtuels: step 1 sans inclusion dans Camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5409 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-02-28 06:59:19 +00:00