caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>
To: caml-list@inria.fr
Subject: Re: [Caml-list] camlp4: pretty printing not to a file
Date: Fri, 6 Sep 2002 03:36:28 +0200	[thread overview]
Message-ID: <20020906033628.A26991@verdot.inria.fr> (raw)
In-Reply-To: <A2D52C6E-C0EC-11D6-9EB4-00039375801A@yahoo.com>; from jehenrik@yahoo.com on Thu, Sep 05, 2002 at 12:29:23PM -0400

Hi,

On Thu, Sep 05, 2002 at 12:29:23PM -0400, jehenrik wrote:

> Thanks for the response, this seems to be what I am looking for, but the 
> code snippet you sent does not work for me.  I'm running ocaml+camlp4 
> 3.04

Indeed your code does not work in the latest version 3.06, because
the interface of Spretty has changed. Spretty is not documented because
it is likely to change and you use it with your own risks.

The message you get:

> print_expr2 r;;
> <pr_fun: not impl: expr; tag = 14>- : string = ""

is an error from me, I am sorry. Not a bug, but an error in the
message. I changed it in my current version and now the message
will be:

  print_expr2 r;;
  Exception: Failure "no loaded printer for expr".

indicating that you need to load a printer. Do:
   #load "pr_o.cmo";;

to get a printing module (or pr_r.cmo if you want to pretty print
in revised syntax).

>    Spretty.print_pretty Format.print_char Format.print_string
>      Format.print_flush "" "" 78
>      (fun (_,_) -> ())  (pr.pr_fun "top" x "" [<>]);

Mmmm... I see that this code has been borrowed from the module Pcaml
of Camlp4. But I am not sure of my code, in particular the use of
"Format" because Spretty has its own pretty printing features which
does not use Format. I have to look at that.

And in version 3.06, because of interface change, this code does not
work any more. Write it as:

   Spretty.print_pretty Format.print_char Format.print_string
     Format.print_flush "" "" 78
     (fun _ _ -> "", 0, 0, 0)  0 (pr_fun "top" x "" [<>]);

But I repeat that this code is not documented and you use it at
your own risks.

Well, since I see that people would like to use the Camlp4 pretty
printing like that, I am going to see how I could propose that with
a good interface and without these hacks. In the meantime, you can ask
me for hints.

-- 
Daniel de RAUGLAUDRE
daniel.de_rauglaudre@inria.fr
http://cristal.inria.fr/~ddr/
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2002-09-06  1:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-29 18:51 jehenrik
2002-08-30  7:46 ` Yann Régis-Gianas
2002-08-30  8:34   ` Daniel de Rauglaudre
2002-09-05 16:29   ` jehenrik
2002-09-06  1:36     ` Daniel de Rauglaudre [this message]
2002-09-06  9:09       ` Yann Régis-Gianas
2002-09-06 12:29         ` Daniel de Rauglaudre
2002-09-06 16:35         ` jehenrik
2002-09-06 17:13           ` Daniel de Rauglaudre
2002-09-06 16:45         ` jehenrik
2002-08-30  8:21 ` Daniel de Rauglaudre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020906033628.A26991@verdot.inria.fr \
    --to=daniel.de_rauglaudre@inria.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).