User:Seanbutler/sandbox

Argonaut Strategy Language (or ASL) is a Multi-paradigm concurrent cross platform Domain-specific entertainment language developed by Tony Lloyd Lewis Gordon Dan Laufer and others at Argonaut Games. It was written using flex and bison and c and used in cross platform development of the Croc: Legend of the Gobbos Croc 2 Malice Aladdin and SWAT games, among others.

Syntactically ASL resembles Ada, though with many idiosyncratic features.

ASL does not run in an interpreter, but instead is compiled to bytecode similar to Java for execution on a virtual machine ported to the host system.

ASL is similar to Erlang in that the process is the primary unit of execution. Everything is a Strat and each Strat is a process which runs in parallel with the others.

"It was deeply coroutine based. Loops would implicitly yield the coroutine every iteration unless you specified not to."

Two main ways of communicating between Strats existed. Every strat was initiated with an alias to the strat which spawned it. Also via message passing.

ASL's first use was for the Croc: Legend of the Gobbos game.

ASL was tightly integrated into an asset pipeline and game development toolchain. References to assets on the filesystem of the development machine were automatically converted into addresses in the wad loaded on the execution machine.