caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Christopher L Conway" <cconway@cs.nyu.edu>
To: "Andrej Bauer" <Andrej.Bauer@fmf.uni-lj.si>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Formal specifications of programming languages
Date: Wed, 13 Feb 2008 13:27:44 -0500	[thread overview]
Message-ID: <4a051d930802131027o6459e7e7i6d35d4eb6e186eea@mail.gmail.com> (raw)
In-Reply-To: <47B33548.1010001@fmf.uni-lj.si>

But, Andrej, we don't even have an *informal* semantics. :-( You've
got to walk before you run.

Chris

On Feb 13, 2008 1:22 PM, Andrej Bauer <Andrej.Bauer@fmf.uni-lj.si> wrote:
> I see people have opinions about formal semantics.
>
> Having formal semantics for a programming language is a valuable thing,
> even if most people do not understand it. Such semantics is a piece of
> mathematics that removes (hopefully) every doubt as to what we are
> talking about, and has other benefits as well. High priests can then
> write sermons in common language and explain the meaning of the Holy Word.
>
> It would probably be quite hard to provide formal semantics for complete
> ocaml, for several reasons, such as sheer size, C interface, and the
> fact that it is a moving target.
>
> But what is formal semantics good for?
>
> Complete formal semantics written with a tool such as Coq, together with
> formal proofs of its properties (existence of principal types,
> uniqueness of typing, type preservation, progress lemma) is good for
> automatic extraction of a prototype type-checker and/or interpreter.
> This can be extremely valuable for PL researchers who want to experiment
> with new features.
>
> Incomplete formal semantics written in a series of papers and
> dissertations is still quite useful. It allows researchers to clearly
> express and communicate ideas. Once a person learns how to read the
> mathematics that may greatly help his or her understanding of corner
> cases and peculiar examples.
>
> We (researchers) should encourage "ordinary programmers" to read formal
> semantics by writing manuals and textbooks that incorporate the
> formalism and decorate it with sufficient explanation.
>
> Think about the fact that specifying concrete syntax in BNF-like
> formalism has become the norm. Programmers happily read it and the
> benefits are obvious. Nobody suggests that syntax should be explained in
> English prose because BNF is too hard to understand. So why are you
> suggesting that the norm for describing other pieces of a programming
> language, such as typing rules and operational semantics, should be
> primarily (or only) English prose?
>
> Andrej
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
>


  reply	other threads:[~2008-02-13 18:27 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-13 18:22 Andrej Bauer
2008-02-13 18:27 ` Christopher L Conway [this message]
2008-02-13 19:45   ` [Caml-list] " Andrej Bauer
2008-02-14  9:00     ` Jacques Garrigue
2008-02-14  9:08     ` Xavier Leroy
2008-02-15 14:30       ` Christopher L Conway
2008-02-18 10:05         ` Jacques Garrigue
2008-02-18 16:44           ` Jacques Carette
2008-02-18 21:52             ` Christophe Raffalli

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=4a051d930802131027o6459e7e7i6d35d4eb6e186eea@mail.gmail.com \
    --to=cconway@cs.nyu.edu \
    --cc=Andrej.Bauer@fmf.uni-lj.si \
    --cc=caml-list@yquem.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).