We are using virtual tables for similar purposes since release 3.7.14. The mechanism has been expanded to allow table valued functions by declaring hidden columns in the internal table declaration passed back to SQLite, e.g. CREATE TABLE split (word TEXT, list TEXT hidden) which allows one to SELECT word FROM split WHERE list = 'list of words, with punctuation'; and also JOIN to other tables