dep-t
Dependency injection for records-of-functions. (by danidiaz)
registry
Components as records of functions for Haskell (by etorreborre)
dep-t | registry | |
---|---|---|
2 | 3 | |
8 | 165 | |
- | - | |
0.0 | 4.0 | |
about 1 year ago | 2 months ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dep-t
Posts with mentions or reviews of dep-t.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-22.
-
Application-managed call stacks, without polluting the business logic
dep-t and dep-t-advice are libraries containing various helpers and utilities for this style of programming. In particular, "dep-t-advice" tries to support what is sometimes called "aspect-oriented programming". In less fancy terms, it provides function decorators that work on functions of any number of arguments. As the functional pearl The Decorator Pattern in Haskell says,
-
Monad Architecture :: Haskell Weekly podcast
I would argue that passing the context as a positional parameter doesn't have to be tedious. Recently I've been experimenting with ReaderT-less architectures, for example here.
registry
Posts with mentions or reviews of registry.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-15.
-
HSpec, Tasty, sydtest, Hunit, ... -> what do you use for writing Haskell tests?
Additionally I have some code to run one Test (single test or test group) from GHCi by passing the function name (run) or a subset of the tests by passing a regexp of the description (runOnly). You can find some of those functions here: https://github.com/etorreborre/registry/blob/main/test/Test/Tasty/Extensions.hs.
-
Injecting one service into another
u/henry_kwinto I just want to mention that if you end-up having quite a few of those `makeXXX` functions you can put them in a registry and the wiring will be done automatically for you.
-
Warp/Servant as an effect in Polysemy
Then, the registry library provides point 2 by allowing to "stack" all the constructor functions for your components and override them at will:
What are some alternatives?
When comparing dep-t and registry you can also consider the following projects:
dep-t-advice - Giving good advice to functions in records-of-functions.
COMP3141 - COMP3141: Software System Design and Implementation Study Notes
PolysemyCleanArchitecture - Showcasing how the Polysemy library can be used to implement a REST application conforming to the guidelines of the Clean Architecture model.
mtl - The Monad Transformer Library
pandoc - Universal markup converter
perhaps - A monad, perhaps.
ShellCheck - ShellCheck, a static analysis tool for shell scripts
operational - Implement monads by specifying instructions and their desired operational semantics.
DocTest - An implementation of Python's doctest for Haskell
monad-memo - Memoization monad transformer
hextra - Library of modules I sometimes use.