archives

Types in CMUCL

CMU Common Lisp's compiler, known as Python, has a sophisticated implementation of Common Lisp's powerful type system. The system primarily enforces type safety at runtime, but it also performs static type inference. The static type information is used to detect type errors, eliminate unnecessary runtime type checks, and select efficient primitive code (e.g. avoid excessively generic arithmetic).

CMUCL's history stretches back around twenty years, though I believe the compiler was rewritten "just" 15 odd years ago. The system is still widely used, notably by ITA software as publicised by Paul Graham.

International Components for Unicode 3.0 Released

Language designers should find this good news encouraging. ICU is very capable and too many languages still lack Unicode support. There is no good reason with ICU around. ICU has a loose X open source license which is good for GPL or proprietary work.

ICU comes in three flavors, C, Java, and Java Native Interface. If you care about Java, consider the independent Managing Gigabytes for Java project and related papers.

XsRQL (and other RQLs)

The RDF Data Access Working Group is busy doing a survey of query languages and access techniques that have been used with RDF. Many resemble SQL in syntax, despite operating on a graph. Amongst the WG's Design Evaluations Links there's a recent submission of a different style from Howard Katz : XQuery-style RDF Query Language (XsRQL), which actually looks very procedural (like XQuery).

We are not the only ones doing it...

The Secure Coding mailing list is having field day arguing about Marcus Ranum's ACM Queue article, Security: The root of the problem.

Normally, I wouldn't link to this thread since it isn't specifically about programming languages.

However, programming languages are being mentioned, and static analysis tools discussed (esp. SPARK). Moreover, I think the dynamics of the debate are quite similar to the dynamics of the ongoing (and eternal) debate in the discussion group regarding static typing. Perhaps, seeing this sort of quicksand action hapenning in a different context can help us learn how to focus PL-related debates and make them more productive.

Note: I am not trying to rain on anyone's parade. In fact, I think LtU is better than most other forums when it comes to this kind of debate. But non-productive debates on these issues are a common problem in PL discussions.

Visual Studio Express

After making available for free the Visual C++ Toolkit which includes the complete optimizing C++ compiler from Visual C++ Professional, now MS is offering free versions of its Visual Studio tools, called Visual Studio Express. The beta versions are available for download, but the FAQ says they haven't decided yet about pricing for the final versions.

Blogrolls

LtU friends are readers who have us on their blogrolls are encouraged to change the URL to point to our new location.

Thanks!

Open-sourcing Java

Should Sun open-source Java? "The Big Question" keynote debate at JavaOne in San Francisco was devoted to this question.

Now, I don't really know what open-sourcing a language means, but this is obviously an important question...

The Java language specification and the JVM spec are both public. The Sun JVM isn't open source, but there are many other Java VMs out there.

The community process is controlled by Sun, but then again some process must exist if you want the language to remain cohesive, and someone or some group will have to control this process.

So it seems that this is ultimately about community dynamics. Languages create communities. Communities shape the way languages evolve.