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 any test, but better safe than sorry...
Deleting older versions
Please delete any older versions of LispMe with the Memory application
before installing V2.3. The DB format has changed and a crash is likely
when LispMe finds an earlier version of its memory dump.
Choosing versions
This package includes LispMe10.prc (Version 2.31) and
LispMe20.prc (Version 2.32). LispMe20 is for PalmOS2
and PalmOS3 only and has some features not possible with PalmOS1:
- 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.
- Last but not least: Scrollbar for output field
However, there are still many PalmOS1 users, so I compiled LispMe for this
OS release, too. So LispMe10 is not an old version, but supports the same
features as LispMe20, except floating point.
There's no special version for the Palm III, instead LispMe checks the OS
version and uses additional resources (especially twice the stack space)
when it recognizes a Palm III.
So it's easy: If you're running PalmOS1, install LispMe10.prc, if
you're running PalmOS2 or PalmOS3, install LispMe20.prc. You can
install LispMe10.prc on PalmOS2, but this would be silly, as you
will miss all new features LispMe supports with PalmOS2. On the other hand,
running LispMe20.prc on PalmOS1 is not possible and results in an
error.
Don't try to install both versions on one Pilot, they both use the
same creator ID and the DB format is not compatible!
PalmOS1 users please ignore this section. 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 for PalmOS2 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 select MathLib.prc for installation.
Installing LispMe
Just use your favorite installation tool to install LispMe10.prc
or LispMe20.prc and (optionally) MathLib.prc
Installing Parentheses Hack
You have to install HackMaster 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. For details see
here.
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!
Note: Some sample programs
have changed from version 2.2 to 2.3. These are:
- ; Built-ins OS1
- ; Built-ins OS2
- ; Standard library
- ; Tic-Tac-Toe
- ; Unify.lisp
- new; Tracer
LispMe expects all memos to be loaded in the MemoPad category LISP.
If this is the first time you install LispMe, you should create a MemoPad
category Lisp (case doesn't 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 this directory. Don't forget to
remove the first line of each memo on your Pilot, as install-memo
adds the file name as the first line. Additionally, you have to change
the category of each memo to LISP.
Hotsyncing
Now hotsync your pilot.
The first thing you should do after installing LispMe on your Pilot is
setting up LispMe's memory preferences. Go to the
Preferences dialog and 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,
- A good setup for PalmOS2 is displayed in the screen shot at the
Preferences dialog:
20480 heap, 2048 atoms, 1024 FP, 2048 output. This is the configuration
I use most of the time.
- Selecting a big heap size sometimes makes trouble in tight memory
situations with PalmOS1 or PalmOS2.
See here for
tips dealing with this situation.
- PalmOS3 is much more stable when changing memory sizes.
That's it!
Have a look at the demos and have fun with LispMe!