Davenport brings Free Monads to interactions with Couchbase. You don't need to know or understand what these are as they can remain under the hood. The key takeaway is that you assemble together a set of functions and database operations, but you delay execution of this. When you're ready, you pass the set of instructions to a connection. We currently support an in-memory Map and Couchbase as connections. This makes testing and reasoning about your database operations far simpler.
There are other libraries for interfacing with Couchbase from scala that we're aware of:
These are perfectly good libraries and you should evaluate them. This library takes a different approach, which has its pluses and minuses, as described in the Benefits and Drawbacks section of this README. In summary, this is a new project and light on advanced Couchbase features, but strong on composability and testability. You can parallelize things as well using composable scalaz Tasks as desired.
- Davenport project site
- Scaladocs
- Getting Started instructions and examples
Copyright (c) 2015 IronCore Labs
Licensed under the MIT Open Source License