Commit Graph

64 Commits (2da16025323bca2090e8478139104b4d4891db27)

Author SHA1 Message Date
Mark Shinwell a9cc0281e5 cycle detection in the toplevel printer (Leo White, https://github.com/ocaml/ocaml/pull/23/)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14766 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-08 08:31:45 +00:00
Jacques Garrigue b56dc4b3df PR#5584: merge open extensible types, extension-patch-4.0.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-04 23:08:45 +00:00
Jacques Garrigue 3b4d7cf63b Merge module-alias branch (cf. PR#6063)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-10 07:53:33 +00:00
Alain Frisch 0f6f367ad4 Change the representation of exception slots: instead of being represented as 'string ref', they are now blocks
of size 2, with tag = Object_tag, the first field being the pointer to the string, and second one being a unique id, generated
from the same sequence as for object values.  Special case for predefined exceptions, represented with a negative id.

The unique id generator is moved from camlinternalOO to the C runtime system.

Also fix some bugs.



git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14239 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-23 14:28:31 +00:00
Alain Frisch d802a51be6 #6203: change representation of exception values created with a constant constructor: the value is now equal to the exception slot. This avoids some allocation when the constructor is called and an extra indirection on matching against the constructor.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14235 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-18 13:00:58 +00:00
Jacques Garrigue 7a904bb8db make path normalization safer; now Core not only compiles but works
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14212 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-04 02:06:40 +00:00
Alain Frisch 645dcf25e5 Keep location and attributes in type, label and constructor declarations. Deprecated warning when a deprecated type or constructor is referenced.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14191 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-27 10:54:55 +00:00
Alain Frisch 0b37b27356 Stop keeping a Path.t to refer to labels and constructors in the Typedtree AST. This is not used internally and it is not a robust way to identify these objects unambiguously anyway
(especially when we will add more powerful disambiguation strategies).  The correct way to identify an item is through the pair (type,name), which can be deduced from the
label_description/constructor_description stored in the Typedtree.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13043 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 12:03:00 +00:00
Damien Doligez 59371b9d75 remove TABs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13014 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 18:01:26 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Jacques Garrigue d165ca651e PR#5722: toplevel: print full module path only for first record field
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12861 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-14 05:23:40 +00:00
Damien Doligez 997a678d5e clean up TABs and whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 18:04:46 +00:00
Damien Doligez 1330131d70 PR#5677: do not use "value" as identifier (genprintval.ml)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 15:03:11 +00:00
Fabrice Le Fessant d39d43e55f merge with branch bin-annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30 14:52:37 +00:00
Alain Frisch ab918e2078 Detect unused exception declarations (#5524).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-06 19:47:07 +00:00
Jacques Garrigue 156fff1b8a Keep type variable names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-22 09:05:42 +00:00
Jacques Garrigue 9dc661c3bf merge branches/gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Jacques Le Normand 1680403fb9 clean up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 06:01:27 +00:00
Jacques Garrigue f368f4e0d5 allow variance in GADTs
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 06:59:46 +00:00
Jacques Le Normand eb71566e57 fixed bug in genprintval
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-01 08:21:49 +00:00
Jacques Le Normand 304dba8a0f removed Type_variant, fixed bug in GADT exhaustive check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 04:02:02 +00:00
Jacques Le Normand a1910000e3 fixed bug in syntax extension. Made unification of variants and objects local. Removed personal comments
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10724 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-19 05:24:36 +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
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
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
Jacques Garrigue 877263c14a print private variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-06-13 04:55:53 +00:00
Xavier Leroy c3fff4348d Erreur dans tree_of_exception, cas untyped (PR#2652)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6400 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-13 16:23:35 +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
Pierre Weis e77055aad9 Complete move from virtual to private for concrete types with private
constructors (or labels).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-01 22:22:37 +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
Pierre Weis b5d0102c05 Nouveau format %$. Introduction des types virtuels: step 1 sans inclusion dans Camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5409 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-02-28 06:59:19 +00:00
Xavier Leroy 63ed4f3f53 Afficher les int32, int64, nativeint avec Oval_stuff plutot que comme des strings (moins surprenant pour l'utilisateur?)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4953 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-26 14:52:17 +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
Daniel de Rauglaudre 50161b7513 Regroupement des impressions "outcometree" dans un seul module oprint.ml.
Ajout de hooks de print dans toploop.mli.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4396 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-02-13 11:09:19 +00:00
Damien Doligez 9f64519070 bug string_of_float
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-01-24 17:47:21 +00:00
Damien Doligez 0dbce74fc8 lazy a la Tolmach
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4291 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-01-20 17:39:10 +00:00
Daniel de Rauglaudre 91497df2fc Correction bug PR#531
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-09-15 16:34:59 +00:00
Xavier Leroy fec31c40a1 Blinder l'affichage des tres longues chaines (PR#476)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3625 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-08-08 14:25:39 +00:00
Daniel de Rauglaudre 1480f1d60e -
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-08-07 20:04:59 +00:00
Daniel de Rauglaudre 3b5da7725e Personalisation de l'affichage des valeurs et des types dans le toplevel.
Ajouté module Outcometree et des hooks dans le toplevel: print_out_value et
print_out_type. (j'ai oublié de mettre un message log dans le 1er commit)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-08-04 10:08:19 +00:00
Daniel de Rauglaudre 10078faaa7 -
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-08-02 08:51:55 +00:00
Xavier Leroy b708229015 Support user-defined printers taking a formatter as first argument
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3566 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-07-03 11:04:10 +00:00
Jacques Garrigue 02ca0f87f8 enforce uniqueness of typing in label mode
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3490 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-04-19 08:34:21 +00:00
Xavier Leroy 0d336d1961 Imprimer les flottants avec plus de precision et en format %g
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-05 09:01:24 +00:00
Pierre Weis 2116da4220 Getting rid of obsolete boolean operators & and or
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-12-28 13:07:42 +00:00
Xavier Leroy 87ece3497e Affichage des exceptions, suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2991 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-26 12:11:10 +00:00
Xavier Leroy 5c65f975b2 Meilleure impression des exceptions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2990 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-25 18:55:45 +00:00
Xavier Leroy 7dfe9784b7 Revu la gestion des records de flottants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-21 14:43:25 +00:00