1 LUCIFER-LANCER is a small experimental library which enables the following syntax:
2 ([ form ][ method arg0 arg1 ... ])
4 Maybe this form fits our thinking habit better (in fact, most natural languages
5 use the form [SUBJECT verb OBJECT] or [SUBJECT OBJECT verb]). Very few natural language
6 used [Verb SUBJECT OBJECT], (which seems to be suggested by CLOS ?)
7 Using this library, you can just use this additional syntax... WITHIN your usual code.
8 Every such form expands into a call, so just use it like a normal form.
10 To use it, just take the following instruction:
11 1. (require 'lucifer-lancer)
12 2a. call (lancer:add-lancer-class-methods <class-name>
13 <method-name1> <method-function1>
14 <method-name2> <method-function2> ... )
15 to register the methods or functions you want to use.
17 2b. Use (define-lancer-method (<class-name> <method-name>)
18 <normal-method-name> <args> <body>)
19 when you define the method.
20 The two ways are essentially the same.
21 3. write (lancer:enable-lancer-syntax) and
22 (lancer:disable-lancer-syntax), and anything else you want between them.
23 For example ([foo ][ mthd foo2 ]) equals
26 Notice "mthd" and "foo-metd" are not essentially the same. And you should keep ][
27 and ]) away from neighboring words (this is because i don't want to keep you from
28 using those characters within your symbol names in your program).