From: Andrej Bauer <Andrej.Bauer@andrej.com>
To: Caml <caml-list@yquem.inria.fr>
Subject: Re: [Caml-list] [OSR] Standard syntax extensions ?
Date: Sun, 27 Apr 2008 08:58:56 +0200 [thread overview]
Message-ID: <48142430.9000705@andrej.com> (raw)
In-Reply-To: <74cabd9e0804261432o116f4db5w2f5777496da17d94@mail.gmail.com>
Arthur Chan wrote:
> That
> said, there are some of us who feel that that the python infix syntax is
> clearer, and as it corresponds more directly to the mathematical
> notation, it is just as provably correct as the List.mem notation is.
> If reusing "in" is a big deal, then maybe we could do "in_list" or
> "inlist"? That'd be more type-safe too.
Just a small correction, if you will alow me. When we speak of
correctness of a programming language we do not say that "syntax is
provably correct" but rather that the "implementation is correct".
For example, we could say "Ocaml has a correct compiler" in the sense
that type-safe programs don't explode (which is false), or "functional
core of Ocaml has correct operational semantics" with respect to
standard domain-theoretic denotational semantics. But we do not say "the
mem syntax is provably correct".
Actually, the whole phrase "provably correct" is often misused in
computer science, at least the way I understand it. If you prove
something then it is "proved correct", while a thing is "provably
correct" if we _could_ prove it correct. Perhaps a native speaker of
English can clarify this point.
> The python syntax goes further than just the "in" bit, in fact. They
> can do list comprehensions like [for x in blah if f(x)]. Now every
> functional guru will recognize this immediately as the bastardization of
> List.filter. While it'd be nice to have that, I come across List.filter
> much less than List.exists/mem.
I rather like the Python comprehension syntax, as well as Haskell's. I
also really like Haskell's infix notation x `op` y.
> Whatever.... it's just a minor quibble, but this thread was about
> syntax extensions, after all.
Isn't everything on this list a minor quibble? ;-)
Best regards,
Andrej
next prev parent reply other threads:[~2008-04-27 6:59 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-24 15:49 David Teller
2008-04-24 15:52 ` [Caml-list] " John Whitington
2008-04-25 8:22 ` Richard Jones
2008-05-01 7:45 ` Richard Jones
2008-04-24 16:16 ` [Caml-list] [OSR] Standard syntax extensions ? - voting Stefano Zacchiroli
2008-04-25 15:15 ` David Teller
2008-04-26 0:16 ` Stefano Zacchiroli
2008-04-24 16:41 ` [Caml-list] [OSR] Standard syntax extensions ? Martin Jambon
2008-04-24 17:02 ` Jon Harrop
2008-04-24 20:53 ` Berke Durak
2008-04-25 8:24 ` Richard Jones
2008-04-25 16:59 ` Berke Durak
2008-04-25 17:31 ` Gerd Stolpmann
2008-04-25 17:38 ` Richard Jones
2008-04-25 10:33 ` Andrej Bauer
2008-04-25 15:32 ` David Teller
2008-04-24 17:05 ` Dario Teixeira
2008-04-25 13:57 ` Peng Zang
2008-04-25 15:04 ` David Teller
2008-04-25 16:11 ` Peng Zang
2008-04-25 20:37 ` Arthur Chan
2008-04-26 7:41 ` Richard Jones
2008-04-26 7:53 ` Till Crueger
2008-04-26 21:32 ` Arthur Chan
2008-04-27 6:58 ` Andrej Bauer [this message]
2008-04-27 14:14 ` Christopher L Conway
2008-04-27 17:41 ` [Caml-list] " David Teller
2008-04-27 17:44 ` David Teller
2008-04-25 22:25 ` Mike Lin
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=48142430.9000705@andrej.com \
--to=andrej.bauer@andrej.com \
--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).