Builders for using combinators for up to 12 result values.
Contract for type classes that adapt a container type for use with these builders.
Contract for type classes that adapt a container type for use with these builders. Implementations have to know how to merge two containers as well as how to perform a simple map.
Adds the ~
combinator function to all classes
that have a matching CanBuild
type class.
A wrapper for a single result value.
Generic support for builders that allow to combine container types with matching type classes into a final result.
The concrete use case for Laika is a concise and type-safe API for setting up directives or text roles. For these APIs and sample code see laika.directive.BuilderContext.dsl, laika.rst.ext.Directives and laika.rst.ext.TextRoles.
This implementation is based on a concept outlined by Sadek Drobi in this gist: https://gist.github.com/sadache/3646092. The code used here is only a simplified subset of the demonstrated functionality.