Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Pierre Weis <pierre.weis@inria.fr>
To: skaller@ozemail.com.au
Cc: pierre.weis@inria.fr, rich@annexia.org, caml-list@inria.fr
Subject: Re: [Caml-list] Printf question
Date: Tue, 30 Sep 2003 22:52:35 +0200 (MET DST)	[thread overview]
Message-ID: <200309302052.WAA26950@pauillac.inria.fr> (raw)
In-Reply-To: <1064927948.8999.18.camel@pelican> from skaller at "Sep 30, 103 11:19:08 pm"

> > What do you mean by ``not type safe at all'' ?
> > 
> > The common acceptation is ``it could lead to type errors at runtime''.
> 
> What I think he means is that it isn't type safe with respect to an
> SQL typing: the Ocaml typing is not 'sound' for SQL in that bogus
> SQL syntax can be produced by type correct Ocaml: 
> the SQL call can result in an SQL Syntax Error at run time.

 Thank you very much for the clarification. So the problem is the
generation of programs (SQL requests) that should be well-typed (for
SQL).

 The normal Caml approach to this kind of problems is to generate a
tree like structure with constructors (the AST of the request) and
then to pretty-print this tree to textual form.

 This way the pretty-print phase is simple and may easily generate
syntactically correct requests. Hence, we end with the problem of
generating sound trees for the requests.

 The first benefit of this two stages approach is that the
constructors are typed, thus their applications is typechecked and
statically eliminate the generation of trivially wrong programs (wrong
requests). If this checks (provided for free by the Caml compiler) are
not sufficient to obtain the expected safety, you probably need to
write an extra static analysis pass on the generated tree to detect
the remainding errors.

Mmm, this is interesting, but this is no more a printf problem, and
indeed far from a simple programming question ...

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:[~2003-09-30 20:53 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-26 18:02 Richard Jones
2003-09-26 19:04 ` Alain.Frisch
2003-09-29  7:44   ` Mike Potanin
2003-09-27  0:11 ` Olivier Andrieu
2003-09-27  7:23   ` Richard Jones
2003-09-27  8:20     ` Basile Starynkevitch
2003-09-27  9:14       ` Richard Jones
2003-09-27  9:39         ` Maxence Guesdon
2003-09-29 16:42         ` Pierre Weis
2003-09-29 18:13           ` Richard Jones
2003-09-29 19:57             ` Pierre Weis
2003-09-29 21:50               ` Richard Jones
2003-09-29 22:36                 ` Pierre Weis
2003-09-30  8:03                   ` Richard Jones
2003-09-30  8:45                     ` Pierre Weis
2003-09-30  9:17                       ` Michal Moskal
2003-09-30 14:14                         ` Christophe TROESTLER
2003-09-30 13:19                   ` skaller
2003-09-30 20:52                     ` Pierre Weis [this message]
2003-10-01 14:39                       ` Christophe TROESTLER
2003-10-01 14:57                         ` Richard Jones
2003-10-01 15:52                           ` [Caml-list] DBI (was: Printf question) Christophe TROESTLER
2003-10-01 16:21                         ` [Caml-list] Printf question Florian Hars
  -- strict thread matches above, loose matches on Subject: below --
2003-05-18  1:34 Brian Hurt
2003-05-18  3:23 ` Manos Renieris
2003-05-18  3:32 ` William Lovas
2003-05-18  6:06 ` Basile STARYNKEVITCH
2003-05-19  9:39   ` Damien

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=200309302052.WAA26950@pauillac.inria.fr \
    --to=pierre.weis@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=rich@annexia.org \
    --cc=skaller@ozemail.com.au \
    /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