Sun Mar 29 12:27:38 CEST 2009

Loops and data structures

A simplified view on functional programming:

    FP is about passing data structures around until they are ready to
    be reduced into pure behaviour.

Ideally, you'd want to program subparts in terms of processors of
intermediate data stuctures, and have the compiler use those
datastructures as a skeleton to produce code sequencing with data
structures eliminated.

I can't express it yet -- the idea isn't formed completely, but it's
about this:

    Datastructures don't make sense without code processing it, and
    relating it to some kind of semantics derived from the real,
    physical world.

In other words, they need to be _compiled_ to some form of physical
machine code.

Now, the simplified view:

    Code = serialized traversal/update of data structures.

What is the link of this to deforestation: elimination of intermediate
datastructures?  The classic example is unix pipes: instead of
read/writing from/to intermediate data files, processes can be
connected using pipes.

It looks like some of the Oleg Kiselyov's ideas are starting to make sense
to me: next I'd like to understand the relation between staging,
deforestation and delimited control.