Embed a scripting language inside Go

Kokizzu picture Kokizzu · Dec 16, 2014 · Viewed 19.2k times · Source

Is it possible to embed a language inside Go? I need it to create plugins inside my application.

Answer

Kokizzu picture Kokizzu · Dec 16, 2014

I found the list on Virtual Machines and Languages.

  • Gelo - Extensible, embeddable interpreter
  • GoForth - A simple Forth parser
  • GoLightly - A flexible and lightweight virtual machine with runtime-configurable instruction set
  • Golog - Prolog interpreter in Go
  • Minima - A language implemented in Go.
  • RubyGoLightly - An experimental port of TinyRb to Go
  • forego - Forth virtual machine
  • go-python - go bindings for CPython C-API
  • GoEmPHP - This package is built for Embedding PHP into Go.
  • goenv - Create an isolated environment where you install Go packages, binaries, or even C libraries. Very similar to virtualenv for Python.
  • golemon - A port of the Lemon parser-generator
  • goll1e - An LL(1) parser generator for the Go programming language.
  • golua - Go wrapper for LUA's C API
  • golua-fork - A fork of GoLua that works on current releases of Go
  • gotcl - Tcl interpreter in Go
  • meme - Scheme interpreter in Go
  • ngaro - An ngaro virtual machine to run retroForth images
  • otto - A JavaScript parser and interpreter written natively in Go
  • monkey - Embed SpiderMonkey, the Mozilla JavaScript engine, in your Go program.
  • go-v8 - V8 JavaScript engine bindings for Go
  • gomruby - mruby (mini Ruby) bindings for Go
  • LispEx - A dialect of Lisp extended to support for concurrent programming, written in Go.

Update:

  • Tengo - a small, dynamic, fast, secure script language for Go. (similar syntax with Go)
  • GoLuaJit, gijit, and others - LuaJIT, one of fastest JIT implementation
  • Elsa - Typescript and Javascript, based on QuickJS, same person who creates qemu, ffmpeg, tcc