USENIX2003: A Logic File System. I'd like to submit one more summary of USENIX2003 talks: a
logical file system. It my opinion, it was the best, the most
innovative USENIX talk. Although the subject matter may seem remote
from programming languages proper, that talk touches on several points
that have been discussed on LtU:
SQL and database access languages in general. The talk shows
how to access what is essentially a relational database using a query
language based on propositional logic. Although the label
'propositional logic' seems intimidating, the query language is
actually quite natural -- even more natural than the familiar
"cd/ls". Of a particular importance is the ability to formulate a
query incrementally, to refine it -- what the paper calls integration
of query and navigation.
The paper demonstrates how to automatically group the
results of a query in meaningful and the most general categories, so
as to avoid overwhelming the user.
the view that a hierarchy is deficient in organizing and
using large collections. OOP programmers come to understand this fact:
thus we have AOP. The logic file system shows a different approach,
which might be suitable in large software projects.
The author of the paper is currently working on "views" of a
file (which the summary mentions at the end). For example, we can view
and edit a sample of sections from a document file as if it were a
separate document. This relates to a recent LtU discussion of "one file per
class". The views provided by the file system show a different
solution to the problem (other than the hidden types).
Finally. The summary states that the system was written in a
special language -- improved Perl -- which is then translated into
regular Perl. I guess that makes the paper directly relevant to LtU.
In general, the notion of scoping is common to both file
systems and programming language's variables. The talk shows that we
might view the variable scoping in a more general way: as a logical
formula.
I must also state that embedding a Prolog interpreter into a
file system and viewing file paths as logical formulas are very
insightful and inspiring. Cheers, Oleg
Another interesting USENIX summary from Oleg. Enjoy!