Andy Wingo f169be9fc8 Wire up `guild compile -O0 foo.scm' 9 yıl önce
..
ChangeLog-2008 6d66647d5b guile-tools is a scheme script that loads scheme modules 15 yıl önce
README b8b0659879 rename `guile-tools' to `guild' 13 yıl önce
api-diff.scm a1a2ed5342 more work on "guild list" 13 yıl önce
autofrisk.scm a1a2ed5342 more work on "guild list" 13 yıl önce
compile.scm f169be9fc8 Wire up `guild compile -O0 foo.scm' 9 yıl önce
disassemble.scm 93009a7aca ,xx for RTL images 11 yıl önce
display-commentary.scm a1a2ed5342 more work on "guild list" 13 yıl önce
doc-snarf.scm a1a2ed5342 more work on "guild list" 13 yıl önce
frisk.scm a1a2ed5342 more work on "guild list" 13 yıl önce
generate-autoload.scm a1a2ed5342 more work on "guild list" 13 yıl önce
help.scm b8287e8823 better guild help FOO 13 yıl önce
lint.scm a1a2ed5342 more work on "guild list" 13 yıl önce
list.scm f5e772b2ba Fix a couple of warnings. 13 yıl önce
punify.scm a1a2ed5342 more work on "guild list" 13 yıl önce
read-rfc822.scm a1a2ed5342 more work on "guild list" 13 yıl önce
read-scheme-source.scm a1a2ed5342 more work on "guild list" 13 yıl önce
read-text-outline.scm a1a2ed5342 more work on "guild list" 13 yıl önce
scan-api.scm a1a2ed5342 more work on "guild list" 13 yıl önce
snarf-check-and-output-texi.scm c3c3032608 Make snarfing tools more robust to varied C preprocessor behavior. 10 yıl önce
snarf-guile-m4-docs.scm a1a2ed5342 more work on "guild list" 13 yıl önce
summarize-guile-TODO.scm a1a2ed5342 more work on "guild list" 13 yıl önce
use2dot.scm a1a2ed5342 more work on "guild list" 13 yıl önce

README

Overview and Usage
------------------

This directory contains Scheme programs, some useful in maintaining Guile.
On "make install", these programs are copied to PKGDATADIR/VERSION/scripts.

You can use guild to invoke a program from the shell, or alternatively,
load its file as a Guile Scheme module, and use its exported procedure(s)
from Scheme code. Typically for any PROGRAM:

(use-modules (scripts PROGRAM))
(PROGRAM ARG1 ARG2 ...)

For programs that write to stdout, you might try, instead:

(use-modules (scripts PROGRAM))
(with-output-to-string (lambda () (PROGRAM ARG1 ARG2 ...)))

Note that all args must be strings.

To see PROGRAM's commentary, which may or may not be helpful:

(help (scripts PROGRAM))

If you want to try the programs before installing Guile, you will probably
need to set environment variable GUILE_LOAD_PATH to be the parent directory.
This can be done in Bourne-compatible shells like so:

GUILE_LOAD_PATH=`(cd .. ; pwd)`
export GUILE_LOAD_PATH

[FIXME: Can someone supply the csh-compatible equivalent?]



How to Contribute
-----------------

See template file PROGRAM for a quick start.

Programs must follow the "guild" convention, documented here:

- The module name must be "(scripts PROGRAM)". A procedure named PROGRAM w/
signature "(PROGRAM . args)" must be exported. Basically, use some variant
of the form:

(define-module (scripts PROGRAM)
:export (PROGRAM))

Feel free to export other definitions useful in the module context.

- There must be the alias:

(define main PROGRAM)

However, `main' must NOT be exported.

Following these conventions allows the program file to be used as module
(scripts PROGRAM) in addition to being invoked by guild. Please also
include a helpful Commentary section w/ some usage info.


[README ends here]