home *** CD-ROM | disk | FTP | other *** search
- ReadMe! - file for Xscheme 0.28 with Frontend 0.11
- ==================================================
-
- This package contains:
-
- - !Xscheme - the application
- - Makefile, c, h, o: the sources and directories necessary for
- building !Xscheme.!Runimage
- - doc - a directory containing documentation on the language
- - scm - a directory containing scheme source files.
- - wks - a directory containing xscheme workspace files.
-
- Requirements:
- =============
- Xscheme was built with C Rel. 4, this allows it to have an initially small
- wimpslot, which increases with use. This also means that it requires a CLib
- with a version number greater than or equal to 3.75. You also need the FPE
- 2.80 for Xscheme to run.
-
- The Application:
- ================
- This version of Xscheme comes bundled as an application with the following
- features:
-
- - fully-multitasking desktop frontend with a simple terminal-emulation.
- - a path for resource loading, and one for the current directory, thus
- being csd-independent.
- - suffixes 'scm' and 'wks' are translated to prefixes for the file- names, allowing you to type "bla.scm", instead of "scm.bla", if you
- mean "bla.scm". Of course, you can also type "scm.bla"...
- - an application sprite designed by mcg@waikato.ac.nz (Martin C.
- Glanvill)
-
- This version of Xscheme differs in some ways from the original distribution,
- namely:
- - 'scm' is used as a scheme-source-file suffix instead of 's', because
- 's' is already taken for assembler source code.
- - Original Xscheme looks for a file named "xscheme.ini" on startup.
- This version looks for "xs_init.scm", which is the same file with
- an other name.
-
- Apart from this, it should be fully compatible.
-
- Xscheme uses two environment variables, one for a path to find its resources,
- and the other one provides a working directory for xscheme. These are named
- Xscheme$ResDir and Xscheme$WorkDir, and are set in the !Run file. You may
- alter Xscheme$WorkDir any time you please to point to a place where you want
- your current working directory to be, but you must terminate it with a dot!
- From scheme, use
- (system "set Xscheme$WorkDir scsi::urmel.$.new.work.dir.")
- You can not alter the Path to the resources once Xscheme is running. In fact,
- this is an installation issue. Xscheme$ResDir points to a directory containing
- scheme source files that are needed by other programs, and xs_init.scm . You
- can leave this as well untouched, then the resources reside inside the !xscheme
- application directory.
- Note the following when working with Xscheme:
- - the escape key always brings you to the toplevel read-eval loop.
- - selecting quit from the menu, or clicking the close button on the
- window immediately terminates the Xscheme application without any
- security checks. I might add one later.
-
- The terminal-emulation provides the following facilities:
- CHR 12 clears the terminal screen.
- CHR 8 does a backspace
- CHR 127 also does a backspace.
- CHR 9 moves the cursor up 1 line
- CHR 11 moves the cursor to the next char
- CHR 10 performs a newline, that is CR/NL
- CHR 13 does a carriage return.
- CHR 30 homes the cursor
- CHR 31 moves the cursor. This one takes 2 parameters, x and y, both
- starting from 0, so the syntax is actually CHR(30)CHR(x)CHR(y)
-
- The scm directory:
- ==================
- This directory does at the moment only contain two files, namely:
- - bench: a simple benchmark using fibonacci numbers,
- - tools: the example program from the OO-Primer document in 'doc'
- There are more scheme files in !xscheme.scm, these are resource files.
-
- A neat trick ;-)
- ================
- You may notice, that, on startup, for some seconds nothing happens, before
- the prompt appears. This is because xscheme loads and compiles xs_init.scm
- from disc, which in turn loads macros.scm and qquotes.scm. You can speed up
- the startup process enormously by doing the following: start xscheme, and
- immediately after startup, type (save "xscheme.wks"). From now on, the initial
- workspace, which is stored in xscheme.wks is loaded at startup instead of
- xs_init.scm. As the startup code is already compiled in this workspace, this
- is naturally much faster.
-
- The doc directory:
- ==================
- This one contains three files. The one called 'betz' is a message from
- D.M.Betz, the author of Xscheme, stating his new address. The one called
- xscheme is the original xscheme documentation as supplied by D.M.Betz, and
- the OO-Primer is a document intended to give an introduction to the
- OO-extensions of xscheme. Additional lecture would be: "The revised^3 report
- on the programming language scheme", which is available from the scheme
- repository (see below), and the book "The scheme programming language"
- by R.Kent Dybvig, which also covers R3RS scheme.
-
- Rebuilding the application:
- ===========================
- Set C$Path acording to your environment, then just type 'amu install',
- this should do the trick. But remember to keep a copy of the initial image
- as it came with this distribution, you never know... I have not built Xscheme
- with a C compiler before release 4, but I think it should work at least with
- CR3. But remember that if you compile Xscheme with a pre-4 C compiler, you
- must increase the initial wimpslot, because they do not have a wimpslot-
- increasing malloc.
-
- More scheme, new releases:
- ==========================
- You can get lots of scheme stuff from the scheme repository at
- nexus.yorku.ca via anon-ftp. You can also get the R3RS there (at least I
- hope so, it is somewhat outdated by the R4RS...) If you can not get the R3RS,
- I might send it out to you in TeX-format.
-
- Comments & suggestions:
- =======================
- If you have any, feel free to contact me. My Email adress is:
- gunnar@fasel.hotb.sub.org
-
- have fun!
-
- Gunnar
-