Skip to content
Component wiring for Scala inspired by
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



This library provides a data structure, a Registry, to control the creation of functions from other functions. You can use this technique to:

  • create applications out of software components ("dependency injection")
  • fine tune JSON encoders/decoders
  • create composable data generators for nested datatypes

You can watch a video presenting the main ideas behind the library here.

The following sections introduce in more details the problem that this library is addressing, the concepts behind the solution and various use-cases which can arise on real projects:

  1. what is the problem?
  2. the concept of a Registry and the resolution algorithm


  1. TODO use a Registry to create applications and define components
  2. TODO use a Registry to compose Hedgehog generators


  1. TODO how to install this library?
  2. TODO how to do mocking?
  3. TODO how to specialize some values in some contexts?
  4. TODO how to make a singleton for a database?
  5. TODO how to allocate resources which must be finalized?
  6. TODO how to initialize components in an application?
  7. TODO how to extract a dot graph from the registry in an application?
  8. TODO how to interact with a library using monad transformers?

Reference guides

  1. TODO main operators and functions
  2. TODO implementation notes
You can’t perform that action at this time.