caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alessandro Baretta <alex@baretta.com>
To: Ocaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Camlp4/OCaml [was: Generating C stubs]
Date: Tue, 21 May 2002 00:59:33 +0200	[thread overview]
Message-ID: <3CE97FD5.6000606@baretta.com> (raw)
In-Reply-To: <200205171432.QAA11555@pauillac.inria.fr>

Pierre Weis wrote:
>>FAIW, let me say I'm shedding blood to make my code compile 
>>when I raise exceptions that have non banal type lists: I 
>>always misplace my parentheses.
> 
> 
> Have you ever read the programming guidelines that explain the
> ``secrets'' of Caml parentheses ?
> 
> http://pauillac.inria.fr/caml/FAQ/pgl-eng.html
> 
> Section IV: When to use parentheses within an expression
> 
> If you learn the rules, if you follow those guidelines, and still
> experience problems, please let me know, since I used those simple
> principles for years with thousands of students (I really mean several
> thousands students not several students) and they had no problems once
> they had understood and learned those rules.

Thanks for mentioning them. All the documentation I have on 
Ocaml now is the "official" html manual, but the syntax part 
is not human-readable. I was never actually taught Ocaml, 
but rather I learned it (if I ever did) by writing code and 
trying to get it to compile. I never had problems figuring 
out the meaning and usage of type lists in constructors, 
with the sole exception of exceptions. Somehow, they have 
always escaped my inductive learning ability. I'll try 
reading the guidelines.

> On the other hand, I agree with you that if you don't know the rules
> for parens in Caml, you certainly should have problems to write your
> programs. This is the same problems as the one of young people at
> school that use to claim that mathematics _HAVE_ (*) syntactic
> problems because they never know where to put parens in

I have absolutely no authority to criticize the syntax; I 
just claim that some aspects of it are not user-friendly. 
Math transcends user-friendliness. It simply is not meant to 
be used in any definite way. It just sits there, exists. (I 
once heard an algebraist wonder if category theory had any 
*real* use.) Software systems, on the other hand, must be 
used by humans in order to be worth creating, and, for this 
reason, they ought to be as intuitive as possible. I still 
have not had time to mess with CamlP4 and cannot say much 
about it, but if its syntax is more intuitive than the 
native one, then welcome CamlP4.

Regards,
Alex Baretta

-------------------
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


  parent reply	other threads:[~2002-05-21 19:15 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-15  9:13 [Caml-list] Generating C stubs Jérôme Marant
2002-05-15  9:49 ` Jocelyn Sérot
2002-05-15 12:17   ` Jérôme Marant
2002-05-15 12:38     ` Remi VANICAT
2002-05-15 20:19       ` Jérôme Marant
2002-05-16  7:06     ` Florian Hars
2002-05-16  7:34       ` Markus Mottl
2002-05-16 19:13         ` [Caml-list] Camlp4/OCaml [was: Generating C stubs] Daniel de Rauglaudre
2002-05-16 19:27           ` Chris Hecker
2002-05-16 19:39           ` John Prevost
2002-05-16 19:44             ` Daniel de Rauglaudre
2002-05-16 20:28               ` Chris Hecker
2002-05-16 21:38               ` Markus Mottl
2002-05-17  0:31                 ` Alessandro Baretta
2002-05-17 14:32                   ` Pierre Weis
2002-05-17 15:31                     ` Markus Mottl
2002-05-17 21:18                       ` Pierre Weis
2002-05-17 21:37                         ` Dave Mason
2002-05-18  9:46                           ` Pierre Weis
2002-05-21 17:51                             ` Diego Olivier Fernandez Pons
2002-05-19 11:31                         ` Markus Mottl
2002-05-21 17:10                           ` james woodyatt
2002-05-20  1:18                         ` [Caml-list] Tail recursion detection John Max Skaller
2002-05-21  7:46                           ` Alain Frisch
2002-05-21 11:35                             ` Benedikt Grundmann
2002-05-21 15:12                             ` John Max Skaller
2002-05-22 12:44                               ` Noel Welsh
2002-05-22 16:47                                 ` John Max Skaller
2002-05-21  8:57                           ` Noel Welsh
2002-05-20 22:59                     ` Alessandro Baretta [this message]
2002-05-16 23:22               ` [Caml-list] Re: Camlp4/OCaml Christopher Quinn
2002-05-17  7:02                 ` Daniel de Rauglaudre
     [not found]               ` <Pine.BSF.4.40.0205170357340.11758-100000@bpr.best.vwh.net>
2002-05-17  7:09                 ` [Caml-list] Camlp4/OCaml [was: Generating C stubs] Daniel de Rauglaudre
2002-05-17  7:54               ` [Caml-list] Camlp4/OCaml Michel Mauny
2002-05-17  8:05                 ` Daniel de Rauglaudre
2002-05-16 14:09 ` [Caml-list] Generating C stubs Benedikt Grundmann
2002-05-16 16:37 ` Jeff Henrikson
2002-05-16 16:31   ` Benedikt Grundmann
2002-05-17  5:59     ` Jeff Henrikson
2002-05-16 23:22 [Caml-list] Camlp4/OCaml [was: Generating C stubs] Joshua D. Guttman

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=3CE97FD5.6000606@baretta.com \
    --to=alex@baretta.com \
    --cc=caml-list@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).