archives

What's up guys?

So I am busy a couple of days, and not one editor manages to post something new? I am disappointed...

Maybe it's time we recruited some more contributing editors. If you are a regular and want to join, let me know.

SIGAPL

SIGAPL is showing signs of life. After skipping a year while a new slate of officers reorganized, *Quote Quad* (the SIGAPL newsletter) Volume 34, Number 1 appeared in my mail box. The SIG has fallen on some hard times, but I think it's well positioned for a comeback. With cheap, fast hardware and service oriented architectures, the productivity advantages of *Array Programming Languages* are compelling for some applications.

Functional programming with GNU make

One of the gems squirreled away on Oleg's site is "Makefile as a functional language program":

"The language of GNU make is indeed functional, complete with combinators (map and filter), applications and anonymous abstractions. That is correct, GNU make supports lambda-abstractions."

Although I've classified this under Fun, Oleg exploits
the functional nature of Make for a real, practical application:

"...avoiding the explosion of makefile rules in a project that executes many test cases on many platforms. [...] Because GNU make turns out to be a functional programming system, we can reduce the number of rules from <number-of-targets> * <number-of-platforms> to just <number-of-targets> + <number-of-platforms>."

See the article for a code comparison
between make and Scheme, and check out the Makefile in question.

Understanding continuations

In my neverending quest to grasp continuations (stupidly, apart from actually trying to use them in a supporting language), I found this "continuation sandwich" example interesting.

I wrote down my thoughts on what I still don't understand. If anyone would be willing to comment there or here and help me to correct my still-confused understanding of continuations I'd be very grateful.