Operating systems

QueryFS is a FUSE-based virtual filesystem that is based on queries. There are plugins to parse various query syntaxes and each query creates a virtual directory. Currently the most elaborate query language is SQL-based; you can either provide access to data stored in an SQL database, or keep an index of files in the SQL database and generate search directories with symlinks to found files. QueryFS and its SQL2 query DSL fully support creation of refinable searches: for example, the author has an index of downloaded email files; one can see all the distinct senders registered in the DB and then go into a directory of one sender and see all accounts that ever received an email from this sender.

STMX is a high-performance Common Lisp library for composable Transactional Memory (TM), a concurrency control mechanism aimed at making concurrent programming easier to write and understand. Instead of traditional lock-based programming, one programs with atomic memory transactions: if a memory transaction returns normally it is committed. If it signals an error, it is rolled back. Transactions can safely run in parallel in different threads, are re-executed from the beginning in case of conflicts or if consistent reads cannot be guaranteed, and effects of a transaction are not visible from other threads until committed. This gives freedom from deadlocks, automatic rollback on failure, and aims to resolve the tension between granularity and concurrency.