Skip to content

qjpcpu/glisp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GLisp

Image text

This is a LISP dialect designed as an embedded extension language for the Go programming language. It is implemented in pure Go, so it can be easily ported to all systems and architectures that Go targets.

Here is a list of what features are implemented and not implemented so far.

  • Float, Int, Char, String, Bytes, Symbol, List, Array, and Hash datatypes
  • Arithmetic (+, -, *, /, mod)
  • Shift Operators (sla, sra)
  • Big integer
  • Bitwise operations (bit-and, bit-or, bit-xor)
  • Comparison operations (<, >, <=, >=, =, and not=)
  • Short-circuit boolean operators (and and or)
  • Conditionals (cond)
  • A Basic Repl
  • Lambdas (fn)
  • Bindings (def, defn, and let)
  • Tail-call optimization
  • Go API
  • Macro System
  • Syntax quoting (backticks)
  • Channel and goroutine support

The full documentation can be found in the Wiki.

About

LISP dialect implemented in Go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 82.4%
  • Common Lisp 14.1%
  • Clojure 3.0%
  • Other 0.5%