Skip to content
/ gel Public

The Glib-Extension-Language (gel) is a scheme-like language completely written in GLib and C.

License

Notifications You must be signed in to change notification settings

tigrux/gel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The GLib-Extension-Language (or just Gel) is a dynamic language
completely written in GLib and C, but inspired in Guile, Clojure and Python.

It is very easy to use, since everything is an literal, symbol or array.

The Code is very small, just 5 public modules, and a few more of support.

What makes Gel different is that everything is implemented in GLib:
- Symbols are GValues.
- Functions are GClosures.
- Arrays are GArray.
- Objects are instantiated by type.
- Parsing is done with GScanner.
- Symbols are resolved using GHashTables.
- Arithmetic and logic are exposed as functions that take GValue.

Bindings for Vala are provided (see tests/test.vala)
Support for gobject-introspection is not complete yet but works.

However, the project is not mature yet, so speed or elegance is not a
priority yet. The current goal is to prevent memory leaks and provide
an API comfortable to use from both C, Vala and Gel.

A few examples are available in tests/ and examples/

About

The Glib-Extension-Language (gel) is a scheme-like language completely written in GLib and C.

Resources

License

Stars

Watchers

Forks

Packages

No packages published