[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Groovy as an Elle implementation? (was Re: A language idea: Elle)



I'd just like to reopen an old thread for a moment if I may. I stumbled  
onto this list via a link to a post on a blog somewhere I forget  
(probably Lambda the Ultimate) and went through a bunch of the  
archives. I spotted the posts on Elle.

http://www.ai.mit.edu/~gregs/ll1-discuss-archive-html/msg02240.html

which grabbed my attention.

Reginald (or anyone else) did anything ever happen with Elle or did it  
stay just at the idea stage? A few of us have started hacking on a  
language called Groovy (more on that in a moment) which seems to fit  
quite closely to Elle's ideas. So I was wondering if work on Elle had  
started somewhere, maybe we could share ideas, experiences or code. I  
did some googling and couldn't find anything. Or if Elle hasn't  
started, then maybe we could use Groovy as a basis for what Elle was  
trying to achieve?


If its of any interest, here's a quick overview of Groovy...

http://groovy.codehaus.org/

Groovy is a dynamically or optionally statically typed language  
designed for the Java platform. It compiles straight to bytecode at  
'build time' or 'runtime' & has tight integration with Java (a groovy  
object == java object and vice versa) yet supports features from  
'higher level' languages like Ruby & Python (& the various precursors  
to those languages :) and so forth.

So we have autoboxing support, operator overloading, native List/Map  
syntax, closures(*), neater iteration and overall simpler syntax than  
java yet keeping a java-like feel, less syntax noise (; is optional), a  
path expression language (not unlike XPath), markup for defining  
structures (kinda like an alternative to XML), easier property notation  
etc.

For a more complete list of the differences from Java see this link...

http://wiki.codehaus.org/groovy/DifferencesFromJava

We're considering adding things like DTDs or Xen's cardinality type  
extensions (?, !, *, +) too...

http://jira.codehaus.org/secure/ViewIssue.jspa?key=GROOVY-53

We're fairly close to the first official beta release...

http://jira.codehaus.org/secure/BrowseProject.jspa? 
id=10242&report=roadmap

and Groovy is ideal for J2EE scripting, unit testing of Java code or  
writing groovlets (Servlets written in Groovy) to name but a few

http://groovy.codehaus.org/servlets.html


Anyways, just thought I'd give folks interested in Elle a heads up on  
Groovy; as in many ways Groovy has turned out to be an implementation  
of much of what the ideas of Elle express. (Apart from the  
Envelope-Letter pattern part, which you could implement easily with  
Groovy using an interface or dynamic proxy as the 'envelope').

*  not currently quite implemented as 'full' closures but we should  
have that implemented soon

James
-------
http://radio.weblogs.com/0112098/