[movitz-devel] Requesting some tips

James Crippen jcrippen at gmail.com
Tue Jul 26 18:38:49 UTC 2005

On 25/07/05, jsmp at student.dei.uc.pt <jsmp at student.dei.uc.pt> wrote:
> I read and agree with Rex Walburn's email. Some kind of user guide sounds like a
> great idea.

I agree. However...
> I used lisp in a AI course in my last college semester. We did not explore the
> language very deeply. We covered the basics to be able to do some AI
> programming in reactive agents, search agents, learning agents, genetic
> programming, etc. So my knowledge of lisp is fairly limited.

Movitz is almost certainly *not* the best way to start exploring Lisp.
Not that it's poorly written or anything like that, it's just so
low-level that many tasks are tedious and difficult. And Movitz still
lacks support for much of the Common Lisp language, much less any
extensive user interfaces. It doesn't have a simple way to manage
files, lacks a graphical interface, has no support for anything beyond
the most basic hardware functionality, and has no applications of any
kind, not even a functioning text editor. (A working emacs may appear
in the not too distant future).

Exploring Lisp with Movitz will probably result in hours of
frustration as you encounter Common Lisp functionality which is still
unimplemented. You'll spend your time writing half-functional code to
do things which should be standard functions from the language. It's
like going on a pleasure hike only to find that you have to blaze your
own trail, cut trees, pull stumps, lay gravel, and build your own
bridges---too much like work. If you want to explore things with Lisp
I recommend instead working with one of the other free CL systems that
is in wide use. Don't forget about Movitz, but it's not a good place
to start with Lisp.

If you're still seriously interested in Movitz after my little lecture
then you should still spend some time hacking with and on another Lisp
system first. Experience with CLISP, CMUCL, SBCL, or any other good
Common Lisp implementation is necessary to understand what Movitz
still lacks in CL support. Studying these for implementation
techniques is important if you're interested in adding to Movitz's
runtime. Of particular value is understanding Lisp compilation
techniques, and extending the Movitz compiler to the point where it
can compile itself.

> Anyway I love the language and am always trying to think about fun things to do
> in lisp.

Check out http://www.cliki.net/ for many other interesting and fun Lispy things.

> When someone told me about Movitz that gave me an idea. I would like
> to do something memory managment related, schedulling, stuff like that, and
> Movitz seems the perfect way to do so. To that purpose I need some pointers as
> I honestly haven't the slightest idea where to begin.

Doing these sort of low level operating system programming jobs
requires quite a bit of knowledge of the hardware architecture as well
as an understanding of implementation techniques. If you're really
interested in this I recommend you spend some time reading through
Intel's hardware architecture documentation (they'll send you the
hardcopy books for free), then study the Movitz assembler and the
existing code. I've done the same, and still haven't gotten far enough
along to write anything contributable. Writing a guide for these sorts
of tasks is somewhat unrealistic, because it entails writing
documentation about the entire system, which is in any case a moving

However, if you're really interested in learning how Movitz works and
want to see some documentation, why don't you study the source and
keep notes? Then you and others can easily build documentation from
that. Ask lots of questions on this list, and everyone will benefit
from the answers.

More information about the movitz-devel mailing list