Back to index
Installation
Backing up your databases
Please backup your databases before installing LispMe. It's very
unlikely that LispMe destroys other databases and it never happened
in the final tests, but better safe than sorry...
Deleting older versions
Please delete any older versions of LispMe with the Memory application
before installing V3.2. The DB format has changed and a crash is
possible when LispMe finds an earlier version of its memory dump, though
LispMe now employs a heap check to recognize old databases.
Choosing versions
Starting with V3.0, only PalmOS3 and later are supported and only
one executable LispMe.prc is included in the
distribution. Sorry, but there's no LispMe for PalmOS1 or PalmOS2
anymore. The reasons for this are:
- I wanted to include floating point numbers and the FP support in V1.0
is positively braindead. Including gcc's FP library would fatten LispMe's
code, but OS2 includes decent IEEE FP routines (not for I/O, these are
still braindead) and supports shared libraries. So using the ROM FP code
for basic operations and the freely available
MathLib
for transcendental functions induced minimal overhead for FP in LispMe.
- The ever-increasing memory needs of newer LispMe versions can't be
fulfilled by PalmOS1 anymore. Believe me, I tried, but it wasn't usable
anymore...
- Last but not least: Scrollbar for output field
- Even PalmOS2 had memory restrictions and missing API calls I hadn't
time and motivation to circumvent.
LispMe checks the OS version and uses
different API calls in some circumstances (for color support, e.g.).
So it's easy: If you're running PalmOS1 or PalmOS2, forget it, if
you're running PalmOS3 or later, just install LispMe.prc.
LispMe supports transcendental
functions like atan. However,
LispMe does not implement these functions, but uses a standard Pilot
library called
MathLib
for this purpose. LispMe will work
without MathLib, but you can't use transcendental functions without it.
MathLib is included in this package for your convenience. So if you
already installed MathLib or decide to dispense with it, go to the next
section. Otherwise install MathLib.prc.
To create dialogs for LispMe, there're
several possibilities. To create resources
directly on your Pilot, you can install RsrcEdit.prc.
In any case you should install GUIdemo.prc in the gui
subdirectory. This file contains combined resources of the 5
User interface Sample programs.
Please note that GUIdemo.prc has changed in V3.1.
Installing Parentheses Hack
You have to install HackMaster (or one of its successors, like X-Master)
to use Parentheses Hack. You probably
already installed it, but if not, go
here to get it.
Parentheses Hack simplifies entering of LispMe programs, but isn't
really necessary for LispMe to work.
Beginning with version 3.2, LispMe has builtin parentheses matching,
so you don't need Parentheses Hack anymore. (It's nevertheless useful
for an external editor you write Scheme code with!)
Just use your favorite installation tool to install ParHack.prc
and activate it via HackMaster. Don't forget to deactivate Parentheses
Hack in HackMaster before installing a new version!
LispMe expects all memos to be loaded in the MemoPad category LispMe.
If this is the first time you install LispMe, you should create a MemoPad
category LispMe (case does matter) in your desktop MemoPad.
Import the file samples.csv into this category (unselect the
private field in the import dialog), even if you already installed
an earlier version of LispMe, since some demos have changed. If you modified
earlier demos, you have to carefully mix your changes with the new demos.
Alternatively, you can use the install-memo tool from the
Pilot Link suite to
transfer each .txt file in the sample directory.
Invoke it with
install-memo -c LispMe port samples/*.txt
The new or changed sample programs are
- ; Standard library
- ; IR Chat
The memo ; Builtins is no more needed since LispMe now handles
primitive operations according to the standard, so you can delete it
if you upgraded from an earlier version.
If you've been using LispMe 2.4 or ealier, the startup
dialog will be unfamiliar to you,
but LispMe supports multiple sessions
now, so you have to create a new session and give it a name first.
See here how to create, modify and
delete sessions.
You should change the session's memory preferences. Select
Memory Sizes
according to these guidelines:
- The sizes you select directly affect the size of the database
LispMe uses.
- The default memory sizes are much too low for some demos to
load. To load the standard library
you need at least 8k. Some other demos require even more.
- If you don't need floating point, leave the setting at its minimum
(8 bytes)
- Set the atom size to the maximum you'll probably need (atoms aren't
garbage collected)
- The heap size almost doesn't affect performance. 4 times collecting
a 32k heap is about the same as 32 times collecting a 4k heap.
(Unless your code struggles along the maximum size and forces a
garbage collection every few machine steps)
- The output size doesn't affect performance,
That's it!
Have a look at the demos and have fun with LispMe!
Removing LispMe
Are you sure you really want to do this? OK, removing LispMe from your Pilot
involves two steps:
- Remove all starter icons. The easiest way to do this is starting Lispme,
going to the sessions dialog and
uncheck all checkboxes in the column labeled Icon
- Removing LispMe itself in the standard app launcher. All session
datbases will be deleted, too.
If you omitted the first step, that's no problem, just delete each starter
application with the launcher.