SQLite implementation in Haskell — educational project for learning FP and database internals.
cabal build all # build library, executable, and tests
cabal test # run test suite
cabal run hasqlite # run the executablesrc/HaSQLite/
Storage/ -- storage engine (pager, B-tree, varint, record format)
Compiler/ -- SQL frontend (lexer, parser, AST, codegen)
VM/ -- bytecode virtual machine
Core.hs -- top-level API
app/Main.hs -- REPL entry point
test/Main.hs -- test suite (hspec + QuickCheck)
- Git commits must NOT include
Co-Authored-Bylines. - Tests use hspec for unit tests and QuickCheck for property-based tests.
- Module namespace is
HaSQLite.