Friday, March 20, 2009

Cloud Atlas by David Mitchell

David Mitchell did it here in literature and music; let's try it in Lisp.

Let (p1 p2 ... pn) be a story with first part p1, second part p2, ..., nth part pn. Don't worry about where the breaks occur, maybe chapters and maybe not.

Most books are structured (p1 p2 ... pn) but not Cloud Atlas. Let's start with the sections/parts.

(setq A The-Pacific-Journal-of-Adam-Ewing)
(= A '(a a'))

(setq B Letters-from-Zedelghem)
(= B '(b b'))

(setq C The-First-Luisa-Rey-Mystery)
(= C '(c c'))

(setq D The-Ghastly-Ordeal-of-Timothy-Cavendish)
(= D '(d d'))

(setq E An-Orison-of-Somni~451)
(= E '(e e'))

(setq F Slooshas-Crossin-an-Evrythin-After)

(setq Cloud-Atlas '(a (b (c (d (e F e') d') c') b') a') )

It remains to be said that each of the stories is intricately researched, and both exciting and thought-provoking in its own right.

As the story-recursion steps forwards, time jumps in 50-100 year steps, with each episode re-emerging as a text in the subsequent one. The styles of the embedded stories are all very different.

There's a certain amount of back-flipping through the pages to catch the back-references, and renew acquaintance with the earlier parts of later stories. Mitchell doesn't forget the advice that if a revolver is to be part of a scene, then by the end of the play it must be used.

The underlying theme - and there is one - is the eternal uphill battle against the human version of entropy: ultimately self-defeating selfishness, cheating and savagery. Civilization is always bought dear and is always unstable.

Who could disagree.