SRFI 40: A Library of Streams

The SRFI 40 document (now in "final" status) includes a very nice discussion of streams, especially as regards implementing them in strict languages (i.e, "even" vs. "odd" streams).

The code is in Scheme, of course, this being an SRFI, but basic knowledge of Scheme should be enough in order to read the highly readable SRFI document. Do check it out if you are interested in streams.

Demonic Nondeterminacy: A Tribute to Edsger Wybe Dijkstra

Jayadev Misra's tribute to EWD at Europar-2003.

A short essay that may be relevant to the question whether language designers should make their languages more forgiving as regards programmer errors, or more stringent.

New result re "linguistic determinism"

Hunter-gatherers from the Piraha tribe, whose language only contains words for the numbers one and two, were unable to reliably tell the difference between four objects placed in a row and five in the same configuration, revealed the study.

A new study may provide the strongest support yet for the controversial hypothesis that the language available to humans defines our thoughts.

The result is controversial enough that I withhold judgement until I read the journal paper.

Preliminary call for participation to MOZ 2004

MOZ 2004 is devoted to bringing together people interested
in the Oz language and the Mozart development platform.
MOZ 2004 will take place in Charleroi, Belgium on October
7-8, 2004. Early registration is possible until August 22.

MOZ 2004 will have two invited speakers (Gert Smolka, the
father of Oz, and Mark Miller, the father of the E secure
distributed language) technical sessions (see the list of
all 23 accepted papers), five tutorials (general overview,
constraint programming, distributed programming, teaching
programming, and tips on practical deployment), and a
panel on the future of Oz. Last but not least, MOZ 2004 is
an excellent opportunity to meet and discuss with the
Mozart designers and other users.

Udell: A strategic vision for dynamic languages

We're going to need a fabric of pervasive intermediation, and the TCP/IP of Web services -- that is, SOAP -- will enable that. But we're also going to need a whole lot of agility woven into that fabric. I want middleware that works like Indigo, but I want to program it in a language that works like Python.

Jon Udell is one of the champions of so-called dynamic languages. This item is yet another attempt to explain the importance of dynamic languages and the central role they should play in building complex networked applications.

I am sure all you guys debating static typing in the forum are going to find this worth reading (and worth debating).

Dynamic Languages Wizards panel videos (rerun)

We have previously mentioned these videos of a series of panel discussions that were hosted by the MIT Dynamic Languages group in 2001. I just watched them again and I thought they were great, so I'm re-posting them for people who missed them the first time around and as a reminder for anyone who'd like to watch them again.

There are three separate panels on different topics: compilation, runtime, and language design. The panelists are distinguished people mostly from the Lisp/Scheme/MIT world. These panels were a precursor to the Lightweight Languages workshop series.

The videos are in QuickTime format. To play them on Linux I used VLC. mplayer wasn't able to synchronize the audio and video.

Partial Continuations

A nice introduction by Chris Double.

In the previous example we've effectively called the continuation and then returned back to the caller of that continuation. What we really want to do is capture a 'partial continuation' or 'subcontinuation'. That is, not the entire continuation but a section of it and then return back to the caller.

The 'splitter' operator mentioned in the header to this article implements exactly that. It marks the point at which a continuation should be captured up to, instead of the entire continuation. A 'partial continuation' can then be reified up to this point.

Introduction to MDX Scripting in Microsoft SQL Server 2005 Beta 2

This document describes how Multidimensional Expressions (MDX) for Microsoft SQL Server 2005 Beta 2 can be applied to common business problems.

Given the interest in database integration exhibited in the past, I guess this may be of interest to some readers.

MDX is the server-based calculation engine provided by SQL Server's Analysis Services. MDX scripts appear to execute like programs, however the MDX script does not really "run." It is a declared set of commands that are always in effect. The contents of the cube are always consistent with the script. The scripting language is explained along with examples.

You might call it declarative programming...

Three interesting discussions

Since we are having a slow week, I thought it might be a good idea to mention three interesting threads from the discussion group. Most regulars read the discussion group, but not everyone is aware of it, and we are still working on an RSS feed for new discussion group messages. So, in case you missed them, you might want to check out,

  1. Understanding continuations.
  2. Explaining monads.
  3. Why type systems are interesting (this is a long thread, so consider starting a new one if you want to move the discussion in a new direction).

Francis Crick (1916-2004)

This is a bit offtopic, but Francis Crick was an esteemed man of science and we should all be saddened to hear of his death.

Crick co-discovered the the structure and properties of DNA in 1953, along with James Watson.

His work leading to the understanding of the genetic code is, however, more closely related to our areas of interest. These classic experiments were an astonishing example of scientific discovery at its best.

In recent years Crick was interested in the questions of neurobiology, and published the provocative book Astonishing Hypothesis which tackled the question of human consciousness.

XML feed