Interpreters built in Go

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • prolog

    The only reasonable scripting engine for Go.

  • There have been several Prolog interpreters written in Golang. This one appears to be most active: https://github.com/ichiban/prolog .

  • milisp

    Multiple implementations (Golang and Python) of LISP-like language to share the same ML pipeline over many systems

  • I've written tiny lisp-like-language interpreter to share data pipelines between Go and Python programs.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • gval

    Expression evaluation in golang

  • For practical start, see this: https://www.youtube.com/watch?v=JiViND-bpmw It explain one particular type of parser type that is quite easy to grasp and fun to write. Also look on some libraries that deliver "expression executors" - these are in fact small interpreted languages and can give you plenty of examples. Classic one (though currently unmaintaines I think) is: https://github.com/PaesslerAG/gval but there are plenty more, just google for them. On my last words, this is very enjoyable part of programming but it requires much learning so be patient and have fun!

  • tau

    A functional interpreted programming language with a minimalistic design. (by NicoNex)

  • Hi, if it can be of any help I wrote Tau in Go which is interpreted and has its own VM. It's inspired by the two books "Writing an interpreter in Go" and "Writing a compiler in Go", but differs a lot from the design proposed in the books which however helped me a lot with the development. Feel free to take a look, take inspiration or contribute :)

  • bass

    a low fidelity scripting language for project infrastructure (by vito)

  • I've been following https://github.com/vito/bass which is a LISP implemented in Go

  • gpython

    gpython is a python interpreter written in go "batteries not included"

  • https://github.com/go-python/gpython (Python interpreter in Go)

  • gomacro

    Interactive Go interpreter and debugger with REPL, Eval, generics and Lisp-like macros

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • yaegi

    Yaegi is Another Elegant Go Interpreter

  • neugram

  • https://github.com/crawshaw/neugram (Go-ish interpreter in Go)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts