Fun

Killer Props for Computer Scientist!

Who is the most thanked person in Computer Science? No, it's not Ehud Lamm, or Superman! It's...Olivier Danvy, famous PL researcher. PL research does pay (in...umm...intangible rewards).

Read the full story on Nature

Choosing a Language for Interactive Fiction

Link: Can't recall that we've ever discussed programming languages that are dedicated to authoring text adventures (much less MUDs). These languages are geared towards constructing worlds that have a built-in english language like parser. Kind of Lisp meets Prolog aspects, where the emphasis is on a declarative type of programming.

What is Universal about the Representation of Color Experience?

A study in the importance of language. We've had posts before that discuss whether and how language shapes experience, but I don't think this paper has appeared.

Only vaguely related to programming, I know, but there is a tradition here for this kind of thing (I hope!). From painquale on mefi.

Cool Python "spreadsheet"

Use eval() to drive spreadsheet style logic. The sleeper feature of Py2.4 is the ability to use any object with a mapping interface as the locals argument to eval().

Cute Python language hack.

Languages that allow you to hook into their variable lookup logic open the door to many cool hacks.

Lazy K

Lazy K is a garbage-collected, referentially transparent functional programming language, with a simple stream-based I/O system. What distinguishes Lazy K from other such languages is its almost total lack of other features.

It's SKI combinators all the way down...

Thanks, Pont!

Whitespace

Whitespace

Most modern programming languages do not consider white space characters (spaces, tabs and newlines) syntax, ignoring them, as if they weren't there. We consider this to be a gross injustice to these perfectly friendly members of the character set. Should they be ignored, just because they are invisible? Whitespace is a language that seeks to redress the balance. Any non whitespace characters are ignored; only spaces, tabs and newlines are considered syntax.

Durham students have fun again ;-)

Nonsense Generator

Nonsense generates random (and sometimes humorous) text from datafiles and templates using a very simple, recursive grammar. It's like having a million monkeys sitting in front of a million typewriters, without having to feed or clean up after them.

The demo pages are quite nice. I liked the randomly generated laws. The Slashdot imitation is sure to please.

Every language you never wanted to know

The Virtual Unknowns (alternative link - apparently the one I gave earlier may expire)
(hope this works; not posted to this version of the site before, so apologies if this is broken in some way...)

Erlang the Movie


From: mike@erix.ericsson.se (Mike Williams)
To: erlang-questions@erlang.org

[...]

As one of the main "actors" in "Erlang the Movie", I
absolutely and categorically forbid its showing *anywhere*. If there
was a competition for "turkey" short movies, I think we would win
hands down.

So, please, please, please, forget we made that retched film in 1990!

That's right, now you too can own the movie that "Bjarne used whenever he wanted to get rid of unwanted guests at CS lab parties"! Download the torrent or the file on erlang.org if you have 200MB of disk space to spare!

No, no and again, NO!!!

Reflections on reflection - Henk Barendregt

(Link)

Here's something to exercise both brain hemispheres. Henk Barendregt needs no introduction for many LtU readers - he literally wrote "the book" on the lambda calculus, and that only hints at the profound impact his work has had on lambda calculus and type theory.

The page linked above lists two overlapping papers, both about reflection:

Reflection plays in several ways a fundamental role for our existence. Among other places the phenomenon occurs in life, in language, in computing and in mathematical reasoning. A fifth place in which reflection occurs is our spiritual development. In all of these cases the effects of reflection are powerful, even downright dramatic. We should be aware of these effects and use them in a responsible way.

A prototype situation where reflection occurs is in the so called lambda calculus. This is a formal theory that is capable of describing algorithms, logical and mathematical proofs, but also itself.

As the first paragraph quoted above implies, the scope of these two papers extends far beyond the lambda calculus, into fields such as biology and meditation. Between the two papers, there's something for everyone:

"Reflection and its use, from science to meditation" is wide-ranging, covering reflection related to living cells, formal languages, mathematics, art, computers, and the human mind.

"Reflection and its use, with an emphasis on languages and lambda calculus", focuses specifically on reflection in formal languages, including combinatory logic and lambda calculus.

XML feed