From: blue storm <bluestorm.dylc@gmail.com>
To: Joseph Young <ocaml@optimojoe.com>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Two Different Exception Behaviors in camlp4 on the toplevel
Date: Tue, 25 May 2010 09:28:23 +0200 [thread overview]
Message-ID: <AANLkTiniT4l-mKesPGPtIu3BdbvJXeyHjbl1hJhybswj@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1005250839350.10465@myhome>
In case you're interested in more sophisticated examples of the DSL +
phantom types combination, I've worked on [Macaque] wich is a SQL DSL
for Caml using essentially the same technique. We were able to encode
useful properties of the SQL values, such as nullability, in the OCaml
type system.
The translation from the DSL to the caml code is not always direct,
because in some case you want to generate elaborate source terms wich
use the type system to enforce static guarantees (eg. correcteness of
the GROUP BY clauses).
[Macaque] http://macaque.forge.ocamlcore.org/
prev parent reply other threads:[~2010-05-25 7:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-24 3:46 Joseph Young
2010-05-24 7:35 ` [Caml-list] " blue storm
2010-05-25 6:44 ` Joseph Young
2010-05-25 7:28 ` blue storm [this message]
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=AANLkTiniT4l-mKesPGPtIu3BdbvJXeyHjbl1hJhybswj@mail.gmail.com \
--to=bluestorm.dylc@gmail.com \
--cc=caml-list@inria.fr \
--cc=ocaml@optimojoe.com \
/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