- Use the experience to learn Lisp at a much deeper level than what a casual user would attain
- Build my own language/development environment, one that I would use for all my personal projects from now on
- If I manage to take the project sufficiently forward, build a Lisp development environment for newbies that rivals those of Smalltalk
- Use pLisp as a test bed for new research ideas related to programming
These are the features currently supported:
- Basic operators like CAR, CDR, and other language primitives (cf. Paul Graham's 'Roots of Lisp')
- Other operators and utility functions written in pLisp itself (there is a rudimentary library at present)
- Error handling in the form of an '(error "...")' operator
- Garbage collection
- A somewhat buggy foreign function interface
- Ability to store and load images (aka serialization)
- Macros
- A rudimentary debugger (step, break, resume, abort)
- A package system
- More comprehensive error handling; there are a lot of places where sanity checking of parameters is absent, leading to assertion failures or core dumps
- Enhancements to the core library
- Graphical development environment
- Compiler
- Continuations and implementations of other 'cool' research ideas