Abstract
This first lecture will describe the emergence of persistent data structures in two different historical contexts : on the one hand, the emergence of purely functional programming languages and their equational approaches to program derivation and verification, and on the other, the emergence of new needs, particularly in geometric algorithms, to efficiently share memory representations of several data structures that differ in few respects. We'll be taking a look at our first examples of persistent structures, based on lists or binary trees.