A purely functional le system has been built on top of pure Scheme. It provides persistent structures and massive storage expected of le systems, without explicit side-e ects like read and write. The le system becomes an additional, lazy argument to programs that would read from it, and an additional result from functions that would alter it. Functional programming on lazy structures replaces in-place side-e ects with a signi cant storage management problem, handled by conjoining the heap to the le system. A hardware implementation of reference counting is extended out to manage sectors, as well as the primary heap. Backing it is a garbage collector of heap and of disk i.e. UNIX's fsck, needed only at reboot. CR categories and Subject Descriptors:
Brian C. Heck, David S. Wise