Commit Graph

54 Commits (b2465b0dee180044d1df2ca121e171aa2e0c818d)

Author SHA1 Message Date
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
Jérôme Vouillon 102a6bbccc Occur-check plus strict ('a list as 'a ne passe plus).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-12 11:15:51 +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 554036180b Revision de Ctype.equal
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1500 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-04-12 12:39:20 +00:00
Jérôme Vouillon 86fe89892b Meilleur approximation des modules utilises.
Bug de Ctype.moregeneral


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1485 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-04-01 20:52:21 +00:00
Jérôme Vouillon 87e358d2eb Ajout de btype.ml{,i} (operations de bases sur les types)
Modification de correct_levels, moregeneral et subst
Changement de la valeur de generic_level
Correction d'un bug de correct_abbrev


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1452 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-24 20:12:00 +00:00
Jérôme Vouillon a8c282cbd5 Ctype.substitute renomme en Ctype.apply
Simplification de closed_schema
Prise en compte d'un possible echec de la fonction subst (exception
Cannot_apply pour Ctype.apply; Ctype.expand_abbrev leve l'exception
Cannot_expand en cas d'echec)
Bugs de Ctype.moregeneral


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1409 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-18 21:05:15 +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 bc6c077122 Bug de moregeneral.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1375 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-12 17:41:34 +00:00
Jérôme Vouillon fe510f90a5 Modifications de commentaires.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1354 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-10 00:19:08 +00:00
Jérôme Vouillon ceb1ac730d Quelques commentaires supplementaires.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1352 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-09 18:42:51 +00:00
Jérôme Vouillon 57ae4bb09b Nettoyage de nondep_type.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1350 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-09 16:52:49 +00:00
Jérôme Vouillon be33766263 Nettoyage de moregeneral et non_recursive_abbrev.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1348 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-08 22:05:39 +00:00
Xavier Leroy b72e959744 Suppression du ; optionnel, trop ambigu. La syntaxe est suffisamment confuse comme ca.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1340 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-08 12:14:57 +00:00
Jérôme Vouillon 7c9257ee69 Plus de compression de chemin dans repr
Correction d'un bug de update_level
Ctype.expand_root renomme en Ctype.expand_head
Nettoyage de occur
Nettoyage (partiel) de moregeneral
Nettoyage de closed_schema. Prend maintenant 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@1336 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-07 22:44:02 +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 c343ab7991 Quelques petits changements...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1248 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-24 20:54:56 +00:00
Jérôme Vouillon b85a7d45f5 Correction de bugs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1247 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-23 12:46:46 +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
Jérôme Vouillon ffcad91131 Unification sous prefixe : le test d'occurence ne traverse pas tout le
type. Il faut donc utiliser une fonction a part : `check_level'


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1113 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-28 17:51:55 +00:00
Jérôme Vouillon 6fbd844af1 `build_supertype' inutilise.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1111 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-27 09:43:07 +00:00
Jérôme Vouillon 352a42e6b6 Message d'erreur correct pour `(1 : int :> bool)'.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1106 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-26 19:39:26 +00:00
Jérôme Vouillon 845e4b0563 Revision de la fonction `occur' : accepte de nouveau les recursions a
travers des types construits qui ne sont pas des abreviations (e.g.:
unification de 'a list avec 'a).
Gestion correcte des abreviations du genre 'a t = int.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1101 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-26 15:43:02 +00:00
Xavier Leroy e4626b17e3 Meilleur traitement des abreviations dans Ctype.moregen et Ctype.moregen_occur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1098 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-25 13:40:04 +00:00
Xavier Leroy c540d67fde Deplacement d'un try...with dans expand_abbrev.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1041 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-01 09:47:18 +00:00
Jérôme Vouillon f82b5566e4 Garder autant que possible une abreviation lors de l'unification de
deux types #xxx.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1014 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-23 17:15:59 +00:00
Jérôme Vouillon 8ebda1067b Correction d'un bug de moregeneral.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-23 15:57:00 +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
Jérôme Vouillon 1acce46d66 Un argument etait inutilise dans linear_abbrev.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1001 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-21 12:02:42 +00:00
Jérôme Vouillon 1a196e07ea Reecriture de correct_abbrev, qui etait beaucoup trop lent dans
certains cas.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1000 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-20 21:29:50 +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 c5bbe99551 Correction d'un bug (occur check qui bouclait parfois).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@867 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-10 11:26:54 +00:00
Jérôme Vouillon 2a073e5ee9 Comparaison de la longeur des listes avant de faire List.iter2.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@856 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-31 12:27:03 +00:00
Jérôme Vouillon 012f9feca5 Modification du calcul d'un sous-type pour (e :> t).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-05-28 14:30:52 +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
Xavier Leroy d4d799ee8f Rendons a Cesar...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@771 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-29 13:24:25 +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 a620df2a84 Bug dans Ctype.moregeneral corrige.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@453 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-16 13:27:53 +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 083af27a36 Env.find_ font raise Not_found au lieu d'une erreur si le path n'est
pas trouve (p.ex. parce que un .cmi n'est pas disponible).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-03 13:23:03 +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 371c25886c Possibilite de rendre manifestes des types variant ou record
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@290 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-26 20:23:29 +00:00