Category Theory and Computer Science (CTCS'04)

The list of accepted papers and the abstracts of invited talks are now available.

Warning: This gathering is not for the faint of heart...


Progol isn't really a programming language, it's an Inductive Logic Programming system designed as an extension of Prolog.

A user manual and a technical paper are available.

Reading the paper requires some knowledge of machine learning. The user manual cum tutorial is much more accessible.

The orientation message

The orientation message was becoming annoying so I removed it from the top of the home page.

It can be found via the FAQ link on the left.

Mozart/Oz conference MOZ2004 - final CFP

I would like to remind you of MOZ 2004, the Mozart/Oz conference, whose submission deadline is coming up quickly (normally July 9, but due to several requests we will probably extend it by one week). The conference will be held on October 7-8 in Charleroi, Belgium. Highly recommended if you want to get the latest scoop on what is going on in the Mozart/Oz community. Many Mozart researchers and developers will attend too, and we expect lots of animated discussions. We'll also have two very interesting invited speakers, Gert Smolka and Mark Miller.

Another point that might interest people is that we've put a full set of lecture slides (more than 1000) on the CTM Web site (click on Supplements). The slides were made by Christian Schulte and Seif Haridi. The course is rather nontraditional. It might even be viewed as heretical in some quarters (we dare introduce concurrency before state, and we don't even mention inheritance). But we think it's a good way to start learning programming. The lecture slides only cover one third of the book, though, so if you want to see the other two thirds you'll have to get the book.

Whiteboard with Anders Hejlsberg

Link: MSDN TV: Whiteboard with Anders Hejlsberg

(The cameras seem to be following Anders around these days).

Anders answers questions from Tech-Ed audience about C# design decisions and possible future directions of the language. A number of subjects are discussed, including AOP, multiple inheritance, closures, guaranteed dispose, etc...

I'm about 30 minutes into the hour and a half video. Quite interesting from a PL perspective. I'll enter my notes into the comments section as time permits.

An Invitation to Ada 2005

A presentation about the additions and changes in Ada 2005.

It's interesting to see how Ada that once influenced C++, Java and eventually C# (e.g., generics, strong typing) is now being influenced by them (e.g., interfaces, container library, integration of tasking and inheritance).

As I've said here before, the Ada design process is quite interesting, seeing as most Ada users are quite conservative -- due to the fact thar they are building mission critical software -- while the language designers try to move the language forward without alienating its user base.

Debugging Functional Programs

An interesting thread on the Haskell mailing list.

I am not sure whether the most reasonable conclusion from this thread isn't to not choose lazy languages. I don't think it's simply a problem of lack of tools. Debugging lazy code is iherently problematic.

Sapir: Language, An Introduction to the Study of Speech

Thanks to the amazing Project Gutenberg, Edward Sapir's classic book on language is now available online.

True, this isn't about programming languages per se, but still an important work that some of you may want to check out.

Zing (MSR)

Zing is a new software model checking project at Microsoft Research.

Software model checking is hard, but it is still a promising line of research.

Tools are generally influenced by the type of languages they model. On top of that, I am sure software model checking is going to influence language design and implementation.

In the Spirit of C

(via Keith Devens)

In the Spirit of C, by Greg Colvin.

A somewhat biased and over enthusiastic overview of the evolution of C and ilk.

I am sure LtU readers will find a lot they disagree with. I suggest starting with the quote from the ANSI C Rationale...