Pile

consists of a large amount of Relations (or Associations). Each Relation has a unique value, called a Handle. The OPE implements a Handle as a 32 bit value.

🔺

See "Beyond WinFS – Let associations rule! – or: An introduction to Pile for mere mortals" post

Data, e.g. "PETER", are not held "in the system" themselves, but are represented by "placeholders" or the linking of "placeholders". The data itself is therefore not "in the system", but can only be generated from it again. Pile is in this respect bidirectional and stands thus in contrast to e.g. neural networks, which encode data/signals also, but do not produce again reliably. But this is not their purpose. But that is the purpose of a pile – and in this respect it is and remains a data storage device. (Ralf Westphal (2006), personal communication)

⇒ Relations are nothing new. But from my (Ralf Westphal's) point of view the representation of a relation space in a 2D coordinate system is new. And Erez may be right when he says that only if you map relations to a 2D space, the whole thing scales. As long as one tries to represent relations by bidirectionally linked data structures (e.g. objects), it is too slow in the end or eats too much memory.

So much for Erez's decisive achievements. At least for me, these two thoughts were new in this consequence.

Erez had 2 important thoughts and poured them into code to show that problems can be solved better with it. His code is in this respect a proof form or an experiment. But it is only one form of many possible ones. And any attempt at proof should be subject to controls. For this it must be understood – hence my demystification [⇒ The Original Pile Engine Demystified] – and the experiment must be repeatable – hence alternative implementations.

If someone finds another way to implement binary bidirectional relations, which in turn can serve as parents for other relations, with the purpose of encoding data rather than storing it directly, then that would also be a pile implementation.