Clio is a micro-services based programming language. Functions you define in Clio are isolated, they capture the outside scope when you define them, this scope is frozen for them, that means they cannot change the outside scope and they will not receive any updates from it. This reduces side effects and allows us to fork the process and be sure all functions return the same results for the provided arguments.
It has a host utility that you can use to host these functions. This host utility forks the process containing these functions. It listens to the port you provide and hosts the functions as microservices. These hosted functions can be imported and used remotely in some other Clio code. The host utility also supports sending event emitters and events over the network and allows to have a reactive stream of data.
I'm writing a remote call protocol specification for Clio, with this protocol you can write your microservices in any other language and import them in your Clio code, or import them in any other language of your choice and use them just like regular functions. In languages supporting asynchronous function calls, you can map these remote functions to a set of data and do your computations simultaneously. Clio runs in the browser too and all these features can be used on the browser.