> If think my hack is reasonable too, you just have to replace ocamlc and
> ocamlopt (if you already use ocaml 3.12.1) by the new compilers and it
> will work.

Indeed. It's just that in some cases (eg. you are no expert user
and/or use the ocaml binary packages of your distribution) the cost of
patching the compiler is quite high, and Std.dump is useful a degraded
but work-out-of-the-box solution.

On Fri, Dec 9, 2011 at 8:22 AM, Jérémie Dimino <[email protected]> wrote:
> Le jeudi 08 décembre 2011 à 22:39 +0100, Gabriel Scherer a écrit :
>> Of course, the "right" way to print/marshal data without changing the
>> language is to build a printer for your type from printer combinators.
>> Such combinators are available for example:
>> - in Jane Street Core library ( a Sexpable interface in each datatype module 
>> )
>> - in Xavier Clerc's Kaputt testing framework :
>> http://kaputt.x9c.fr/distrib/api/Utils.html
>>
>> You can also use metaprogramming (.. camlp4) to generate printer
>> functions from datatypes description automatically, using such
>> combinators. See:
>> - Markus Mottl's 'type-conv': http://hg.ocaml.info/release/type-conv
>> - Jeremy Yallop's 'deriving': http://code.google.com/p/deriving/
>
> These solutions would be usable only if everybody were using it. Right
> now almost nobody use them, and so if you want to print types coming
> from external library you still have to write the printer yourself.
>
>> Of course, printing values magically is still easier: you don't have
>> to build the printer yourself, passing subtype printers when
>> necessary, etc. I think Std.dump is reasonable for quick hacks or
>> debugging usage.
>
> If think my hack is reasonable too, you just have to replace ocamlc and
> ocamlopt (if you already use ocaml 3.12.1) by the new compilers and it
> will work.
>
> Of course don't use it in production code ;-)
>
> Cheers,
>
> --
> Jérémie
>


-- 
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Reply via email to