Compile-time type-safe object-relational mapping (ORM)

Compile-time type-safe object-oriented query (QQL)

Higher-order transaction handler Qanat is a compile-time type-safe, Hibernate -like ORM framework, implemented in the OCaml programming language. It supports:

The name of the framework, Qanat, derives from an underground water supply system (link) widely used in western Asia. This kind of water system is specially designed and constructed underground and used to provide a reliable supply of water without pollution or high water loss for irrigation in hot, arid or semi-arid areas. Our framework provides an analogous facility, irrigating programs with data mapped from relational databases,while guaranteeing type safety at compile time.

Qanat framework is designed and implemented by Conglun Yao, supervised by Alan P. Sexton.

Sub projects The Qanat framework includes the following sub-projects. These sub packages can be installed and used independently of the full Qanat framework. qanat core - core Qanat package, including ORM facility and QQL

pgdriver - a JDBC-like, transaction aware, PostgreSQL binding for OCaml

logging - a config-based, hierarchical logging system

numeric - an extension of the standard OCaml Num module The Qanat framework includes the following sub-projects. These sub packages can be installed and used independently of the full Qanat framework.

Demos Demo Qanat programs