Commit Graph

148 Commits (master)

Author SHA1 Message Date
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 4011817915 Relax the value restriction
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-12-03 02:57:23 +00:00
Jacques Garrigue 872b17e4bd collapse conjunctive types in class definition parameters
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-10-08 06:55:58 +00:00
Jacques Garrigue 3a2cbe9ef1 recupere les variables de type apres let module
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5072 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-08-05 05:58:08 +00:00
Jacques Garrigue d13715755c clean-up of universal and recursive types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-10 02:39:35 +00:00
Jacques Garrigue 21e57202d4 limit enlarge_type to 2 expansions involving object/variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4862 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-05-30 06:24:45 +00:00
Jacques Garrigue 3c3f028a73 change approach for slow subtyping, use counter
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4861 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-05-29 14:29:57 +00:00
Jacques Garrigue 418790e32b restrict recursion in enlarge_type
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4860 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-05-29 12:34:20 +00:00
Jacques Garrigue 0a8236066f vive les methodes polymorphes!
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4694 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-04-18 07:27:47 +00:00
Jacques Garrigue 141578ccef ajout d'un champ filtrage a Reither
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3453 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-03-03 00:14:35 +00:00
Jacques Garrigue fce71dd855 do not allow conjunctive types in patterns (PR#109)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3155 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-05-12 02:52:55 +00:00
Jacques Garrigue 97d12606f7 simplify conjunctive types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2853 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-24 10:18:25 +00:00
Jacques Garrigue 296fc05470 Merge olabl branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-30 16:07:38 +00:00
Xavier Leroy cc0f32b054 Changement de la licence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Jérôme Vouillon 00d13fbe0e Corrections de bugs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2499 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-08 23:05:03 +00:00
Jérôme Vouillon d69230b152 Bugs divers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2204 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-30 13:06:53 +00:00
Pierre Weis 4508b80100 Éviction des alertes des séquences: ajout de fonctions rendant unit ou
de prédicats dans le cas où l'on appelait une fonction pour savoir si
ça pouvait marcher en capturant une exception.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2172 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-12 14:53:46 +00:00
Jérôme Vouillon d1561bbfe8 Optimisation de la verification des relations d'egalite, d'instanciation
et de sous-typage entre types.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2010 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-07-03 17:40:39 +00:00
Jérôme Vouillon 87b17301f4 Nouvelle syntaxe des classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1997 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-24 19:22:26 +00:00
Jérôme Vouillon d7b9d6d5c7 expand_abbrev n'est plus exporte par Ctype.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1629 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-06-29 13:16:47 +00:00
Damien Doligez 03ec746bf1 deTABisation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1563 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-19 15:42:21 +00:00
Jérôme Vouillon cc1afe62cd Methodes privees.
Bug de l'occur check (boucle...).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1522 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-11 21:35:00 +00:00
Jérôme Vouillon 16e22fdf8f Bug de Ctype.moregeneral
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-04-01 20:52:36 +00:00
Jérôme Vouillon 151e685171 Ajout de btype.ml{,i} (operations de bases sur les types)
Modification de Ctype.correct_levels


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-24 20:11:26 +00:00
Jérôme Vouillon 67764ada10 Ctype.substitute renomme en Ctype.apply
Simplification de closed_schema


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-18 21:05:27 +00:00
Jérôme Vouillon 5cf4dd82e9 Correction d'un bug pour expansion des types generiques.
correct_level renomme en correct_levels et modifie.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-14 15:19:48 +00:00
Jérôme Vouillon 5a9f4d15d5 Support pour manipulation correcte des types apres l'inference
(generation de code, debugger, ...).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1391 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-13 21:18:06 +00:00
Jérôme Vouillon 751dcd48cc Nettoyage de nondep_type.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1351 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-09 18:40:54 +00:00
Jérôme Vouillon 9198297d2a Composants mis dans le meme ordre que dans ctype.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1347 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-08 22:04:36 +00:00
Jérôme Vouillon 57fcf1fe2b Ctype.expand_root renomme en Ctype.expand_head
Ctype.closed_schema prend un parametre supplementaire (possibilite de
generaliser completement un type au passage)
Fonction is_generic et exception Nonlinear_abbrev supprimees


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1337 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-07 22:49:24 +00:00
Jérôme Vouillon a4eea9ac45 Les parametres des constructeurs de types peuvent etres
contraints. Par exemple :
  type 'a t = 'b * 'c constraint 'a = 'b -> 'c


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-02-20 20:39:02 +00:00
Jérôme Vouillon 6c452fe5f5 Modification de la maniere dont l'expansion des abbreviations est
memorisee.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1245 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-21 17:43:53 +00:00
Jérôme Vouillon 66d9d41861 Encore des modifications de Ctype.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-21 13:38:42 +00:00
Jérôme Vouillon 9b2a6f0119 Debut de simplification de Ctype.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1242 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-20 17:11:47 +00:00
Xavier Leroy 033ec5b736 Decoupage du module Typedtree en deux: Types et Typedtree.
Sauver l'environnement de typage en plus du type dans les a.s.t. de Typedtree.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1008 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-23 11:33:27 +00:00
Xavier Leroy 3b14330560 Ident: ajout de Ident.iter.
Autres: unification sous prefixe lors de l'inference de types, corrige
le bug de Russo:
let x = ref [];; module F(X) = struct type t let _ = (x:t list ref) ... end;;


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-15 16:35:35 +00:00
Jérôme Vouillon ed1cdeebcf Amelioration de quelques messages d'erreur.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@840 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-26 13:42:34 +00:00
Jérôme Vouillon d6770a9231 Amelioration des messages d'erreurs d'unification (expansion des
abbreviations).
Typeclass: correction d'un bug de typage.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@828 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-20 16:43:29 +00:00
Jérôme Vouillon 064465320e Nettoyage : Label.t remplace par string.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-16 16:10:16 +00:00
Xavier Leroy 2301d778e7 Renommage en Objective Caml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Jérôme Vouillon 7974a9d8b1 Extension objets.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-22 11:15:41 +00:00
Xavier Leroy 6b49da1f2f Remise a zero des niveaux de variables au debut de chaque definition.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@572 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-22 10:54:36 +00:00
Xavier Leroy 7ad471596e moregeneral ne tenait pas bien compte des variables non generalisees
dans le schema le plus general.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@443 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-13 14:25:55 +00:00
Xavier Leroy 3db4ca0de1 Les variables 'a dans les contraintes de types sont considerees liees
au debut de la phrase (on leur donne le niveau 1).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@384 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-31 15:58:31 +00:00
Xavier Leroy 1f451d888e Detection des abbrev recursives corrigee (algorithme dit "du rho").
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@343 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-19 16:28:44 +00:00
Xavier Leroy e4066357b1 Ajout des notices de copyright
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy 61bd8ace6b Passage a la version bootstrappee (franchissement du Rubicon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00