Purely Functional Photoshop by James Hague.
From the post:
One of the first things you learn about Photoshop—or any similarly styled image editor—is to use layers for everything. Don’t modify existing images if you can help it. If you have a photo of a house and want to do some virtual landscaping, put each tree in its own layer. Want to add some text labels? More layers.
The reason is straightforward: you’re keeping your options open. You can change the image without overwriting pixels in a destructive way. If you need to save out a version of the image without labels, just hide that layer first. Maybe it’s better if the labels are slightly translucent? Don’t change the text; set the opacity of the layer.
This stuff about non-destructive operations sounds like something from a functional programming tutorial. It’s easy to imagine how all this layer manipulation could look behind the scenes. Here’s a list of layers using Erlang notation:
A great illustration of one aspect of functional programming using something quite familiar, Photoshop.
Imagine a set of topics and associations prior to any merging rules being applied. In one of the standard topic map syntaxes.
Wouldn’t applying merging rules as layers provide greater flexibility to explore what merging rules work best for a data set?
And wouldn’t opacity of topics and associations, to particular users, be a useful security measure?
Am I wrong in thinking the equivalent of layers would be a good next step for topic maps?