lomeo: (лямбда)
2006-07-04 06:16 pm

макры рулят

Guy Lapalme.  Implementation of a "Lisp comprehension" macro.

Вот что делают!

(defun perms (x)
    (if (null x) ’(())
        [(cons a p) (a <- x) (p <- (perms (remove a x :count 1)))]))


via [livejournal.com profile] lispnik
lomeo: (лямбда)
2006-04-07 02:21 pm

ABCL

По наводке [livejournal.com profile] polter скачал себе CommonLisp for JVM. Называется ABCL. Как они пишут ABCL пока является очень ранней реализацией, однако, она уже имеет много вкусностей.

С помощью стандартного cygwin-овского CLISP, к сожалению, ABCL не собрался. С LispWorks же это произошло на раз-два.

Приятно, что у ABCL очень хороший интерфейс с java (по крайней мере, мне так показалось).
Вот кусок кода, демонстрирующий это:
(defun local-port (socket)
  (java:jcall (java:jmethod "java.net.ServerSocket" "getLocalPort") socket))


Также есть возможность создавать объекты, работать с массивами, реализовывать через прокси интерфейсы, получать информацию о типах во время исполнения и т.д. Поглядите на java.lisp - там все это есть :-)

А теперь ссылки:

Сам ABCL

Редактор, написанный на нем (смотрите картинки)