README.markdown

Statically typed reflection for Scala

A problem with many query DSLs in Scala is that they rely on referring to properties of objects using Strings. This means there are no compile time checks that the query is correct, and small typos can lead to very frustrating and hard to find bugs.

ScalaFlect solves this by allowing statically typed reflection on classes. It is designed primarily be used as a building block for building DSLs for querying data stores/representations that get mapped to Scala classes, for example, a database object mapper.

An example of what a DSL built on ScalaFlect might look like can be seen here: