summaryrefslogtreecommitdiffstats
path: root/hobbit.texi
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:27 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:27 -0800
commitc7d035ae1a729232579a0fe41ed5affa131d3623 (patch)
treefb387f7c2a8e01cf603d4c75fbbaa68f711df986 /hobbit.texi
parentdeda2c0fd8689349fea2a900199a76ff7ecb319e (diff)
downloadscm-c7d035ae1a729232579a0fe41ed5affa131d3623.tar.gz
scm-c7d035ae1a729232579a0fe41ed5affa131d3623.zip
Import Upstream version 5d9upstream/5d9
Diffstat (limited to 'hobbit.texi')
-rw-r--r--hobbit.texi53
1 files changed, 32 insertions, 21 deletions
diff --git a/hobbit.texi b/hobbit.texi
index 3b448fb..f87c1b0 100644
--- a/hobbit.texi
+++ b/hobbit.texi
@@ -6,8 +6,6 @@
@setchapternewpage on
@c Choices for setchapternewpage are {on,off,odd}.
@paragraphindent 0
-@defcodeindex ft
-@syncodeindex ft cp
@c %**end of header
@dircategory The Algorithmic Language Scheme
@@ -68,6 +66,7 @@ Tammet.
* Performance of Compiled Code::
* Principles of Compilation::
* About Hobbit::
+* Index::
@end menu
Copyright (C) 1990-1999, 2002 Free Software Foundation
@@ -124,7 +123,7 @@ Hobbit (derived from hobbit5x) is now part of the SCM Scheme
implementation. The most recent information about SCM can be found on
SCM's @dfn{WWW} home page:
-@center @url{http://swissnet.ai.mit.edu/~jaffer/SCM.html}
+@center @url{http://swissnet.ai.mit.edu/~jaffer/SCM}
Hobbit4d has also been ported to the Guile Scheme implementation:
@@ -159,6 +158,10 @@ Compiles the HOBBIT translation of @var{name1}.scm, @var{name2}.scm,
suffix for your computer (for instance, @file{.so}). @var{name1}.scm
must be in the current directory; @var{name2}.scm, @dots{} may be in
other directories.
+
+If a file named @file{@var{name1}.opt} exists, then its options are
+passed to the @code{build} invocation which compiles the @code{c}
+files.
@end defun
@example
@@ -212,6 +215,10 @@ Compiles and links the HOBBIT translation of @var{name1}.scm,
@var{name2}.scm, @dots{} to a SCM executable named @var{exename}.
@var{name1}.scm must be in the current directory; @var{name2}.scm,
@dots{} may be in other directories.
+
+If a file named @file{@var{exename}.opt} exists, then its options are
+passed to the @code{build} invocation which compiles the @code{c}
+files.
@end defun
@example
@@ -663,13 +670,11 @@ The following alternative names @t{logical:logand}, @t{logical:logior},
generic case, not immediate-integers-only and are thus much slower.
Notice that the procedures @t{logsleft}, @t{logsright} are @b{NOT} in
-the the library file @file{logical.scm:} the universal procedure @t{ash}
-is instead. Procedures @t{ash}, @t{logcount}, @t{integer-length},
-@t{integer-expt}, @t{bit-extract}, @t{ipow-by-squaring},
-@t{logical:ash}, @t{logical:logcount}, @t{logical:integer-length},
-@t{logical:integer-expt}, @t{logical:bit-extract},
-@t{logical:ipow-by-squaring}, in @file{logical.scm} are not primtives
-and they are all compiled into calls to interpreted code.
+the the library file @file{logical.scm:} the universal procedure
+@t{ash} is instead. Procedures @t{ash}, @t{logcount},
+@t{integer-length}, @t{integer-expt}, @t{bit-extract},
+@t{ipow-by-squaring}, in @file{logical.scm} are not primtives and they
+are all compiled into calls to interpreted code.
@t{logsleft} and @t{logsright} are defined for non-compiled use in the
file @file{scmhob.scm} included in the SCM distribution.
@@ -1514,14 +1519,15 @@ passed variables. Wherever possible, @t{letrec}-s are replaced by
@item
Normalization is performed. This converts a majority of scheme
-control procedures like cond, case, or, and into equivalent
-terms using a small set of primitives. New variables may be
-introduced in this phase.
+control procedures like @code{cond}, @code{case}, @code{or},
+@code{and} into equivalent terms using a small set of primitives. New
+variables may be introduced in this phase.
-In case a procedure like or or and occurs in the place where its value
-is treated as a boolean (eg. first argument of if), it is converted
-into an analogous boolean-returning procedure, which will finally
-be represented by an analogous C procedure (eg. || or &&).
+In case a procedure like @code{or} or @code{and} occurs in the place
+where its value is treated as a boolean (eg. first argument of
+@code{if}), it is converted into an analogous boolean-returning
+procedure, which will finally be represented by an analogous C
+procedure (eg. || or &&).
Associative procedures are converted into structures of corresponding
nonassociative procedures. List is converted to a structure of cons-s.
@@ -1928,7 +1934,7 @@ instead of the default:
@end example
-@node About Hobbit, , Principles of Compilation, Top
+@node About Hobbit, Index, Principles of Compilation, Top
@chapter About Hobbit
@menu
@@ -1988,7 +1994,7 @@ University of Go"teborg@*
S-41296 Go"teborg Sweden
@end quotation
-A. Jaffer (jaffer @@ alum.mit.edu), the author of SCM, has been of major
+A. Jaffer (agj @@ alum.mit.edu), the author of SCM, has been of major
help with a number of suggestions and hacks, especially concerning the
interface between compiled code and the SCM interpreter.
@@ -2083,10 +2089,10 @@ The following bugs have been fixed:
@itemize @bullet
@item
Erroneous treatment of [ and ] inside symbols,
-reported by A. Jaffer (jaffer @@ alum.mit.edu).
+reported by A. Jaffer (agj @@ alum.mit.edu).
@item
A bug in the liftability analysis,
-reported by A. Jaffer (jaffer @@ alum.mit.edu).
+reported by A. Jaffer (agj @@ alum.mit.edu).
@item
A bug occurring in case arguments are evaluated right-to-left,
which happens with Hobbit compiled by gcc on Linux.
@@ -2269,5 +2275,10 @@ the first release
@end table
+@node Index, , About Hobbit, Top
+@unnumbered Index
+
+@printindex fn
+
@contents
@bye