About SchemaForm
SchemaForm is a computationally-complete, high-level database programming language, intended to greatly reduce the work needed to produce a performant back-end from a complex, normalized design. With SchemaForm, you worry about what your system should do, and you the let the compiler worry about all of the bookkeeping needed to knit that design into something reliable and fast.
SchemaForm is a code generator. It uses its intimate knowledge of your high-level design to work out how to arrange your data in tables, how to generate queries to get you the answers you need, and how to generate the procedural code that makes everything work. The core components are kept independent of the output language, allowing SchemaForm to support just about any SQL database system and just about any target language.
SchemaForm is a denormalization engine. It makes it easy to specify the field- and set-level relationships between your data elements, and the patterns by which you access them, and uses that information to build a fast system for you — a system that will always stay correct, because you never have to worry about updating cached copies. SchemaForm keeps track of when incoming changes will affect any cached copies and updates them for you. You design properly and SchemaForm worries about optimization. It’s the best of both worlds.
SchemaForm does the very work you would normally have to do by hand and intuition when taking a database-driven system from design to implementation. The only difference is that SchemaForm does it faster and more reliably, freeing you up to dream bigger and to go further. It’s database programming, evolved.
History
I started developing the SchemaForm language in 2004. I wanted a high-level database programming language that could do all the grunt work I normally do when turning a high-level design into something that actually works.
I did get the language working, at the time, but the generated code did not perform to my expectations, and I eventually shelved the project. Well, now, armed with a much more practical approach to database systems than I had then, SchemaForm is back in development, and I hope to release a working (and performant) language in the coming months.
SchemaForm has seen nearly 4000 hours of development time, to date — 3000 hours for the original version, and another 1000 so far on this new version. I hope I can finish it with another 1500, or so, but only time will tell.
If you have questions or comments, use the comment feature, or drop me an email.