Proposition: Let's use Lisp for everything, it's the easiest one to read.
Argument: Once you know the (op arg1 arg2 arg3 ...) syntax there's really nothing more in the surface syntax you need to know. We can argee to write '(quoted lists) as (quote (quoted lists)) and '(a b . c) as (quasiquote (unquote (ct-cons 'a (ct-cons 'b 'c))) and so on to avoid all the minor inconsistencies. The ct-cons version can be described trivially as:
Code: Select all
;; Compile-time cons for avoiding dotted-tail notation when
;; quoting data.
(defmacro ct-cons (a b)
(cons (macro-expand a)
(macro-expand b)))
Indeed, I propose we develop a OSdev specific Lisp dialect in terms of itself (which we could all OCDTEL for "OSdev Common Documentation and Tutorial Language"), so as to avoid following anyone's subjective preferences.
Since I am probably subjective in proposing a Lisp dialect, we can use function{arg1|arg2|arg3|...} as syntax instead because I find it rather unlike that anyone would find THAT a personal preference, and the even whole (and holy) /.-readership knows that surface syntax is what defines a language, semantics being rather irrelevant trivialities.
So there you go. Let's not close this wonderful, warm (if not burning) discussion alive some more time. Anybody hasn't even brought up Nazis yet...