Questions tagged [guile]

GNU Guile is the GNU project's official plugin infrastructure. Guile typically refers to the Scheme front-end which Guile provides.

GNU Guile is the GNU project's official plugin infrastructure. It is intended to be plugged into applications through libguile, but can also be run as a standalone Scheme interpreter.

Guile has a few front-end languages:

  • Scheme, supporting R5RS fully and some of R6RS (the default)
  • EmacsLisp
  • ECMAScript, which has some implementation, but is not completed
  • Lua, which is planned but as of yet nonexistant

Guile has support for modules outside of the core system, which allow for things that are either at SRFI status, or not implemented in Guile's core. See the list of included modules for exactly what the bundled modules do.

Guile has extensive documentation which is hosted here. It contains details on both embedding Guile into applications as well as its features at the language level.

There is also a tutorial that explains step-by-step how to use guile in a straightforward Logo-like ("turtle graphics") application.

261 questions
60
votes
16 answers

Lisp Web Frameworks?

What are the popular (ok, popular is relative) web frameworks for the various flavours of LISP?
jsight
  • 27,819
  • 25
  • 107
  • 140
38
votes
3 answers

Strange multiplication behavior in Guile Scheme interpreter

I was practicing Scheme in Guile 1.8.8 interpreter on OS X. I noticed something interesting. Here's expt function which is basically does exponentiation expt(b,n) = b^n : (define (square x) (* x x)) (define (even? x) (= (remainder x 2) 0)) …
ahmet alp balkan
  • 42,679
  • 38
  • 138
  • 214
20
votes
6 answers

Guile and Emacs?

I'm learning Emacs Lisp and I came across this decade old post saying that at some point Guile (Scheme) will replace Emacs Lisp, or Emacs will be rewritten with Guile.…
anon
15
votes
1 answer

Differences between Guile Scheme and Standard Scheme (in Racket IDE)?

I've got a bunch of "legacy" Guile Scheme code that I want to get running in the Racket Scheme IDE. There appear to be enough differences to make this a non-trivial exercise. (My level of Scheme knowledge is the level to complete the The Little…
hawkeye
  • 34,745
  • 30
  • 150
  • 304
13
votes
2 answers

How to use arrow keys in mzscheme/guile REPL?

When I'm typing in the REPL of guile or mzscheme (define x 15) and then press arrow key I get (define x 15)^[[D Is it a terminal problem? or something needs to be configured? It's painful to rewrite a line for a simple edit
ayhid
  • 475
  • 2
  • 10
12
votes
5 answers

How to change current directory in GNU Make

I want to separate the directory with sources from the directory with targets. And it seems that changing the current working directory from Makefile should be the simplest solution. Explicit path to targets is not sufficient because of the…
ruvim
  • 7,151
  • 2
  • 27
  • 36
11
votes
6 answers

How to parse out base file name using Script-Fu

Using Gimp 2.6.6 for MAC OS X (under X11) as downloaded from gimp.org. I'm trying to automate a boring manual process with Script-Fu. I needed to parse the image file name to save off various layers as new files using a suffix on the original file…
Donald Byrd
  • 7,668
  • 4
  • 33
  • 50
10
votes
1 answer

Scheme: why this result when redefining a predefined operator?

I received an unexpected result when redefining the + operator in a scheme program using guile. I should point out that this occurred while experimenting to try to understand the language; there's no attempt here to write a useful program. Here's…
Ian Mackinnon
  • 13,381
  • 13
  • 51
  • 67
10
votes
1 answer

The Seasoned Schemer, letcc and guile

A few questions here, regarding letcc that is used in The Seasoned Schemer. (define (intersect-all sets) (letcc hop (letrec ((A (lambda (sets) (cond ((null? (car sets)) (hop '()) ((null? (cdr…
d11wtq
  • 34,788
  • 19
  • 120
  • 195
9
votes
1 answer

Execute command line from Scheme (Guile)

The question is described on the title, basically I'd like to execute a command line from scheme, let's say 'ls' and obtaining the output. So my questions are: Is it possible? How? Thanks a lot in advance! By the way I use Guille.
pafede2
  • 1,626
  • 4
  • 23
  • 40
8
votes
2 answers

When to use lambda definition with a "bare" formal parameter?

I'm learning Guile Scheme at the moment, and in the documentation I suddenly ran into the following construction: ((lambda args (display args)) 42) => (42) This threw me for a loop; up until this point I had assumed formal parameters were always…
Janne
  • 979
  • 4
  • 13
8
votes
1 answer

How to check for memory leaks in Guile extension modules?

I develop an extension module for Guile, written in C. This extension module embeds a Python interpreter. Since this extension module invokes the Python interpreter, I need to verify that it properly manages the memory occupied by Python objects. …
Omer Zak
  • 1,147
  • 2
  • 8
  • 25
8
votes
3 answers

controlling evaluation in scheme (guile)

This seems like a simple question; perhaps it is so simple that it is difficult to find a search that will find the answer. In Scheme (specifically, the Guile implementation if that makes any difference) how do I evaluate something that has been…
Michael
  • 9,060
  • 14
  • 61
  • 123
8
votes
1 answer

Is it possible to embed Guile in a C++ app on iOS or Android?

Guile looks somewhat straightforward to embed into a C/C++ project, but how does it fare on iOS or Android? Does it require 3rd party libraries that are unavailable for those platforms? How is it as an embeddable scripting language as opposed to…
GrooveStomp
  • 374
  • 3
  • 18
7
votes
1 answer

How do I use SRFI-1 in Guile?

I am trying to use srfi-1 in guile. I used the following code to include the srfi: (use-modules (srfi srfi-1)) However, I get an error saying that srfi is probably undefined. How should I used srfi? I tried googling this problem, but it seems that I…
Rohit Shinde
  • 1,575
  • 5
  • 21
  • 47
1
2 3
17 18