caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Pierre Weis <pierre.weis@inria.fr>
To: markus@oefai.at (Markus Mottl)
Cc: pierre.weis@inria.fr, caml-list@inria.fr
Subject: Re: [Caml-list] kprintf with user formatters
Date: Mon, 19 Jul 2004 12:00:03 +0200 (MET DST)	[thread overview]
Message-ID: <200407191000.MAA16411@pauillac.inria.fr> (raw)
In-Reply-To: <20040716171444.GC741@fichte.ai.univie.ac.at> from Markus Mottl at "Jul 16, 104 07:14:44 pm"

[...]
> Well, I suppose you don't want to imply that I should refrain from using
> modules Printf and Format?  They are full of Obj.magic!

I certainly not want to imply that you should refrain from using
Printf, Format, Scanf, and also the ocaml interactive system,
given that they all use Obj.magic.

However, all those uses of Obj.magic have a strong theoretical
justification. In the best case they have been proved to be perfectly sound.

In any case, we certainly never have a proof that some of those
Obj.magic uses can lead to a wrong value (as a closure supposed to
have type unit would be).

> I have definitely given it some thought whether there could be some
> kind of unsound use of return values, but I didn't find anything,
> because unit-values are always ignored.

Thank you for given some thought about unsound use of Obj.magic on the
compiler. If you ever discover one (out of Marshall), please let us
know, we will be glad to modify it :)

However, I'm glad that you ``didn't find anything''. I should say that
this is not, as you guessed, ``because unit-values are always
ignored'': the reason is more likely to be that we always have strong
evidence that those Obj.magic occurrences are harmless and extremely
hard to eliminate.

> Any other solution I have seen so far is much more complicated: it either
> requires the use of a preprocessor, thunking or the use of lazy values
> (I had already used them before - very unwieldy) or forces unnecessary
> computations even if some action at the current log level shouldn't
> be logged.
> 
> The only sufficiently efficient, elegant and safe solution would be to
> introduce some kind of flag into the fprintf_out function in Printf so
> that it doesn't call string conversion functions.  Or provide a dummy
> function that just parses the format string and removes arguments.
> This way a zprintf-function could be put into the interface.

Once more you do not solve the problem of arguments useless
evaluation. I'm convinced that the more elegant way is to introduce
some support for logging into the system.

Regards,

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis/


-------------------
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:[~2004-07-19 10:00 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-30 16:32 Damien
2004-07-14 21:10 ` Pierre Weis
2004-07-15  0:17   ` Markus Mottl
2004-07-15  7:30     ` David MENTRE
2004-07-15  7:59       ` Jean-Christophe Filliatre
2004-07-15 23:35         ` henri dubois-ferriere
2004-07-15  7:39     ` Damien
2004-07-15 12:19       ` Markus Mottl
2004-07-15 12:42         ` Basile Starynkevitch [local]
2004-07-15 13:45           ` Markus Mottl
2004-07-15 14:22             ` Basile Starynkevitch [local]
2004-07-15 14:57               ` Markus Mottl
2004-07-16  6:47               ` Pierre Weis
2004-07-16  7:13                 ` Jean-Christophe Filliatre
2004-07-16  7:23                   ` henri dubois-ferriere
2004-07-16  7:44                     ` Jean-Christophe Filliatre
2004-07-16 17:56                   ` Markus Mottl
2004-07-19  9:17                   ` Pierre Weis
2004-07-19  9:32                     ` Jean-Christophe Filliatre
2004-07-16  7:21                 ` henri dubois-ferriere
2004-07-16 17:44                 ` Markus Mottl
2004-07-19 10:10                   ` Pierre Weis
2004-07-19 10:43                     ` Jon Harrop
2004-07-21 15:52                       ` Pierre Weis
2004-07-21 17:43                         ` lazyness in ocaml (was : [Caml-list] kprintf with user formatters) Daniel Bünzli
2004-07-22 16:28                           ` Pierre Weis
2004-07-22 17:03                             ` William Lovas
2004-07-22 23:00                             ` skaller
2004-07-23  3:32                               ` William Lovas
2004-07-28  7:26                               ` Pierre Weis
2004-07-28  8:06                                 ` skaller
2004-07-28  8:29                                   ` Daniel Bünzli
2004-07-28  9:13                                   ` Pierre Weis
2004-07-28  9:36                                     ` skaller
2004-07-28  9:38                                     ` skaller
2004-07-28 10:17                                 ` Jason Smith
2004-07-28 12:31                                   ` skaller
2004-07-21 20:41                         ` [Caml-list] kprintf with user formatters Jon Harrop
2004-07-22 15:39                           ` Pierre Weis
2004-07-22 22:16                             ` [Caml-list] lazy evaluation: [Was: kprintf with user formatters] skaller
2004-07-22 22:42                             ` [Caml-list] kprintf with user formatters skaller
2004-07-22  8:05                         ` [Caml-list] wait instruction lehalle@miriad
2004-07-22  8:40                           ` Olivier Andrieu
2004-07-22 10:35                             ` lehalle@miriad
2004-07-22 10:33                           ` Vitaly Lugovsky
2004-07-16  6:17             ` [Caml-list] kprintf with user formatters Pierre Weis
2004-07-16 17:14               ` Markus Mottl
2004-07-19 10:00                 ` Pierre Weis [this message]
2004-07-16  6:02       ` Pierre Weis
2004-07-16  8:42         ` Damien
2004-07-19  9:00           ` Pierre Weis
2004-07-16 16:52         ` Markus Mottl
2004-07-19  9:28           ` Pierre Weis
2004-07-15 22:20     ` Pierre Weis
2004-07-15 23:01       ` Markus Mottl
2004-07-16 16:17     ` james woodyatt

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=200407191000.MAA16411@pauillac.inria.fr \
    --to=pierre.weis@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=markus@oefai.at \
    /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).