Skip to content

Latest commit

 

History

History
52 lines (33 loc) · 1.78 KB

README.md

File metadata and controls

52 lines (33 loc) · 1.78 KB

Gago | Programming Language Built in Go

if you are looking for the docs, go here

Gago is a interpreted programming language. It is fully written in Go.

Gago includes:

  • Lexer
  • Parser
  • VM
  • Module implementation
  • Easy embedding into your Go application
  • Standard library

View the projects timeline and progress here

The gago builtins module: (as of v0.7-alpha)

  • print(args...) type: function. Doc: prints the specified values seperated by a space
  • input type: function. Doc gets input from stdin until newline
  • teststring type: global variable. Use: testing purposes
  • sleep type: function. Doc: sleeps for the specified ms experimental
  • exit type: function. Doc: exits from the process experimental

Install

Download from the releases page

Objectives

Gago started as an experiment to find out how hard it would be to build a programming language in Go. With all the standard library written in Go, it would be faster than many programming languages, such as Python.

It can also be used as a wrapper around Go, since any Gago expression can be written in Go.

Status

gago currently:

  • Lexes all tokens correctly
  • Parses some expressions to AST
  • Is able to run the AST available right now (in the VM)
  • Has a builtin module and module system.
  • Is able to run defined Go functions inside the Gago script.

Taking the project further is the main goal. Making a simple language which can run just like any programming language would be a end goal. Once Gago is ready to run some of the more basic code, running benchmarks will be added.

Gago is currently in a pre-release or beta state.

License

This project is licensed under the MIT licence.