Introduction.

Winxed is a programming language targetting parrot.

Winxed repository: http://github.com/NotFound/winxed

I post some docs, examples and progress info in my posterous blog.

FAQ

What 'Winxed' means?
Winxed is:
  • ' Winged' spelled creatively.
  • used by Winx Club fans to mean works derived or inspired by the show, like this.
  • used by Full Metal Alchemist fans, but don't ask me who or why.
  • a word from James Joyce's "Finnegans Wake", see Finnegans Wake Concordex (Why not? They do it with 'quark', isn'it?).
  • anything you want, use your imagination.
Winxed is javascript?
No. The syntax is highly inspired by it, but is not compatible.
Do you accept donations?
Yes. See http://notfound.tecnawebs.com/

Documentation.

Data types.

Winxed has four native datatypes: int, float, string and var. They map directly to the parrot register types int, number, string and pmc. In function declarations the var type is assumed by default.

Constant expressions.

Several operators and predefined functions are evaluated at compile time if its arguments are constant. For example 'Hello' + ' world' generates the string 'Hello world'.

The evaluation of compile time expresions can be used to conditional compiling. For example, the instruction:

if (false) do_something();

does nothing. Note that the syntax must be valid.

Inlining PIR.

PIR instructions can be inlined using the syntax ${ pir_opcode [arguments] };

The arguments are parsed and executed as winxed expresions, allowing usages much more complex than pure PIR. The negative side is that PIR keyed operators can not be used (this may change in the future).

Labels can be used in the arguments with a ':' prefix, like this:

${ goto :here);
here:

And more...

whiteknight has included Winxed documentation in his project Rosella:

http://whiteknight.github.com/Rosella/winxed/index.html

Thanks!

Old information.

Old subversion repository: http://code.google.com/p/winxed/