Vortex is a multiplexing effect runtime for Haskell. You can put it anywhere and attach it to anything. Include any DSL and any choice of interpreter and side effects.
A live console for the look of this page. What you change shows on your page only.
Vortex is a toolkit for creating custom shells for use with interpreted Haskell. A Vortex Shell can be compiled with a choice of algebraic effects and corresponding interpreters, providing an execution environment with a heavily restricted set of side effects, whilst maintaining all of the syntactic benefits of Haskell.
Vortex can be used interactively or non-interactively, in a terminal, or over a websocket with SSH. Any do-block sent to a Vortex Shell will first type-check, then execute, and finally return actual Haskell values.
Vortex Shells are so secure that they can be directly exposed to the internet and execute arbitrary untrusted code, without the need for any sandboxing or process isolation.