mattn / Golisp
Licence: mit
Lisp Interpreter
Stars: ✭ 107
Programming Languages
Labels
Projects that are alternatives of or similar to Golisp
lispkit
FUNCTIONAL PROGRAMMING: Application and Implementation, Peter Henderson, ISBN 0-13-331579-7
Stars: ✭ 33 (-69.16%)
Mutual labels: lisp-interpreter
Pampy
Pampy: The Pattern Matching for Python you always dreamed of.
Stars: ✭ 3,419 (+3095.33%)
Mutual labels: lisp-interpreter
Yascm
Yet Another Scheme Interpreter using flex and bison
Stars: ✭ 36 (-66.36%)
Mutual labels: lisp-interpreter
parens
Parens is a highly flexible and embeddable LISP toolkit. 💻
Stars: ✭ 32 (-70.09%)
Mutual labels: lisp-interpreter
Glisp
A Lisp-based Design Tool Bridging Graphic Design and Computational Arts
Stars: ✭ 519 (+385.05%)
Mutual labels: lisp-interpreter
Esp Lisp
Beta: A small fast lisp interpeter for a ESP8266 as alternative to lua on the nodemcu.
Stars: ✭ 236 (+120.56%)
Mutual labels: lisp-interpreter
Mal Zh
The Make-A-Lisp Process 中文翻译,如何写一个Lisp解释器
Stars: ✭ 100 (-6.54%)
Mutual labels: lisp-interpreter
liyad
Liyad (Lisp yet another DSL interpreter) is very small Lisp interpreter written in JavaScript.
Stars: ✭ 27 (-74.77%)
Mutual labels: lisp-interpreter
genyris
Genyris presents a new programming paradigm. Objects can belong to multiple classes independent from construction allowing data to be classified into types after creation.
Stars: ✭ 14 (-86.92%)
Mutual labels: lisp-interpreter
jisp
Small Lisp expression interpreter made in Java
Stars: ✭ 19 (-82.24%)
Mutual labels: lisp-interpreter
Pampy.js
Pampy.js: Pattern Matching for JavaScript
Stars: ✭ 544 (+408.41%)
Mutual labels: lisp-interpreter
CoCoC
C development system for (Nitr)OS9/6x09, with source
Stars: ✭ 22 (-79.44%)
Mutual labels: lisp-interpreter
Seax
A VM-based runtime environment for functional programming languages
Stars: ✭ 36 (-66.36%)
Mutual labels: lisp-interpreter
Arpilisp
A Lisp interpreter for Raspberry Pi implemented in a single ARM assembly file
Stars: ✭ 470 (+339.25%)
Mutual labels: lisp-interpreter
Mumbler
My experimental programming language using Truffle
Stars: ✭ 100 (-6.54%)
Mutual labels: lisp-interpreter
golisp
Lisp Interpreter
Usage
$ golisp < foo.lisp
Installation
$ go get github.com/mattn/golisp/cmd/golisp
Features
Call Go functions.
Print random ints.
(setq time (go:import 'time))
(setq rand (go:import 'math/rand))
(.Seed rand (.UnixNano (.Now time)))
(print (.Int rand))
Use goroutine/channel
(setq time (go:import time))
(let ((ch (go:make-chan string 1)))
(go
(.Sleep time 1e9)
(go:chan-send ch "3")
(.Sleep time 1e9)
(go:chan-send ch "2")
(.Sleep time 1e9)
(go:chan-send ch "1")
(.Sleep time 1e9)
(go:chan-send ch "Fire!")
)
(print (car (go:chan-recv ch)))
(print (car (go:chan-recv ch)))
(print (car (go:chan-recv ch)))
(print (car (go:chan-recv ch)))
)
TODO
- macro
License
MIT
Author
Yasuhiro Matsumoto (a.k.a. mattn)
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].