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