Ключевые слова в Lisp
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 07.01.06 09:33
Оценка:
Понимаю, вопрос странный...

Однако, мне нужен список ключевых слов, который желательно подсветить так же как, скажем, слово class в Шарпе.
class X
{
  char c = 'x';
  string s = "xxx";
  /* comment */
}

Если перечислять все bif-ы, то полученный список будет очень внушительным:
(defmacro define-generic-binary-class (name (&rest superclasses) slots read-method)
  (with-gensyms (objectvar streamvar)
    `(progn
       (eval-when (:compile-toplevel :load-toplevel :execute)
         (setf (get ',name 'slots) ',(mapcar #'first slots))
         (setf (get ',name 'superclasses) ',superclasses))

       (defclass ,name ,superclasses
         ,(mapcar #'slot->defclass-slot slots))

       ,read-method

       (defmethod write-object progn ((,objectvar ,name) ,streamvar)
         (declare (ignorable ,streamvar))
         (with-slots ,(new-class-all-slots slots superclasses) ,objectvar
           ,@(mapcar #'(lambda (x) (slot->write-value x streamvar)) slots))))))

Хотелось бы ограничиться минимальным набором.

ps: А может сделать ключевыми словами скобки?
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.