Browse thread
Ocaml compiler features
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | tab@s... |
| Subject: | Re: [Caml-list] Ocaml compiler features |
On Mon, Jan 15, 2007 at 12:23:32PM -0800, Martin Jambon wrote: > OCaml is well-enough designed so that there is no "common" syntax > extension. There ARE common syntax extensions. how many people miss a try-except-finally construct ? how many people miss a return statement to break the flow of a function. etc .. I'm not talking about weird extensions that ease the life of grammar writter or lambda calculus , etc .. but really the basic one. I still think camlp4 is a good idea for limited use like this. > The problem is that people use it for a variety of things, and > each domain may benefit from particular enhancements of the syntax. > Either you incorporate all those extensions into the standard syntax, > which is totally insane, or you consider them just as libraries. Loading > a library is no big deal, whether it provides more functions or more > syntax. I'm especially not talking about all extensions, but obviously the ones that everybody can use, whatever they works on. > IMHO the problem is more that writing camlp4 syntax extensions is very > different from writing everyday OCaml code. In other words, > it is inaccessible to beginners, and most other people think it's too > complicated anyway. It requires too much expertise and only few people are > able to maintain such code. What about the beginners then ? All what you suggest below doesn't really help making it more accessible I think. > Here is a list of things that I suggest if one ever wants to have a > standard and widely use way of extending the syntax in OCaml: > [snip] I like this special "macro" keyword and this should also be part of the language. So does some specific construction like try-finally. -- Vincent Hanquez