[
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: | Jacques Carette <carette@m...> |
| Subject: | Re: [Caml-list] Syntax vs Operators |
Damien Doligez wrote: > On Aug 22, 2005, at 17:55, Jacques Carette wrote: > >> I have been going through the documentation, trying to figure out >> which constructs in Ocaml are syntactic (like :: seems to be) and >> cannot be oer-ridden, and others like + which are values in >> Pervasives. Is there a simple way to find out which language >> constructs are purely syntactic? > > > You should look a the lexer documentation: > < http://caml.inria.fr/pub/docs/manual-ocaml/manual009.html >, > in the section titled "Prefix and Infix Symbols", you will get the > syntax of > all the user-definable symbols. Some of them are predefined, but you > are > guaranteed to be able to override them. You should avoid overriding > the ones > that are listed as keywords (in the next section), even if some of them > are actually redefinable in the current implementations. > Actually, the whole point of this question is that I want to redefine/override them - and I wanted to find out which I could not. I know I can override + if I want, I want to know about the ones like :: which have a pre-defined meaning but can not be overridden. By carefully reading sections 9 and 15 of the manual, I have managed to extract this information - I was just hoping that there was something simpler that I had somehow overlooked. The point is to see how much of a DSL I can create in Ocaml, using Ocaml syntax, by using lots of Functors. Very much in the spirit of the Lua-ML interpreter in fact, except that I want to use Caml syntax rather than having to parse a new language. Or I may decide to adapt the camlp4 macros for the ``revised syntax'' for my purposes. Jacques