23.10.06

John Baez on Lambda Calculus and Games

John Baez has an intriguing introduction to lambda calculus and games. He converts a game tree into an expression built from products, exponents, and a single term X (hence there is a close connection to CCCs). The corresponding game is unwinnable if setting X=0 and evaluating yields 0 (so X is an unwinnable game: there are no values of type All X.X) and winnable if evaluating yeilds 1 (so X^X is a winnable game: there is a value of type All X. X -> X). The note is a couple of pages long, and ends with a fine survey of introductory material on lambda calculus.

2.9.06

Server-Sent Events for Opera 9

Jeremy Yallop writes: The Opera 9 browser has support for opening a persistent server-client connection which is used to send DOM events. It'll be interesting to see if this is adopted by other browsers.

28.8.06

Foozles

Todd Veldhuizen's anatomy of a programming language fad. It's all too true. I was surprised to see myself mentioned! Thanks to Sam Lindley for bringing this to my attention.

16.8.06

Sudoku in XQuery

Might be a useful exercise in Links for comparison. Apparently has also been done in XSLT.

19.7.06

Revealing the X/O impedance mismatch

Ralf Lämmel and Erik Meijer explain why its hard to mix angle brackets with curly brackets.

Abstract
When engaging in X/O mapping, i.e., when viewing XML data as objects or vice versa, one faces various conceptual and technical challenges~---~they may be collectively referred to as the `X/O impedance mismatch'. There are these groups of challenges. (i) The XML data model and the object data model differ considerably. (ii) The native XML programming model differs from the normal OO programming model. (iii) The typical type systems for XML and objects differ considerably, too. (iv) Some of the differences between data models and between type systems are more like idiosyncrasies on the XML site that put additional burden on any X/O mapping effort. (v) In some cases, one could ask for slightly more, not necessarily XML-biased language expressiveness that would improve X/O mapping results or simplify efforts.
The present article systematically investigates the mismatch in depth. It identifies and categorizes the various challenges. Known mitigation techniques are documented and assessed; several original techniques are proposed. The article is somewhat biased in that it focuses on XML Schema as the XML type system of choice and on C\# as the OO programming language of choice. In fact, XSD and C\# are covered quite deeply. Hence, the present article qualifies as a language tutorial of `the other kind'.

10.7.06

The Semicolon Wars

Brian Hayes writes an introduction to programming languages for The American Scientist. Hits both the shallow (syntax) and deep (semantics) differences, notes that everyone is deeply invested, and implies that we have a long way to go before we can scientifically evaluate which approach is best. Links is even mentioned, to my astonishment.

3.7.06

Hilda

A programming language for building data-intensive web applications from the database group at Cornell. More ambitious than Links in that it attempts to automatically partition data between client and server, and may partition differently for different servers (a pc vs a phone, say). Less ambitious than Links in that it is not concerned with highly dynamic, AJAX-like applications. Thanks to James Cheney for the pointer.

29.6.06

Ocsigen

Another web framework for dynamic content: OCaml web SIte GENerator.
From Vincent Balat and others at PPS, Paris VII. Here is their summary. Usual stuff with type systems and continuations. No generation of Javascript to run on the client.

26.6.06

The Evil Grid

I used to think of grid computing as a coming technology for e-Science. But this article from The New Yorker (10 Oct 2005) shows that grids are here and now, used for spam, identity theft, and cyberextortion. Here is a quote:

The process is called “herding,” and a herd of zombies is called a botnet. The herder then issues orders to the zombies, telling them to send unsolicited e-mail, steal personal information, or launch attacks. Herders also trade, rent, and sell their zombies. “The botnet is the little engine that makes the evil of the Internet work,” Chris Morrow, a senior network-security engineer at M.C.I., said. “It makes spam work. It makes identity fraud work. It makes extortion, in this case, work.”

22.6.06

Yahoo! User Interface Library

Yet another Javascript AJAX library. This one is well supported, backed by a major player, and open source. Is this the right library for Links to integrate with? Recommended by Mark Engelberg. Mark notes this library supports animation well, which he thinks will be essential in the future of the web.