H ? « »

Language peer sets for qSoul:
Designed 2000
2000s languages
New internationlism


alternate simple view
Country: Belgium
Designed 2000

Declarative reasoning about object-oriented programs: [http://prog.vub.ac.be/research/DMP/#Papers]
SOUL allows reasoning about the structure of class-based object-oriented languages.
The language that is reasoned about is represented using an internal parsetree representation, making SOUL a meta-language for Smalltalk. It is thus possible to query Smalltalk code and derive relations between static elements. This allows to express, extract and enforce the link between design and implementation. For example, we have queries to look for composite patterns, type instance variables (although Smalltalk is dynamically typed!), and extract UML class diagrams from code.
Currently the only base-language supported is Smalltalk, but using Frost we will add support for Java, enabling us to look at and validate the language independency.

Declarative code generation: [http://prog.vub.ac.be/research/DMP/#Papers]
A special logic term, called 'QuotedCodeTerm', allows for easy manipulation of sourcecode-templates.Using the logic inference-engine, we can compose such templates and hence, generate an entire program's source code.Recent versions of SOUL contain important changes to this construct.

The current version of SOUL used to be a split-off from the normal SOUL. We used to call it QSOUL, but from now on, this is the official SOUL version.

Related languages
SOUL qSoul   Evolution of
qSoul SOUL   Renaming

Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder