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.
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:
I'm working to get an automatic documentation system with doc strings and it will be available as soon as possible.
- advanced string functions
- Error messages
- Garbage collection
Gisp is heavily influenced by: