Design objectives
- CORRECT
- this means not just "no bugs" -- it means all
the interaction of all parts works as specified
by the standard.
- TRADITIONAL
- and beyond the standard, it shall behave in
tradional ways to allow to easily adapt sources
from older forth systems to the PFE.
- COMPLETE
- with powerful computers on the desk and powerful
programming environments there is no need
to and no use in strategies like "here kernel,
there xyz word set" that might be appropriate
on a microcontroller.
- PORTABLE
- I hate to rewrite code because of environmental
dependencies. The PFE uses autoconf/automake for
automatic system detection, and its drivers for
system interaction are largely seperated out.
- USABLE
- A sole kernel helps noone. It should be a
development environment. You should be able
to manage multiple-source-file-projects from
within. A source debugger and help files are
included of course.
- SIMPLE
- or transparent. At least to my taste. The
coding style should make it easy to pick up
PFE and adapt it to whatever environment it
shall run in.
|
- MODULAR
- it allows to add extensions during runtime.
There is no need to rebuild the PFE core for
each different application, the main runtime
can be shared and extended with extra modules.
- FREE
- apart from being free of cost, the PFE is given
away under LGPL (not the GPL!) which allows you
to add dynamic extra modules under whatever
copyright you wish to, even commercial ones.
No GPL virus here.
- OPEN
- and if you have a nice extra module then I am
open to ship it along and to provide it with
whatever hooks are needed in the LGPL core.
|