Hydroper© Jet Language


Hydroper© Jet is a scripting toolset being developed as a personal experience of using the ActionScript 3.0 language.

The compiler is planned to be developed on the Rust language and would allow other compilers above it to be developed, such as Adobe Flex based technologies that compile XML UI components.

Although Hydroper Jet is influenced by ActionScript, it shares many characteristics of the Rust ecosystem, such as package management and conditional compilation (specially the configuration {...} directive that is similiar to Rust's cfg_if), with additional requirement of JetPM platform namespaces to split packages per platform.

See links

Latest changes

  • The design for nullability is now fully decided and is highly similiar to ECMAScript 4th edition.
  • Fat arrows are eliminated in favour of ECMAScript 4th function() x bodies.
  • The specification is complete in syntax, thus satisfactory. Eventually I might fully fill the semantics and evaluation phases, but they are not strictly necessary.

Not much of relevant yet, I'm trying to improve the language design, as well as the specification page stylesheet, but one day who knows the specification is done...

If anyone is really interested, here's the new live specification:


1 Like

The compiler codebase now has an (apparently fully working) parser.

Note that it does not perform error recovery, but it emits multiple diagnostics to the compilation unit.

To test it yourself:

To test parsing a program producing output to the command line, run:

cargo run --bin hydroper_jet_parser_player -- --source-path tests/parsing/Demo.jet

To test parsing a program producing output to two files .ast.json and .diag, run:

cargo run --bin hydroper_jet_parser_player -- --source-path tests/parsing/Demo.jet --file-log