KludgeCode

is Ben Rudgers

Remarks on From OOP to Lisp Part A

What was interesting was that I used Emacs to type both code examples – the first time I’ve tried to use Emacs as a productivity tool. And it really worked well – formatting between languages, switching buffers, auto-completion, just about everything I tried – holding control rather than shift when typing curly braces was a bit disorienting. But then again, being horribly disoriented is nature of learning Emacs.

Currently, I am using the package LispCabinet available from SourceForge, so it’s got some bells and whistles [alas no tits, but it doesn’t cost $300 either]. Lisp Cabinet is designed for Windows, so don’t say you weren’t warned.

The key to learning Emacs for me is learning the “commands” rather than the shortcuts – a “command” being a function which invokes (interactive) and therefore can be called as <M-x ?>.  So I used <M-x scheme-mode> and <M-x c-mode> on each of my buffers – actually I started the SICP example in <M-x lisp-mode> but define was not behaving idiomatically.

The command paradigm gives me somewhere to hang mnemonics. <M-x delete-window> is what I want to do. It comes ontologically before the <C-x 0> which executes it. Just as my observation of the state of the windows comes prior to my wanting to delete one. During the learning process, shortcuts create impedance in the processing of  our wants into commands because we do not yet have the vocabulary to describe what we want to do.