Commit Graph

245 Commits (7120d35edea9b75d573e4b61ad337e6e66a0fa00)

Author SHA1 Message Date
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 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 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 4d5f7f2af5 fixed small bug for levels of reified types in patterns and cleaned up ctype
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10704 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-04 08:38:22 +00:00
Jacques Le Normand 7fa09d99e3 type equality for objects seem to change slightly with this new unification algorithm
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-30 07:46:10 +00:00
Jacques Le Normand b78320d2b8 cleaned up most whitespace/newline additions
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10691 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-27 06:24:35 +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 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 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 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
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 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 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 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
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
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 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 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
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
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
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 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 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
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
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 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 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 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
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 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 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
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 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