Commit Graph

87 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 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 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 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
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 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
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
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
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
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 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
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
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
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
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
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
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
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 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
Luc Maranget ca2bda6887 new warning, fragile match, qqs details
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5538 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-02 14:57:24 +00:00
Luc Maranget 76d5c7aee1 new warning, fragile match
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-02 09:57:53 +00:00
Xavier Leroy 7abcc8799e Ajout des litteraux de type int32, nativeint, int64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-25 12:27:31 +00:00
Luc Maranget 2258980625 merci damien (locations fantomes)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5400 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-02-24 15:13:01 +00:00
Jacques Garrigue 65c80f8ae1 add unification backtracking
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5280 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-21 05:39:01 +00:00
Jacques Garrigue 83290f6783 typage correct des variants, cf morematch.ml l. 1060
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5202 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-10-30 02:51:51 +00:00
Luc Maranget aea14e3bb4 Petite discussion avec Jacques.
1 Pb typage variants, en attente, exemple dans test/Moretest/morematch.ml
  2 Meilleure compilation des switch de variants -> bytecomp/switch.ml
     a Vider la table t en cas de changement de ok_inter
     b Traiter les intervalles de taille 1 meme si !ok_inter = false


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-10-01 12:49:53 +00:00
Luc Maranget c0610c884a ouf tests finis ?
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-09-30 14:23:00 +00:00
Luc Maranget 28985bc330 proprifier + se garantir contre les 168 variants de tk.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5142 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-09-25 16:37:04 +00:00
Luc Maranget 6ed39326b9 petite optimisation des or-inutiles (gros bug ?)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5139 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-09-23 17:19:33 +00:00
Luc Maranget 987ce83e55 retour sur les avertissements *unused pattern*
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5138 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-09-23 08:36:46 +00:00
Pierre Weis ccd4123e89 Since string_of_float is now compatible with Caml lexical conventions,
there is no need to add an extra ".0" at the end of float tokens
(string_of_float does it for you if necessary).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5121 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-09-06 09:44:33 +00:00
Pierre Weis a829d1d7d6 Using formats %S and %C.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4959 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-27 09:27:14 +00:00
Luc Maranget 588f1bf2ba la nuit porte conseil, traitement correct des #t et des variants absents dans satisfiable et every_satisfiable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4842 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-05-27 08:04:03 +00:00
Jacques Garrigue 3751d24d01 unused match warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4838 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-05-27 03:09:18 +00:00
Luc Maranget d008daf24e a zut, j ai commis un bug
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4831 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-05-24 15:35:25 +00:00