Kategorie: Common Lisp
phased out
Bald werden sie sagen: 6.001 is no more.
Wenn es eine legendäre Vorlesung in der Computer Science gibt, dann SICP. (Structure and Interpretation of Computer Programs).
SigLab Source
Am ECLM 2006 machte David McClain mit SigLab Furore. Dass er das Programm frei verteilen würde, hätte wohl niemand geglaubt. Soeben hat er es auf Lisp-Hug, der Lispworks-Mailingliste aber angekündigt: SigLab. Fantastisch.
Lisp Filemaker Plugin
Edi Weitz' FM-Plugin-Tools erlauben es, Filemaker-Plugins in Lisp (anstelle von C oder C++) zu schreiben. Genial, allerdings Lispworks only. Eine Mac-Version gibt es ebenfalls noch nicht.
Allegro Promotion
Eine Mac-Intel-Lizenz, eine PPC-Lizenz dazu, AllegroCache dabei, freie Runtimes. Freie Runtimes?
Ja, das ist ein Höllenangebot.
60%
#lisp
mr_pengy: sellout: do you have a lot of emacs users at Amazon? or do you think people might balk at it?
[...]
sellout: Oh, I'd say Amazon is at least 60% Emacs. But, there are a lot of Java devs lately, so Eclipse is gaining adoption rapidly.
PCL frei
Practical Common Lisp als Pdf-Download. Unbedingt holen!
concurrency read
Bill Clementson:
Concurrent/Parallel Programming - The Next Generation
Concurrent/Parallel Programming - The Next Generation, Part 2
Explore
Lisp Machines for free!. Nun ja, nicht ganz: die Transportkosten dürften nicht gering sein...
Wo die Texas Explorers der Swissair geblieben sind, habe ich mich schon ein paar Mal gefragt...nun scheinen wir die Antwort zu haben.
Interessant ist in diesem Zusammenhang auch ein Artikel über das neue System, das die Explorers ersetzte (mit Linux und Allegro Common Lisp): NewSuperAgent (pdf)
YACLWS
«Hunchentoot is a web server written in Common Lisp. Technically, it's a small shim for my TBNL library which does most of the work. Hunchentoot replaces TBNL's simple "stand-alone" front-end with something that is capable of HTTP/1.1 chunking, persistent connections (keep-alive), and SSL.»
Hunchentoot. Ein Webserver für Lispworks, geschrieben von Edi Weitz.
Gardeners
«The basic plan for CL Gardeners is to build a community of folks who are interested in doing work that will improve the Common Lisp landscape. I believe that much of what neeeds to be done to make Lisp more attractive is like the work of gardening; just as a little weeding, watering, and pruning can bring out the best in the plants already in a garden, so too can a bit of documentation, testing, and extra attention to existing projects make the overall experience of adopting and using Common Lisp much more convenient and productive.»
Peter Seibel ruft das CL Gardeners Projekt ins Leben. Das gefällt mir, es ist ja nicht so, dass es an allen Enden und Ecken fehlt. Nur ein bisschen Pflege: Lisp ist ein wilder Garten.
UDP und Lisp
Ich habe bisher nichts in Lisp mit dem UDP Protokoll gemacht und wollte mal testen, ob das kompliziert sei. Es ist mit einem Lisp-Compiler wie OpenMCL sehr einfach, stellt sich nach zwei Minuten heraus, vor allem dank der UDP-spezifischen Socket-Funktionen "send-to" und "receive-from".
Wir brauchen eigentlich nur zwei Loops zu bauen. Der "Server" muss den Hostname und den Port des Clients natürlich wissen, damit er antworten kann. Die Werte zieht man hier mit "multiple-value-bind" aus der "receive-from"-Funktion heraus und füttert damit wieder "send-to".
Das folgende Beispiel ist natürlich nichts als trivial:
(defpackage udp-test (:use common-lisp ccl))
(in-package :udp-test)
(defconstant +buffer-size+ 1024)
(defun udp-server-daemon (port) (process-run-function (format nil "udp receiving on port ~a" port) #'udp-server port))
(defun udp-server (port) (with-open-socket (sock :type :datagram :local-port port) (loop (multiple-value-bind (answer len client-ip client-port) (receive-from sock +buffer-size+ :extract t) (let ((reply (concatenate 'string "Echo from server: " answer))) (send-to sock reply (length reply) :remote-host (ipaddr-to-hostname client-ip) :remote-port client-port))))))
(defun udp-client (remote-host remote-port) (with-open-socket (sock :type :datagram) (loop (let ((query (read-line))) (when (string-equal query "quit") (return 'done)) (send-to sock query (length query) :remote-host remote-host :remote-port remote-port) (format t "~A~%" (receive-from sock +buffer-size+ :extract t))))))
LW PE 4.4.6
Lispworks Personal Edition 4.4.6 mit einer grösseren heap size. Die Zeitlimite von 5 Stunden für eine Lisp Session bleibt.
Rainer Joswig zeigt hier, dass die heraufgesetzte heap size nun sogar die Kompilation von Projekten wie CL-HTTP erlaubt.
OpenMCL 1.0
Der freie Lisp Compiler OpenMCL für OS X (und ppc Linux) kommt als 1.0 Release und mit einer beeindruckenden Liste neuer Features. (Darunter 64bit Unterstützung auf G5 Prozessoren und einer Demo Cocoa IDE).
:: Nächste >>