diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/install.texi | 14 | ||||
-rw-r--r-- | doc/intro.texi | 14 | ||||
-rw-r--r-- | doc/macros.texi | 12 | ||||
-rw-r--r-- | doc/repl.texi | 55 | ||||
-rw-r--r-- | doc/thanks.texi | 4 |
5 files changed, 60 insertions, 39 deletions
diff --git a/doc/install.texi b/doc/install.texi index 095d1ff..d88a22b 100644 --- a/doc/install.texi +++ b/doc/install.texi @@ -24,6 +24,8 @@ namely: @item @uref{http://www.gnu.org/software/guile, Guile} @value{GUILE_VERSION} or better +@item +@uref{http://call-cc.org, Chicken} @value{CHICKEN_VERSION} or better @end itemize Since Geiser supports multiple REPLs, having both of them will just add @@ -73,7 +75,17 @@ M-x package-install RET geiser RET Alternatively, you can manually download the @uref{@value{PACKAGE}, package file}, and install from your local disk with @kbd{M-x -package-install-file} +package-install-file}. + +@cindex Chicken +@cindex Chicken installation +If you plan to use Chicken, you'll need also to fire a terminal and +configure a couple of Chicken eggs: +@example +$ chicken-install -s apropos chicken-doc +$ cd `csi -p '(chicken-home)'` +$ curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx +@end example With that, you are pretty much all set up. See @ref{The REPL} to start using Geiser. diff --git a/doc/intro.texi b/doc/intro.texi index 00207cd..0e92513 100644 --- a/doc/intro.texi +++ b/doc/intro.texi @@ -40,12 +40,14 @@ implementation itself). If your favourite Scheme supports the above modus operandi, it has all that's needed for a bare-bones Geiser mode. But Geiser can, and will, use any metadata available: procedure arities and argument lists to -display interactive help, documentation strings, location information to -jump to definitions, export lists to provide completion, and so on and -so forth. Although this is not an all-or-none proposition (Geiser can -operate with just part of that functionality available), i've initially -concentrated in supporting those Schemes with the richest (to my -knowledge) introspection capabilities, namely, Guile and Racket. +display interactive help, documentation strings, location information +to jump to definitions, export lists to provide completion, and so on +and so forth. Although this is not an all-or-none proposition (Geiser +can operate with just part of that functionality available), i +initially concentrated in supporting those Schemes with the richest +(to my knowledge) introspection capabilities, namely, Guile and +Racket. Later on, Dan Leslie added support for Chicken, and there's +active work to add support for scsh. @node Showing off, , Modus operandi, Introduction @section Showing off diff --git a/doc/macros.texi b/doc/macros.texi index 47ea304..e20a94a 100644 --- a/doc/macros.texi +++ b/doc/macros.texi @@ -1,7 +1,9 @@ -@set VERSION 0.6 -@set RELEASE_DATE August 2014 +@set VERSION 0.7 +@set VERSION_NICK Freija +@set RELEASE_DATE February 2015 @set GUILE_VERSION 2.0.9 @set RACKET_VERSION 6.0 +@set CHICKEN_VERSION 4.8.0 @set EMACS_VERSION 23.2 @set DOWN_BASE http://download.savannah.gnu.org/@/releases/@/geiser @set PACKAGE_REPO @value{DOWN_BASE}/@/packages @@ -12,19 +14,19 @@ @uref{@value{DOWN_BASE}/@/@value{VERSION}/@/\FILE\, \CAPT\} @end macro -@macro vblurb{GVERS, RVERS, DATE} +@macro vblurb{GVERS, CVERS, RVERS, DATE} @html <div class="version" align="right"> @end html @downfile{@value{TARBALL}, - Version @value{VERSION} (\DATE\) Guile \GVERS\+ and Racket \RVERS\+} + Version @value{VERSION} ``@value{VERSION_NICK}'' (\DATE\) Guile \GVERS\+ Chicken \CVERS\+ and Racket \RVERS\+} @html </div> @end html @end macro @macro dvblurb{} -@vblurb{@value{GUILE_VERSION}, @value{RACKET_VERSION}, @value{RELEASE_DATE}} +@vblurb{@value{GUILE_VERSION}, @value{CHICKEN_VERSION}, @value{RACKET_VERSION}, @value{RELEASE_DATE}} @end macro @macro altr{LINK, TXT, TLINK, TRAIL} diff --git a/doc/repl.texi b/doc/repl.texi index ad10202..7fa395b 100644 --- a/doc/repl.texi +++ b/doc/repl.texi @@ -43,14 +43,15 @@ is, as described in Returning to our REPL, the first thing to notice is that the funny prompt is telling you your current module: its name is the part just after the @@ sign (in Guile, that means @code{guile-user}, while -Racket's top namespace doesn't have a name; cf. discussion in -@altr{Switching context,,Switching context,).} Other than that, this is -pretty much equivalent to having a command-line interpreter in a -terminal, with a bunch of add-ons that we'll be reviewing below. You -can start typing sexps right there: Geiser will only dispatch them for -evaluation when they're complete, and will indent new lines properly -until then. It will also keep track of your input, maintaining a -history file that will be reloaded whenever you restart the REPL. +Racket's and Chicken's top namespaces don't have a name; +cf. discussion in @altr{Switching context,,Switching context,).} Other +than that, this is pretty much equivalent to having a command-line +interpreter in a terminal, with a bunch of add-ons that we'll be +reviewing below. You can start typing sexps right there: Geiser will +only dispatch them for evaluation when they're complete, and will +indent new lines properly until then. It will also keep track of your +input, maintaining a history file that will be reloaded whenever you +restart the REPL. @cindex REPL, faces @cindex faces, in the REPL @@ -153,12 +154,12 @@ In tune with Geiser's @ifnothtml @i{modus operandi}, @end ifnothtml -evaluations in the REPL take place in the namespace of the -current module. As noted above, the REPL's prompt tells you the name of -the current module. To switch to a different one, you can use the -command @command{switch-to-geiser-module}, bound to @kbd{C-c C-m}. -You'll notice that Geiser simply uses a couple of meta-commands provided -by the Scheme REPL (the stock @command{,m} in Guile and the +evaluations in the REPL take place in the namespace of the current +module. As noted above, the REPL's prompt tells you the name of the +current module. To switch to a different one, you can use the command +@command{switch-to-geiser-module}, bound to @kbd{C-c C-m}. You'll +notice that Geiser simply uses a couple of meta-commands provided by +the Scheme REPL (the stock @command{,m} in Guile and Chicken and the (geiser-defined) @command{,enter} in Racket), and that it doesn't even try to hide that fact. That means that you can freely use said native ways directly at the REPL, and Geiser will be happy to oblige. In @@ -166,8 +167,8 @@ Racket, @command{,enter} works like Racket's standard @code{enter!} form, but you can also provide a path string as its argument (e.g., @command{,enter "/tmp/foo.rkt"} is equivalent to @command{,enter (file "/tmp/foo.rkt")}). Like @code{enter!}, @command{,enter} accepts also -module names (as in, say, @command{,enter geiser/main}). As mentioned, -Guile's @command{,m} is used @i{as is}. +module names (as in, say, @command{,enter geiser/main}). As +mentioned, in Guile and Chicken, @command{,m} is used @i{as is}. @cindex current module, change Once you enter a new module, only those bindings visible in its @@ -246,15 +247,15 @@ represented by a list made up of its name and that value. When the argument is a keyword argument, its name has ``#:'' as a prefix. @cindex help on identifier -If that's not enough documentation for you, @kbd{C-c C-d d} will open a -separate documentation buffer with help on the symbol at point. This -buffer will contain implementation-specific information about the -identifier (e.g., its docstring for Guile, or its contract, if any, for -Racket), and a handy button to open the corresponding manual entry for -the symbol, which will open an HTML page (for Racket) or the texinfo -manual (for Guile). If you'd rather go directly to the manual, try -@kbd{C-c C-d i}, which invokes @code{geiser-doc-look-up-manual} as the -handy button does. +If that's not enough documentation for you, @kbd{C-c C-d d} will open +a separate documentation buffer with help on the symbol at point. +This buffer will contain implementation-specific information about the +identifier (e.g., its docstring for Guile, or its contract, if any, +for Racket), and a handy button to open the corresponding manual entry +for the symbol, which will open an HTML page (for Racket and Chicken) +or the texinfo manual (for Guile). If you'd rather go directly to the +manual, try @kbd{C-c C-d i}, which invokes +@code{geiser-doc-look-up-manual} as the handy button does. @cindex module exports @anchor{repl-mod} Geiser can also produce for you a list, classified by @@ -285,8 +286,8 @@ the file where it's defined will be opened for you. @section Seeing is believing @cindex image support -In schemes that support images as values (currently, that means Racket), -the REPL will display them inline if you're using them in a +In schemes that support images as values (currently, that means +Racket), the REPL will display them inline if you're using them in a graphics-aware Emacs. @imgc{repl-images} diff --git a/doc/thanks.texi b/doc/thanks.texi index f1015ab..af8b2bf 100644 --- a/doc/thanks.texi +++ b/doc/thanks.texi @@ -1,6 +1,10 @@ @node No hacker is an island, Index, Cheat sheet, Top @chapter No hacker is an island @cindex thanks +Dan Leslie, with the help of his three-months old daughter Freija, +proved there's a smidgen of sense in this madness by adding support +for Chicken to version 0.7 of Geiser, several years after it was born. + Andy Wingo, Geiser's first user, has been a continuous source of encouragement and suggestions, and keeps improving Guile and heeding my feature requests. |