From ab10720260e2c184b319026da89f4dfd338500bb Mon Sep 17 00:00:00 2001
From: Brian Cully First of all, Moxie makes no distinction between triggers, aliases, and macros. We
+ treat all of these things in the same way: as a plugin. All plugins are written in Common Lisp, so you'll have to have some grounding in
+ Lisp to do anything serious at the moment (although I have some ideas for simpler
+ interfaces for the non-programming-minded in the future). There are a few support
+ routines included in the MOXIE package to
+ simplify common plugin tasks, such as triggers and aliases. Because I didn't want to have to write my own language for triggers, aliases, and
+ macros. No matter how much I worked on it, I wasn't going to get the kind of
+ programmability I wanted without embedding a full programming language.
+ I also think it's something of a waste of time to learn a new language just for the
+ purpose of programming a trigger in your MUX client.
+ I could have just used AppleScript as the language of choice, and came very
+ close to doing so a number of times, but I had too much trouble trying to get
+ AS and ObjC talking as well as I'd liked, and, frankly, I don't consider it to
+ be full-featured enough. So I chose to embed a language. There are, theoretically, a fair number
+ of popular languages I could have embedded, however, I chose Lisp for the
+ following reasons:
+ Frequently Asked Questions
+
+
+
+
There are a number of web sites devoted to Lisp programming. Below, I'll list a few + resources that should get you pointed in the right direction: +
The REPL is your direct + interface to the Lisp sub-system. It is the key to fully interactive programming. Via + the REPL you can input Lisp commands directly and see the results - any Lisp will work + here, including function definitions. This allows you to write a function, test it, and + debug it, all without leaving the REPL, and with a much finer grain of control than with + a compile cycle.
+