Execute code on your server through your browser

The evaluator allows you to play with Hyperlambda code, and execute your code in “immediate mode”, for then to see the result of your execution immediately. The evaluator is also a nice starting point to learn Hyperlambda, since it contains a whole range of “Hyperlambda snippets” that somehow demonstrates Hyperlambda’s capabilities, and provides examples for you as you start out learning Hyperlambda. Click the “Load” button to load up some snippet, study it, modify it, and then execute it, for afterwards see the result of the execution immediately. Below is a screenshot of the evaluator component

Evaluator component

If you create a Hyperlambda snippet you for some reason want to save for later, you can save your Hyperlambda into your “snippets” collection by clicking the “Save” button, and giving your snippet a name. This allows you to create snippets you need to periodically execute, and store these as your “admin snippets”, to rapidly execute snippets that somehow does something towards your server.

Internals

The evaluator will transmit your Hyperlambda to the server, where Magic will “transpile” your Hyperlambda into a graph object, referencing .Net 6 CLR “slots” implemented in C#, resulting in being able to dynamically execute code, and returning the result of the invocation to caller. In such a regard Hyperlambda resembles XML, XSLT and XPath, although with a much less confusing syntax, where executing a snippet of Hyperlambda returns a “transformed” lambda object, which again is serialised as Hyperlambda and returned back to the client. This is why after having executed your Hyperlambda you can see its “result” below your input CodeMirror instance, such as illustrated below.

Hyperlambda result