Ted Leung on the air: Open Source, Java, Python, and ...
[via Chris Double's Radio Weblog ]:
Chris Double reports that the Gwydion Dylan hackers have released fhe first beta for OpenDylan, which is the open sourced version of Harlequin/Functional Objects Dylan implementation. Since it generates native code, it's only available for x86, meaning Windows and Linux. Good thing Macs are going Intel....
In other Dylan related news, the Dylan Hackers placed 2nd in this year's ICFP contest.
Patrick Logan posted some pointers to information about T, including a project to revive that fine implementation of Scheme.
The summer after I graduated from high school, I was fortunate to work at Burroughs' System Development Corporation subsidiary, which did some defense work, and some research. I was working on building a compiler for the functional language Super, which was a derivative of SASL. This was the first time that I saw a functional language (we were doing combinator graph reduction), and the first time that I saw a language where indentation was part of the syntax -- they called in the offside rule. Python had not yet been born, but I suppose it's some strange circle of life that I'm once again working in a language with an offside rule.
Lots of important Lisp and Scheme related research came out of the T project, so I'm glad to see it get a little more time in the sun.
Virtual machines and emulators have been around since the IBM 370 (at least). In my actual computing lifetime, the first real emulator that I remember was the 68000 emulator that Apple wrote when they switched the Macintosh to the PowerPC processor. Of course there have been plenty of emulators done since then.
So it really shouldn't have been a surprise that someone has done an emulator for the MIT CADR Lisp Machine. After all Symbolics Genera has been running on 64 bit Alpha's for quite some time now. Of course, there's a difference because you can go download the CADR emulator, and you can't do the same for Genera.
I wonder when someone will sit down and do an emulator for the Intel 432....
Jon Udell has been chronicling his adventures now that there's a Rhino based implementation available.
Meanwhile [ via Lambda the Ultimate, via Chris Double ] Micheal Walter showed how to create an very E4X like XML embedding for Lisp using (character) macros. Why invent a whole new language for a new problem domain?
And you're right: we were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Aren't you happy?I don't know if they got half way or not. Last night I went to SeaJUG to hear Joe Bowbeer talk about Concurrency Utilities in Practice. This talk is the second of a pair covering the JSR-ized (166) version of Doug Lea's excellent concurrency libraries for Java. Concurrent Programming in Java is an excellent book on concurrent programming in general. During the talk, I was reminded (again) of Java's great intellectual debt to Lisp. The Future construct which is part of
java.util.concurrentwas originally invented in Multilisp around 1985. It turns out that Juan Loiaza who did some of the work with Halstead was a senior living in the same dorm as me. This kind of thing is a problem because people don't know where good ideas came from, and so they have no idea of where to look for good ideas when they run into problems that they don't know how to solve.
Question: "Why are languages like C , C#, and Java so prevalent?"Patrick has been on a tear lately....
Dave Ungar: "Why do people smoke tobacco?
- There are too many Lisps/Schemes/etc.
- It would be better to show cool programs/applications
Of course, as Phil points out, LISP s-expressions have both of these properties. This doesn't necessarily imply that s-expressions would be a good substitute for XML. One of XML's great features is that its parsers work as interpreters rather than being compiled. That is, they update their syntax on the fly as they work rather than having a syntax compiled in, as is the case with s-expressions or other representationsI think that macros (and if need be, reader macros) would allow s-expressions to do most of what is needed here. Joey Gibson has discovered that Lisp Macros Are Very Cool. Wait till he sees some of the cool stuff in R5RS...
Macros have come a long way from the early days of Lisp. Now, with hygiene, and
syntax-case, etc., we see that macros are powerful enough to write sophisticated compilers. More importantly, the compiler can be written so that the expressions are not traversed by the code written by the macro writer.