Working on a server-less architecture, I wanted an embedded scripting language for Go.
I thought of using Lua embedded VM (Virtual Machine). I like Lua as is was designed to be an embedded scripting language. After some grokking around a few Go Lua VM implementations, I zeroed into Gopher Lua.
An alternative design I considered, was to use Docker to run the server-less micro-services, connecting the outside world through HTTP JSON API. Thus by using an API abstraction like Swagger, the events micro-functions can be made language independent. Hyper Ledger follows this approach, for Smart Contracts.
Another aspect, I considered is JS (Java Script) v/s Lua. JS is very popular, and web developers already are familiar with it. So, based on Gopher Lua benchmark, I tried my own:
The result shows that Hyper Ledger strategy to leverage Go language is the fastest, yet among the scripted languages Lua and JS; JS is faster than Lua.
Thus, for compiled languages I will stick with Go, and for scripting language I will go with Java Script.