summaryrefslogtreecommitdiffstats
path: root/hobbit.info
diff options
context:
space:
mode:
Diffstat (limited to 'hobbit.info')
-rw-r--r--hobbit.info132
1 files changed, 75 insertions, 57 deletions
diff --git a/hobbit.info b/hobbit.info
index 9e0c0a9..a9d8b9f 100644
--- a/hobbit.info
+++ b/hobbit.info
@@ -19,6 +19,7 @@ Tammet.
* Performance of Compiled Code::
* Principles of Compilation::
* About Hobbit::
+* Index::
Copyright (C) 1990-1999, 2002 Free Software Foundation
@@ -66,7 +67,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 "WWW" home page:
- <http://swissnet.ai.mit.edu/~jaffer/SCM.html>
+ <http://swissnet.ai.mit.edu/~jaffer/SCM>
Hobbit4d has also been ported to the Guile Scheme implementation:
@@ -104,6 +105,9 @@ Compiling And Linking
instance, `.so'). NAME1.scm must be in the current directory;
NAME2.scm, ... may be in other directories.
+ If a file named `NAME1.opt' exists, then its options are passed to
+ the `build' invocation which compiles the `c' files.
+
cd ~/scm/
scm -rcompile -e'(compile-file "example.scm")'
@@ -134,7 +138,7 @@ Compiling And Linking
(lambda (fp)
(for-each
(lambda (string) (write-line string fp))
- '("#define IMPLINIT \"Init5d6.scm\""
+ '("#define IMPLINIT \"Init5d9.scm\""
"#define BIGNUMS"
"#define FLOATS"
"#define ARRAYS"
@@ -153,6 +157,9 @@ Compiling And Linking
... to a SCM executable named EXENAME. NAME1.scm must be in the
current directory; NAME2.scm, ... may be in other directories.
+ If a file named `EXENAME.opt' exists, then its options are passed
+ to the `build' invocation which compiles the `c' files.
+
cd ~/scm/
scm -rcompile -e'(compile->executable "exscm" "example.scm")'
@@ -183,7 +190,7 @@ Compiling And Linking
(lambda (fp)
(for-each
(lambda (string) (write-line string fp))
- '("#define IMPLINIT \"Init5d6.scm\""
+ '("#define IMPLINIT \"Init5d9.scm\""
"#define COMPILED_INITS init_example();"
"#define CCLO"
"#define FLOATS"))))
@@ -533,10 +540,8 @@ generic case, not immediate-integers-only and are thus much slower.
Notice that the procedures logsleft, logsright are NOT in the the
library file `logical.scm:' the universal procedure ash is instead.
Procedures ash, logcount, integer-length, integer-expt, bit-extract,
-ipow-by-squaring, logical:ash, logical:logcount, logical:integer-length,
-logical:integer-expt, logical:bit-extract, logical:ipow-by-squaring, in
-`logical.scm' are not primtives and they are all compiled into calls to
-interpreted code.
+ipow-by-squaring, in `logical.scm' are not primtives and they are all
+compiled into calls to interpreted code.
logsleft and logsright are defined for non-compiled use in the file
`scmhob.scm' included in the SCM distribution.
@@ -1271,13 +1276,13 @@ Expansion and Analysis
let*-s inside these chunks.
5. 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 `cond', `case', `or', `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
+ 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
&&).
@@ -1616,7 +1621,7 @@ instead of the default:
(define *build-intermediate-files* #f).

-File: hobbit.info, Node: About Hobbit, Prev: Principles of Compilation, Up: Top
+File: hobbit.info, Node: About Hobbit, Next: Index, Prev: Principles of Compilation, Up: Top
About Hobbit
************
@@ -1674,7 +1679,7 @@ Author and Contributors
University of Go"teborg
S-41296 Go"teborg Sweden
-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.
@@ -1750,10 +1755,10 @@ hobbit4c:
hobbit4b:
The following bugs have been fixed:
* Erroneous treatment of [ and ] inside symbols, reported by A.
- Jaffer (jaffer @ alum.mit.edu).
+ Jaffer (agj @ alum.mit.edu).
- * A bug in the liftability analysis, reported by A. Jaffer
- (jaffer @ alum.mit.edu).
+ * A bug in the liftability analysis, reported by A. Jaffer (agj
+ @ alum.mit.edu).
* A bug occurring in case arguments are evaluated right-to-left,
which happens with Hobbit compiled by gcc on Linux. Reported
@@ -1905,48 +1910,61 @@ hobbit1a1 (not public):
hobbit1:
the first release
+
+File: hobbit.info, Node: Index, Prev: About Hobbit, Up: Top
+
+Index
+*****
+
+* Menu:
+
+* compile->executable: Compiling And Linking.
+* compile-file: Compiling And Linking.
+* hobbit: Compiling And Linking.
+

Tag Table:
Node: Top199
-Node: Introduction1217
-Node: Compiling with Hobbit2533
-Node: Compiling And Linking2786
-Node: Error Detection7267
-Node: Hobbit Options8565
-Node: CC Optimizations15286
-Node: The Language Compiled16234
-Node: Macros16889
-Node: SCM Primitive Procedures17485
-Node: SLIB Logical Procedures18336
-Node: Fast Integer Calculations19616
-Node: Force and Delay20742
-Node: Suggestions for writing fast code21319
-Node: Performance of Compiled Code31510
-Node: Gain in Speed31766
-Node: Benchmarks33343
-Node: Benchmark Sources36435
-Node: Destruct36773
-Node: Recfib38348
-Node: div-iter and div-rec38591
-Node: Hanoi39665
-Node: Tak40234
-Node: Ctak40577
-Node: Takl41560
-Node: Cpstak42219
-Node: Pi42986
-Node: Principles of Compilation44103
-Node: Macro-Expansion and Analysis44525
-Node: Building Closures48308
-Node: Lambda-lifting51191
-Node: Statement-lifting53939
-Node: Higher-order Arglists55039
-Node: Typing and Constants56837
-Node: About Hobbit58093
-Node: The Aims of Developing Hobbit58335
-Node: Manifest59218
-Node: Author and Contributors59669
-Node: Future Improvements60719
-Node: Release History61476
+Node: Introduction1227
+Node: Compiling with Hobbit2540
+Node: Compiling And Linking2793
+Node: Error Detection7538
+Node: Hobbit Options8836
+Node: CC Optimizations15557
+Node: The Language Compiled16505
+Node: Macros17160
+Node: SCM Primitive Procedures17756
+Node: SLIB Logical Procedures18607
+Node: Fast Integer Calculations19763
+Node: Force and Delay20889
+Node: Suggestions for writing fast code21466
+Node: Performance of Compiled Code31657
+Node: Gain in Speed31913
+Node: Benchmarks33490
+Node: Benchmark Sources36582
+Node: Destruct36920
+Node: Recfib38495
+Node: div-iter and div-rec38738
+Node: Hanoi39812
+Node: Tak40381
+Node: Ctak40724
+Node: Takl41707
+Node: Cpstak42366
+Node: Pi43133
+Node: Principles of Compilation44250
+Node: Macro-Expansion and Analysis44672
+Node: Building Closures48469
+Node: Lambda-lifting51352
+Node: Statement-lifting54100
+Node: Higher-order Arglists55200
+Node: Typing and Constants56998
+Node: About Hobbit58254
+Node: The Aims of Developing Hobbit58510
+Node: Manifest59393
+Node: Author and Contributors59844
+Node: Future Improvements60891
+Node: Release History61648
+Node: Index68429

End Tag Table