Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
chibi-scheme(1)		    General Commands Manual	       chibi-scheme(1)

NAME
       chibi-scheme - a	tiny Scheme interpreter

SYNOPSIS
       chibi-scheme  [-qQrRfTV]	[-I path ] [-A path ] [-D feature ] [-m	module
       ] [-x module ] [-l file ] [-e expr ] [-p	expr ] [-t module.id ] [-d im-
       age-file	] [-i image-file ] [--]	[ script argument ...  ]

DESCRIPTION
       chibi-scheme is a sample	interactive Scheme interpreter for the	chibi-
       scheme  library.	  It serves as an example of how to embed chibi-scheme
       in applications,	and can	be useful on its own for writing  scripts  and
       interactive development.

       When script is given, the script	will be	loaded with SRFI-22 semantics,
       calling	the  procedure	main (if defined) with a single	parameter as a
       list of the command-line	arguments  beginning  with  the	 script	 name.
       This works as expected with shell #! semantics.

       Otherwise,  if  no script is given and no -e or -p options are given an
       interactive repl	is entered, reading, evaluating, then printing expres-
       sions until EOF is reached.  The	repl provided is very minimal -	if you
       want readline completion	you may	want to	wrap  it  with	the  rlwrap(1)
       program.	  Signals  aren't  caught either - to enable handling keyboard
       interrupts you can use the (chibi process) module.  For a more  sophis-
       ticated	REPL with readline support, signal handling, module management
       and smarter read/write you may want to use  the	(chibi	repl)  module.
       This can	be launched automatically with:	chibi-scheme -R	.

       For  convenience	 the  default  language	 is the	(scheme	small) module,
       which includes every library in the R7RS	small  standard,  and  transi-
       tively some other dependencies.	All of this together is	actually quite
       large, so for a more minimal startup language you'll want to use	the -x
       module  option  described  below.  To get a mostly R5RS-compatible lan-
       guage, use chibi-scheme -xscheme.r5rs or	to get just the	core  language
       used for	bootstrapping, use chibi-scheme	-xchibi	or its shortcut	chibi-
       scheme -q .

OPTIONS
       Space is	optional between options and their arguments.  Options without
       arguments may not be chained together.

       To  reduce  the need for	shell escapes, options with module arguments (
       -m , -x and -R )	are written in a dot notation, so that the module (foo
       bar) is written as foo.bar .

       -V   Prints the version information and exits.

       -q   "Quick" load, shortcut for chibi-scheme -xchibi This is a slightly
	    different language from (scheme base), which may load faster,  and
	    is guaranteed not to load any additional shared libraries.

       -Q   Extra  "quick"  load,  shortcut for	chibi-scheme -xchibi.primitive
	    The	resulting environment will only	 contain  the  core  syntactic
	    forms and primitives coded in C.  This is very fast	and guaranteed
	    not	to load	any external files, but	is also	very limited.

       -r[main]
	    Run	 the  "main"  procedure	when the script	finishes loading as in
	    SRFI-22.

       -R[module]
	    Loads the given module and runs the	"main"	procedure  it  defines
	    (which need	not be exported) with a	single argument	of the list of
	    command-line  arguments  as	 in  SRFI-22.	The name "main"	can be
	    overridden with the	-r option.  [module] may be omitted, in	 which
	    case  it defaults to chibi.repl.  Thus chibi-scheme	-R is the rec-
	    ommended means to obtain the advanced REPL.

       -s   Strict mode, escalating warnings to	fatal errors.

       -f   Change the reader to case-fold symbols as in R5RS.

       -T   Disables tail-call optimization.  This can be useful for debugging
	    in some cases, but also makes  it  very  likely  to	 overflow  the
	    stack.

       -hsize[/max_size]
	    Specifies  the initial size	of the heap, in	bytes, optionally fol-
	    lowed by the maximum size the heap can grow	to.  size can  be  any
	    integer  value, optionally suffixed	by "K",	for kilobytes, "M" for
	    megabytes, or "G" for gigabytes.  -h must be specified before  any
	    options which load or evaluate Scheme code.

       -Ipath
	    Inserts path on front of the load path list.

       -Apath
	    Appends path to the	load path list.

       -Dfeature
	    Adds  feature  to the feature list,	useful for cond-expanding dif-
	    ferent library code.

       -mmodule

       -xmodule
	    Imports module as though "(import module )"	 were  evaluated.   If
	    the	 -x version is used, then module replaces the current environ-
	    ment instead of being added	to it.

       -lfile
	    Loads the Scheme source from the file file searched	for in the de-
	    fault load path.

       -eexpr
	    Evaluates the Scheme expression expr.

       -pexpr
	    Evaluates the Scheme expression expr then  prints  the  result  to
	    stdout.

       -tmodule.id
	    Enables tracing for	the given identifier id	in the module module.

       -dimage-file
	    Dumps  the current Scheme heap to image-file and exits.  This fea-
	    ture is still experimental.

       -iimage-file
	    Loads the Scheme heap from image-file  instead  of	compiling  the
	    init file on the fly.  This	feature	is still experimental.

       -b   Makes stdio	nonblocking (blocking by default). Only	available when
	    lightweight	threads	are enabled.

ENVIRONMENT
       CHIBI_MODULE_PATH
	      A	 colon	separated  list	 of  directories  to search for	module
	      files, inserted before the system	default	 load  paths.	chibi-
	      scheme  searches for modules in directories in the following or-
	      der:

		 directories included with the -I path option

		 directories included from CHIBI_MODULE_PATH

		 system	directories

		 directories included with -A path option

	      If CHIBI_MODULE_PATH is unset, the directories "./lib", and  "."
	      are  searched in order. Set to empty to only consider -I,	system
	      directories and -A.

       CHIBI_IGNORE_SYSTEM_PATH
	      If set to	anything but "0", system directories (as listed	above)
	      are not included in the search paths.

AUTHORS
       Alex Shinn (alexshinn @ gmail . com)

SEE ALSO
       More detailed information can  be  found	 in  the  manual  included  in
       doc/chibi.scrbl included	in the distribution.

       The chibi-scheme	home-page:
       https://github.com/ashinn/chibi-scheme/

4th Berkeley Distribution				       chibi-scheme(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=chibi-scheme&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help