The Introduction to RUSL

David Tanzer (dodger-guglhupf@users.sourceforge.net), Fri Jul 06 20:54:31 GMT+02:00 2001
Home
Intro
The RLS
PDD-Files
Developers
Doc Rel
Summary
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.

All Graphics made with The GIMP SourceForge Logo Visit sourceforge.net for many interesting and useful free software projects. This Project Homepage was created with XWeb.