1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
guile/module/scripts
Morgan Smith c7d170c5d1
Fix typos throughout codebase.
* NEWS:
* README:
* doc/r5rs/r5rs.texi:
* doc/ref/api-data.texi:
* doc/ref/api-debug.texi:
* doc/ref/api-evaluation.texi:
* doc/ref/api-io.texi:
* doc/ref/api-macros.texi:
* doc/ref/api-procedures.texi:
* doc/ref/api-scheduling.texi:
* doc/ref/api-undocumented.texi:
* doc/ref/libguile-concepts.texi:
* doc/ref/posix.texi:
* doc/ref/srfi-modules.texi:
* doc/ref/vm.texi:
* doc/ref/web.texi:
* examples/box-dynamic-module/box.c:
* examples/box-dynamic/box.c:
* examples/box-module/box.c:
* examples/box/box.c:
* examples/safe/safe:
* examples/scripts/README:
* examples/scripts/hello:
* gc-benchmarks/larceny/twobit-input-long.sch:
* gc-benchmarks/larceny/twobit-smaller.sch:
* gc-benchmarks/larceny/twobit.sch:
* libguile/expand.c:
* libguile/load.c:
* libguile/net_db.c:
* libguile/scmsigs.c:
* libguile/srfi-14.c:
* libguile/threads.c:
* meta/guile.m4:
* module/ice-9/match.upstream.scm:
* module/ice-9/ports.scm:
* module/language/cps/graphs.scm:
* module/scripts/doc-snarf.scm:
* module/srfi/srfi-19.scm:
* module/system/repl/command.scm:
* test-suite/tests/srfi-18.test:
Fix typos.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-07-16 22:09:01 +02:00
..
api-diff.scm Deprecate passing a non-zero size to make-module 2019-09-27 22:57:38 +02:00
autofrisk.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
ChangeLog-2008 guile-tools is a scheme script that loads scheme modules 2009-04-17 11:19:42 +02:00
compile.scm Bump user-visible copyright years to 2023. 2023-01-13 16:15:07 +01:00
disassemble.scm guild disassemble: Use #:prefix instead of #:renamer. 2014-09-20 05:47:05 -04:00
display-commentary.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
doc-snarf.scm Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
frisk.scm frisk: Fix incorrect #:autoload binding set leading to unbound variables. 2020-01-20 11:41:38 +01:00
generate-autoload.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
help.scm scripts: help: Fix reference to the "Using Guile Tools" node. 2017-11-22 16:21:59 +01:00
lint.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
list.scm Fix a couple of warnings. 2012-01-26 00:37:23 +01:00
punify.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
read-rfc822.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
read-scheme-source.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
read-text-outline.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
README rename guile-tools' to guild' 2011-05-31 22:01:47 +02:00
scan-api.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
snarf-check-and-output-texi.scm Remove redefinition of when & unless in snarf-check-and-output-texi 2019-05-23 17:16:30 +02:00
snarf-guile-m4-docs.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
summarize-guile-TODO.scm more work on "guild list" 2011-07-23 17:50:41 +02:00
use2dot.scm use2dot: Fix incorrect #:autoload binding set leading to unbound variables. 2020-01-20 11:43:28 +01:00

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]