Prexonite Script

Prexonite Script (or PXS for short) is a high level programming language targeted at the Prexonite scripting engine.

function main
{
    println("Hello World");
}

PXS is...
  • Inspired by C-family syntax (more specifically ECMAScript)
  • Procedural
  • An interface to most .NET classes*
  • Dynamic

*: There is only limited support for generics and features not available through reflection.PXS is not...

  • A replacement for any .NET language
  • Especially fast due to it's high level of abstraction
  • Safe**

**: The engine requires Reflection and IO permissions so malicious code can access most of the base class library.PXS features...

  • Duck typing
  • Unlimited redefinition of symbols
  • Nested functions (closures)
  • Functions as first class objects (lambda expressions)
Although PXS may be inspired by C-family syntax it still is quite different. Look at this:
Name SampleCode;
Description "Some sample code to show off";
Author SealedSun;

Add System to Imports;

Entry start

function start
{
    //Define the variable num in the scope of "start"
    var num;
    //Define a nested function
    function sayHello does
        Console::WriteLine("Hello $num");
   
    //Call the function several times while altering the variable num
    for(num = 0; num <5; i++)
        sayHello;
}

Lines 1-7 are meta statements. Some of those statements are pure decoration (Name, Description and Author) while others affect runtime behaviour (Entry and Imports).The first statement in the function is a local variable declaration.The next line is a nested function definition. Note that the nested function does not conatain its own definition of the variable i but instead uses the definition of the outer function.Next is a conventional for-loop.The last statement, the loop body, is a call to the nested function sayHello. Note that Prexonite Script does not force you to add empty parentheses. The syntax for getting function references would be "->sayHello".