Skip to content
A Graphic-oriented Lisp interpreter to generate images.
C NewLisp Common Lisp C++ Makefile Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
Dockerfile
LICENSE
Makefile
README.md

README.md

Gisp

Gisp is a Graphic oriented lisp-like language interpreter written in C.

Gisp inherits most of the functions and syntax rules from Clojure, but is built for a much more specific and smaller scope than Clojure.

The main goal is to have a fast interpreter capable of parsing gisp file and generate SVG images through the Cairo library.

Gisp will provide an extensive graphic library full of useful functions to create, manipulate, and draw basic points, lines, and shapes.

Language Features

These functions are currently available inside the project:

  • Math: add, sub, mul, div, bitAnd, sin, cos, dsin, dcos, deg, rad, atan2, int, floor, ceil, pow, modulo, sqrt, log, log10, rand, seed, range
  • Sequences: cons, list, car, cdr, count, first, last, get, reverse, concat, assoc, vec, hashmap
  • Strings: str
  • I/O: read. write
  • Functions and defs: lambda, defn, def
  • Cairo SVG: make-surface, make-context, surface-status, surface-clean, line

These features are also present as macros:

  • quote
  • if
  • lambda
  • apply
  • def
  • defn
  • progn
  • let
  • reduce
  • map
  • mapv
  • profile

Full Documentation

I'm working to get an automatic documentation system with doc strings and it will be available as soon as possible.

Todo

  • REPL
  • advanced string functions
  • Error messages
  • Garbage collection

Credits

Gisp is heavily influenced by:

You can’t perform that action at this time.