
Hi, I've just stumbled over this site: http://pliant.cx/ At a first glance, it looks like an operating system (on top of Linux) written in a python alike language (indentation is significant, so it MUST be similar to Python :-) Don't know, if this can be usefull, or not. Cheers Stephan

Hello Stephan, On Tue, Oct 28, 2003 at 09:53:14AM +0100, Stephan Diehl wrote:
I know about it, it is a cool project because the language is to some extent self-defined -- you can access the parser and compiler from a module and change anything. However there are aspects I don't like. For one thing the language is defined first by a C core, on top of which a first layer adds more syntax, on top of which yet another layer adds more (sounds cool but it isn't very useful for the language user who still cannot modify these layers easily from his program). Another example: a library can access the syntax tree containing calls to its exported functions, which is nice for example to replace "(x**y)%z" with a "pow(x,y,z)" automatically. But it is a bit of syntactic magic, because if you write (the Pliant equivalent to): a = x ** y b = a % z then it won't notice it. Also note that there are actually a number of languages in which indentation is significant (e.g. O'Caml) but as in Pliant it is actually an "abbreviation" to mean something else with braces -- and you can use braces if you prefer. Python is the only language I know in which there are really no braces (or equivalent). A bientot, Armin.

Hello Stephan, On Tue, Oct 28, 2003 at 09:53:14AM +0100, Stephan Diehl wrote:
I know about it, it is a cool project because the language is to some extent self-defined -- you can access the parser and compiler from a module and change anything. However there are aspects I don't like. For one thing the language is defined first by a C core, on top of which a first layer adds more syntax, on top of which yet another layer adds more (sounds cool but it isn't very useful for the language user who still cannot modify these layers easily from his program). Another example: a library can access the syntax tree containing calls to its exported functions, which is nice for example to replace "(x**y)%z" with a "pow(x,y,z)" automatically. But it is a bit of syntactic magic, because if you write (the Pliant equivalent to): a = x ** y b = a % z then it won't notice it. Also note that there are actually a number of languages in which indentation is significant (e.g. O'Caml) but as in Pliant it is actually an "abbreviation" to mean something else with braces -- and you can use braces if you prefer. Python is the only language I know in which there are really no braces (or equivalent). A bientot, Armin.
participants (2)
-
Armin Rigo
-
Stephan Diehl