source code

precursor: git repository

git makes it easy to track changes to software over time. phext provides a simple path to encoding the structure of software in space. taken together, a git+phext repo is essentially a model of space-time. build systems often make use of this core idea by providing 'unity' builds. this helps reduce overall compile times and points to a core problem with modern software development: the curse of naming things.

naming things is the hardest part of computer science. let's say that you want to fork your class into two parts, because it is now 2,000 lines long. not only do you need to re-factor your files...you also have to pick a new name for the forked-out class.

but what if ... you could simply organize your code into a hierarchy? if a problem is truly complex, don't fight the complexity: just manage it. phext frees you to focus on the problem, not how your project is structured. we need to add phext support to compilers, linkers, and build systems like cmake in order to realize this vision.