Fri Jan 15 08:02:42 CET 2010
Can functional programming be liberated from the von Neumann paradigm?
I like some of Conal Elliott's ideas, especially his critique on IO in
The post is about composability. I.e. a "program" with IO is an
artificial notion. Really, the unit of composition on that level
should be the module (a bunch of functions and data structures
augmented with static meaning). Can the "program" be eliminated?
I love this:
Roly Perera noted that
... you never really need to reach `the end'. (It really is all
To extend an example in the previous post, after numbers, then
strings, and then pixels, are phosphors the end? (Sorry for the
obsolete technology.) After phosphors come photons. After photons
comes retina & optic nerve. Then cognitive processing (and emotional
and who-knows-what-else). Then, via motor control, to mouse,
keyboard, joystick etc. Then machine operating system, and software
again. Round & round. More importantly, our interactions with other
wetware organisms and with our planet and cosmos, and so on.
What looks like imperative output can be just what you observe at
the boundary between two subsystems.
Which is exactly how I look at imperative input/output.