---
name: "guile-1.8"
section: "1"
platform: "linux"
package: "guile-1.8"
version: "1.8.8+1-10"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/guile-1.8"
---

# guile-1.8(1)

a Scheme interpreter

## NAME

guile - a Scheme interpreter

## SYNOPSIS

**guile \[-q\] \[-ds\] \[--help\] \[--version\] \[--emacs\] \[--debug\]** **\[-l FILE\] \[-e FUNCTION\] \[\]** **\[-c EXPR\] \[-s SCRIPT\] \[--\]**

## DESCRIPTION

GNU Guile is an interpreter for the Scheme programming language.  It implements R5RS, providing additional features necessary for real-world use.  It is extremely simple to embed guile into a C program, calling C from Scheme and Scheme from C.  Guile's design makes it very suitable for use as an "extension" or "glue" language, but it also works well as a stand-alone scheme development environment.

The **guile** executable itself provides a stand-alone interpreter for scheme programs, for either interactive use or executing scripts.

This manpage provides only brief instruction in invoking **guile** from the command line.  Please consult the guile info documentation (type  **info guile** at a command prompt) for more information.  There is also a tutorial **(info guile-tut)** available.

## OPTIONS

- \-l

  Load scheme source code from file.

- \-e

  After reading script, apply FUNCTION to command-line arguments

- \-ds

  do -s SCRIPT at this point (note that this argument must be used in conjuction with -s)

- \--help

  Describe command line options and exit

- \--debug

  Start guile with debugging evaluator and backtraces enabled  (useful for debugging guile scripts)

- \--version

  Display guile version and exit.

- \--emacs

  Enable emacs protocol for use from within emacs (experimental)

- \--

  Stop argument processing, start guile in interactive mode.

- \-c

  Stop argument processing, evaluate EXPR as a scheme expression.

- \-s

  Load Scheme source from SCRIPT-FILE and execute as a script.

## ENVIRONMENT

- **GUILE\_LOAD\_PATH**

  If $**GUILE\_LOAD\_PATH** is set, its value is used to agument the path to search for scheme files when loading.  It should be a colon separated list of directories which will be prepended to the default %load-path.

## FILES

*~/.guile* is a guile script that is executed before any other processing occurs. For example, the following .guile activates guile's readline interface:

(use-modules (ice-9 readline))

(activate-readline)

## SEE ALSO

The full documentation for guile is maintained as a Texinfo manual.  If the info and guile programs are properly installed at your site, the command

-

  **info guile**

should give you access to the complete manual.

http://www.schemers.org provides a general introduction to the Scheme language.

## AUTHORS

Robert Merkel \<rgmerk@mira.net\> wrote this manpage.   Rob Browning \<rlb@cs.utexas.edu\> has added to it.

**guile** is GNU software.  Guile is originally based on Aubrey Jaffer's SCM interpreter, and is the work of many individuals.
