Scriptol, language for Web 2.0 scripts

The Scriptol language created in 2001 by Denis Sureau was defined according to seven rules: simplicity, security, conformance to standards, objectivity, multiple orientations, portability, easy teaching.
The scriptol code is either interpreted or compiled in PHP or C++, a scriptol program may be built as a binary executable.
Control structures are different and more powerful than in classical languages, allowing pattern-matching and automata (DFA). Security is one main goal of the language and variables are typed.
It is an universal language for making dynamic web pages, scripting, prototyping or GUI based applications. It integrates XML either in the source or from a loaded file.
Several innovations in Scriptol have been adopted by other languages ​​created since 2001.

Evolution of programming languages

You may use Scriptol:

A new version, Scriptol 2, appears un 2014.

Features of Scriptol

Syntax:

Statements are terminated by end of line.
Xml-like terminators: /if, /while, etc...
Each operator has only one usage, not several acccording the context as in C.
Scalar types are those of the real life: text, number, real, etc...
Compound assignments have the form:

x + 1 // means for: x = x + 1

Data structures:

Scalars, xml, class.

Control structures:

Composite if:

You can mix different types of comparisons and compare different types of data from one test to another.

if a
= 10: print "equal"
< 10: print "less"
else
        print "more"
/if 

While:

The while structure has several form and the let terminator protects against infinite loops.

while x < 10
  print x
/while    // infinite loop
while x < 10
   print x  
let x + 1 

Function definition:

The header is similar to that of C but several types may be returned together. The terminator is the return statement, the keyword only if the function returns nothing.

int, text funcname(... arguments...)
    ...statements...
return a, b

Simple print command:

The print command sends a newline after the text. The echo command does not.

print "Hello world!"

Scan structure:

Two lists are added and the contents of a sub-array parsed. Scan can parse multiple arrays at once.

listdemo = (1,2,3) + (4,5)
subdemo = listdemo[1..3]
scan subdemo
     print subdemo[]
/scan 

Should print: 2 3 4.

Embedding code into HTML page:

The scriptol code is converted to PHP by the solp compiler.

<?sol
     print "code embedded inside html";
?>

Scriptol 2

With the appearance of a compiler generating JavaScript code, the language has been adapted to a new audience. Originally created as a front-end in PHP 4, the language made ​​ programming easier with classes and inheritance, foreach and other structures PHP was missing at the time. PHP 5 has cost scriptol a part of its interest, and in addition the Hack language that adds typed variable, confirms this trend. The language had to adapt to a new environment.

The syntax is closer to the standard that is developed over time, where or a different syntax has no interest in itself:

Scriptol 2 requires editing of existing programs by simple substitutions without grammatical change.

More