Another dimension -- beside in-kernel versus out-of-kernel -- for categorizing file systems is whether the functionality is compiled or interpreted. Table tab-fs-4space summarizes the advantages and disadvantages of these four possibilities.
FiST will be able to generate compiled code for either user-level or the kernel. This results in both speed (compiled, in-kernel) and ease of development and debugging (user-level). Since FiST is a higher-level language it would allow relatively easy changes to file systems, the same way interpreted languages do.