I finally "descripted" a demonstration of the bottom-up method of extracting a language from an example java application. The demonstration is a little more detailed than the one I presented at OOPSLA 2007.
I started writing a detailed tutorial: http://ngrease.sf.net/HEAD/quickstart.html
I will publish updates as frequently as I can.
Minor modifications and layout enhancements on the rest of the site, too.
After a long process of sketching, asymptoting, colouring, reading and studying, I'm finally satisfied enough to publish a new version (and, partially, the colour scheme) of the ngrease logo.
At the same time I corrected an error that never should have existed and started to version-control the website.
In the future the site history will refer to svn. The old history is still accessible from the previous version at http://ngrease.sourceforge.net/index-2008-04-05.html
After a ridiculously long delay I'm happy to publish ngrease-0.3.0 and ngremental-0.1.0, an ngrease language (and a collection of other files) for generating and using an incremental ant script.
The newly published logo is visible at http://ngrease.sourceforge.net
I have the great opportunity to demonstrate a lightweight bottom-up method of using ngrease at OOPSLA 2007.
The demonstration article (that will be included in the ACM Digital Library) is available at http://ngrease.sourceforge.net/oopslade03-oikarinen.pdf
I just enabled the wiki service provided by sourceforge.
Feel free to post questions, ideas, hints and whatever related to ngrease and metaprogramming.
Don't worry about structure, we can always refactor later.
This release strengthens the template nature of ngrease by adding slicing support for metaexpressions inside parent expressions (see the introduction article).
The whole "java" language has been reimplemented, using the slicing feature. Now it's more beautiful, and there are much more features, too.
$:keep-children now supports the child-symbol parameter that enables referring to the child in the condition.... read more
This release adds a few features:
New user expressions $:append-children, $:child-count and $:compose.
$:compose is the first expression in the default context written in ngrease itself instead of java.
The article->html language creates anchors for all headings, and the html->html-source language naturally supports them, too.
The introduction article contains an explanation of the "enable - ensure - enforce" principle of ngrease.
This is the first downloadable release of ngrease.
The metalanguage has a fairly usable featureset. Several (small but non-trivial) languages
already work, and their implementations look quite promising for the usability of the
metalanguage. The coding conventions and even implementations need some cleanup, though,
since the project has evolved so much during their development.
At this stage things are probably not so smooth for a new ngrease user: error messages may
not be friendly enough, some expression variations don't work as expected (and are avoided
in examples) and so on.... read more
I got finally my thoughts organized enough to write them down as an introduction article. So the feedback process can begin...
And now ngrease has an article language usable enough for writing an article about ngrease :)
Ngrease is now a code-generating interpreter implemented in java instead of just a code generator that uses groovy as an embedded DSL platform :)
Tody I imported my local svn proto repository to sourceforge.
Now the project not only uses svn for development, but the content also is completely new. The new iteration is aimed at creating a genuine (functional) language to base the transformation system on, not only a "simple" framework.
It also finally integrates with my ideas about a "computing environment" in which an object's (file's) definition can be different from its content.... read more