ane / guile-example-program

A Guile skeleton program

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A project template for an executable Guile program

This repository is an example template for creating an application that is programmed using Guile. This repository is actually just a useful bundle of GNU Autoconf files that are necessary when creating a distributable Guile application.

What this example does

This example installs an executable Guile program called gep. scripts/gep is a Scheme file that will then load the example module.

During installation (make install), the module example will be compiled to bytecode. This will make the program run faster. These files will be installed in the Guile %site-ccache-dir.

So, if you want to build a fully Guile-powered program, clone this repo and hack away. I recommend the gep script file in scripts/ stay small, instead, try extending the example module as much as you can.

While developing, if you want to run the program, do

./pre-inst-env scripts/gep <ARGS>

so that the load path is correct. This needs ./configure to have been run.

Development

If you use GNU Emacs, I recommend Geiser. This project contains a .dir-locals.el file that sets up some convenience variables:

  • It sets guile as the Scheme implementation
  • It adds the root path of the repository into the Guile load path

This way, hitting (use-modules (example core)) in the Geiser REPL will be able to find those lines automatically.

Installation

Clone this repository, run

./bootstrap
./configure
make
make install

This installs an executable script called gep in your path and it does nothing in particular.

Running unit tests

make check

TODO

  • Guix package description
  • Support for various Scheme package managers:

License

GNU GPL. See COPYING.

About

A Guile skeleton program

License:GNU General Public License v3.0


Languages

Language:Scheme 74.9%Language:M4 12.4%Language:Makefile 6.3%Language:Shell 4.2%Language:Emacs Lisp 2.2%