Jactl is a powerful scripting language for Java-based applications whose syntax is a combination of bits borrowed from Java and Groovy, with a dash of Perl thrown in for good measure. See Jactl Language Features for a quick overview of some of the language features or Jactl Language Guide for a full description of the language.
Built-in continuation mechanism allows scripts to suspend execution while waiting for asynchronous reponses and then resume from where they left off. Execution thread is never blocked while waiting for a long-running response.
Scripts are tightly controlled. They can only perform operations provided as language functions by the application in which Jactl is embedded.
Execution state can be checkpointed and persisted or distributed over a network to allow scripts to be recovered and resumed from where they left off after a failure.
As well as being integrated into Java applications, Jactl can run as commandline scripts and has a REPL for interactively trying out Jactl code.