Information for the Slate Distribution -------------------------------------- The reference site for this Distribution is at http://slate.tunes.org/ License ------- Slate is released free by Lee Salzman and Brian T. Rice for modification and usage under the MIT Public License, as described in license.txt, provided with this Distribution. Release Notes ------------- See the NEWS file in this Distribution. Building Slate -------------- If you have downloaded the Source Distribution, you will need to build Slate using ECLS (Embedded Common Lisp: http://ecls.sf.net/). ECLS is a Lisp compiler which makes use of GCC dynamically, so that must also be available for you to be able to compile code into binary form. To build the system: 1. Download and install ECLS using the traditional GNU toolchain process of "configure ; make ; make install". Currently, there is an issue with ECL that prevents Slate's dynamic compiler from working; the workaround is to perform "export LSPCFLAGS='-I.'" before the build process. 2. Unpack a Slate source distribution or CVS checkout locally. 3. Start ECL within the Slate directory by typing "ecl". Then load the build script by typing (load "build.lisp") at the prompt. Once that completes, type "(quit)" or hit Ctrl-d to exit. (NOTE: non-standard installation of ECL will require modifying the path entry used at the top of build.lisp) 4. Optionally compile standard libraries using the standard build script in $slate/src/build-libs.slate ; the results of these will be transparently loaded by whatever scripts you use to load the source files. Enter "'src/build-libs.slate' fileIn." Alternatively, other Common Lisp implementations can be used to build similar non-GCC-based binaries, using steps 2 through 4 above, only invoking the lisp compiler using its particular command name. Starting Slate -------------- Enter the Slate directory and type "./slate" or start a Lisp environment and type (load "slate.lisp") to load the interpreted version. At this point you are in the interpreter's main loop, with no code loaded. To load the standard libraries, you invoke: './src/init.slate' fileIn. which in turn files in the other separate library files in a proper sequence. This may take awhile when using the interpreted implementation of the compiler. Now you can enter some basic expressions, but note that the REPL does not complete as a loop until a stop (".") is entered at the top-level. Consider it equivalent to Smalltalk's bang("!"). There is no online help yet, so we must refer you to the source files (probably best starting with "src/init.slate" and then each of the files loaded in turn) and the reference manual. To exit, enter "exit." or "quit." or an empty line (ctrl-d). Guide to the Slate directories ------------------------------ etc/ - Holds extra configuration files, and editing modes for Vim and Emacs. doc/ - Holds various guides to the system, and the manual. src/ - Slate's libraries. graphics/ - The Slate interface system, primarily graphics-related. compiler/ - The self-hosted parser and high-level compiler. mop/ - The meta-object protocol. bootstrap/ - The bootstrap code, for the future run-time builds. optimizer/ - The optimizing compiler.