This Document describes the idea of RUSL, our goals and in which areas RUSL could
be used. Please read also the History of RUSL
where you might find some interesting facts about RUSL too.
|
|
The idea
|
|
Programming in XML
When Rene and I started working together on RUSL Rene had the idea to write
a language which uses XML as source files. This has some advantages:
|
You can represent the whole parse tree of the program in xml, so you
can just take the tree from the xml - parser and interprete it without a normal
parser.
|
|
XML is easy to convert to other formats with XSLT. In this case this
means, that it is easy to extract the documentation from the source files and it
is also easy to convert them to other programming languages.
|
A disadvantage is, that it's pretty much work writing xml - files, so
you'll need an xml - editor to write RUSL - programs, but that should no be
a great problem.
Object Oriented Programming with RUSL
From the first moment on it was clear, that RUSL would be an object oriented
language. It should contain all the tools needed to write object oriented programs.
It should also contain newer features, which are not included to every programming
language.
RUSL and Platypus
We at Platypus RUSL are defining the language RUSL together with all who
want to help us / discuss with us. We will also write a RUSL interpreter.
The reason why we call us "Platypus RUSL" and not only "RUSL" is, that we want to
differ between the programming language "RUSL" and the interpreter we write. That's
because we want to make it easy to write RUSL interpreters for others too (Without
having name conflicts).
RUSL and Edgar
Peter Becker, who is now a developer at our project too, is writing the
Schema based editor Edgar.
I realized that his project is very related to ours, because he wants to use xml
to represent programs too. Read more about edgar at the project homepage (link
above).
|
The RUSL Language Specification
|
|
General Information
You can find a PRE RELEASE of the RUSL Language
Specification 1 (RLS 1)here. Here you'll
find detailed information about RUSL.
The RLS Discussion
Since the RLS is still being developed and far away from being finished, we
are discussing about it. If you want to join the discussion, please subscribe to the
mailing list "platypus-discussion@lists.sourceforge.net". You can do this following
the links from the
SourceForge Project Summary page.
You can also post to the discussion forum which you'll find at the project
summary page too, but we'd prefer using the mailing list.
|
The use areas of RUSL
|
|
An independent programming language
The RUSL files can be interpreted as they are with RUSL interpreters
(i.e. Platypus RUSL). In this case RUSL could be used for scripting (maybe
serverside scripts), but also for larger programs (once we have a good class
library).
A macro language
We want to distribute our RUSL interpreter as a library too, so you
can use RUSL as a macro language for your project. Maybe there will also be
a Java version of the Platypus RUSL interpreter (in the far future), then
RUSL and RUSL scripts can be used in Java projects too
Representation / Management of projects
RUSL could also be used to represent programs with another target language.
The programs can then easily be converted to that target language (i.e. Java, C++)
using XSLT. That's what Edgar
will do.
|