Gabriel Scherer
0338871043
rewrite cycle-detection in genprintval.ml to use O instead of Obj
...
(see previous commit)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15657 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13 15:33:48 +00:00
Gabriel Scherer
ecb299dfa7
rewrite the printing of Lazy values in toplevel/genprintval.ml
...
The code previously used Lazy.is_val to know whether the value was
already-evaluated (and, in this case, Lazy.force to extract this value
and print it more precisely). But it lies inside a functor that is
instantiated over different implementations of Obj, while
Lazy.{is_val,force} force the use of the Obj module of the standard
library. This could cause segfaults when this code is called from the
debugger, which instantiates it with a different Obj module talking
over a socket.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15656 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13 15:33:46 +00:00
Damien Doligez
9c53766241
apply GPR123: fix stupid bug in opttoploop
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-12 17:12:08 +00:00
Gabriel Scherer
f0cee36d3a
toplevel: be explicit about what path are used for
...
From: Pierre Chambart <pierre.chambart@ocamlpro.com>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15635 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06 17:11:11 +00:00
Gabriel Scherer
5f58cc7d3f
toplevel: generic printers are only allowed with 'new' printer style.
...
From: Pierre Chambart <pierre.chambart@ocamlpro.com>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15634 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06 17:11:09 +00:00
Gabriel Scherer
bdaf4c3cf5
toplevel: extends #install_printer to accept parameterised printers
...
From: Pierre Chambart <pierre.chambart@ocamlpro.com>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15633 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06 17:11:07 +00:00
Gabriel Scherer
9d01c60c3a
toplevel: allows the extension of 'genprintval.ml' with parameterised printer.
...
From: Pierre Chambart <pierre.chambart@ocamlpro.com>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15632 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06 17:11:04 +00:00
Gabriel Scherer
e98ee03205
fix regression in toplevel printing of lazy values
...
(fix from Leo White)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15602 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-23 09:17:59 +00:00
Jacques Garrigue
5adbb67a45
PR#6648: show_module should indicate its elision (add Osig_ellipsis to outcometree)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15573 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-10 09:09:23 +00:00
Damien Doligez
031cffd155
merge branch 4.02 from release 4.02.0 to release 4.02.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-15 13:34:58 +00:00
Alain Frisch
e3ad818fb5
Reintegrate-merge constructors_with_record5 branch.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:51:30 +00:00
Alain Frisch
56782ae7bc
#6609 : export Toploop.phrase.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-13 07:17:10 +00:00
Alain Frisch
37f4743986
Factorize.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15459 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-03 15:59:37 +00:00
Alain Frisch
2a6db79e0e
Prepare environment (with Compenv.readenv) before executing script passed on the toplevel command-line.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15412 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-01 14:50:36 +00:00
Alain Frisch
4c3cd9fb7b
Sync with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15334 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-25 15:49:42 +00:00
Alain Frisch
44c2066055
#5904 : improve support for ppx in the toplevel by allowing ppx processors to keep information across calls (through the use of persistent cookies). Also change Ast_mapper.register so that the function that creates the mapper from arguments is executed once the context has been restored.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15314 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-23 14:54:01 +00:00
Alain Frisch
378a967cb7
Sync with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-04 16:11:12 +00:00
Alain Frisch
adcd0fe5c9
#6529 : further optimize consistency check.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15171 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-01 08:36:47 +00:00
Damien Doligez
a18bc7950b
merge changes of version/4.02 from r15121 to r15155
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 17:14:00 +00:00
Damien Doligez
cbfe627f92
merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev 15121)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22 13:45:02 +00:00
Alain Frisch
50f47df33a
Sync with trunk. Rebinding of inlined extension constructors with free variables is not yet supported.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07 16:07:55 +00:00
Alain Frisch
047e09748c
Cherry-pick 15062,15063,15064 from 4.02 ( #6497 ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07 09:46:34 +00:00
Xavier Leroy
bb83542732
Reflecting commit 14976 on version/4.02:
...
PR#6211: in toplevel interactive use, bad interaction between uncaught
exceptions and multiple bindings of the form "let x = a let y = b;;".
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09 15:14:41 +00:00
Mark Shinwell
60d0af57c4
merge from 4.02: rev. 14858, Adding #ppx toplevel directive (patch by Peter Zotov, github #54 ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14928 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 12:10:06 +00:00
Jacques Garrigue
77cf8b999e
* split Typetexp.lookup_module and Typetexp.find_module
...
* fix semantics of -open by using Typemod.type_open_
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 12:02:26 +00:00
Jacques Garrigue
ccce272966
commit o_and_opens.diff
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14787 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-11 00:17:05 +00:00
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
1ce29d9bfc
re-commit Leo's weak-dependencies pull request
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07 00:34:20 +00:00
Jacques Garrigue
fc24112e25
change -trans-mod to -no-alias-deps, and update message
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05 02:05:30 +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
95104b3924
revert commit 14719
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-02 06:19:55 +00:00
Mark Shinwell
521ac0213a
weak dependencies with -trans-mod (github/ocamllabs/weak-depends 45e980a,21856a7,merge)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14719 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-01 12:50:20 +00:00
Damien Doligez
5b8df637d2
merge branch "safe-string"
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29 11:56:17 +00:00
Alain Frisch
d2de0d7b18
Revert 14616, 14617. Go back to the original syntax for toplevel directives, only allowing capitalized identifiers in addition to lowercase ones. Split #show into variants #show_val, #show_type, etc, and implement a generic #show which combines all the results.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14697 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-28 08:04:43 +00:00
Alain Frisch
3775a101e6
Avoid bad error report when a registered toplevel primitive raises Not_found.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14671 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-23 16:18:22 +00:00
Alain Frisch
eb617b5fe7
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14657 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-22 14:33:41 +00:00
Alain Frisch
ec52baed6f
#5377 : add a #show directive to the toplevel.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14618 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-17 09:24:14 +00:00
Alain Frisch
26a8bc20a7
Support for toplevel primitives with multiple arguments.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14616 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-16 16:51:37 +00:00
Alain Frisch
ca1e303b56
Keep the id for the synthesized sub-declaration in Cstr_record.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14560 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-08 13:24:24 +00:00
Alain Frisch
1d4e1364bd
Keep inlined records in Typedtree and Types. Synthesize record types when inserting in the environment and module components, as for labels and constructors. Following features are not supported: inline record for exceptions, GADTs, polymorphic fields.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@14553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 14:53:30 +00:00
Alain Frisch
d416414ccd
Adapt printer.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14548 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 12:42:49 +00:00
Alain Frisch
d75e2c8b01
Support for record arguments on exceptions.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14515 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-01 11:46:00 +00:00
Alain Frisch
ce4c5fad1d
Rvert parts of the original commit which are not relevant with the encoding approach.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 16:17:37 +00:00
Alain Frisch
4607a0f8e1
Encode record arguments into extra record declarations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 12:20:22 +00:00
Alain Frisch
132ff51559
Some preparation for record arguments.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14505 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-28 17:08:53 +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
Jacques Garrigue
d90b126bd4
Add -trans-mod option for transparent module dependencies.
...
Without that option, dependencies are strict, both for
typing and linking.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-20 06:55:26 +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