fused-effects-lens alternatives and similar packages
Based on the "Web" category.
Alternatively, view fused-effects-lens alternatives based on common mentions on social networks and blogs.
-
scotty
Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository) -
haskell-bitmex-rest
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
swagger-petstore
swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. -
yesod-persistent
A RESTful Haskell web framework built on WAI. -
servant
Main repository for the servant libraries — DSL for describing, serving, querying, mocking, documenting web applications and more! -
neuron
Future-proof note-taking and publishing based on Zettelkasten (superseded by Emanote: https://github.com/srid/emanote) -
airship
Helium + Webmachine = Airship. A toolkit for building declarative, RESTful web apps. -
haskell-kubernetes
Haskell bindings to the Kubernetes API (via swagger-codegen) -
scalpel-core
A high level web scraping library for Haskell. -
apecs-gloss
a fast, extensible, type driven Haskell ECS framework for games -
digestive-functors
A general way to consume input using applicative functors -
servant-elm
Automatically derive Elm functions to query servant webservices -
tagsoup
Haskell library for parsing and extracting information from (possibly malformed) HTML/XML documents -
hbro
[Unmaintained] A minimal web-browser written and configured in Haskell. -
kubernetes-client-core
Haskell client for the kubernetes API. A work in progress. -
backprop
Heterogeneous automatic differentiation ("backpropagation") in Haskell -
keera-hails-reactive-htmldom
Keera Hails: Haskell on Rails - Reactive Programming Framework for Interactive Haskell applications -
engine-io
A Haskell server implementation of the Engine.IO and Socket.IO (1.0) protocols -
ghcjs-dom
Make Document Object Model (DOM) apps that run in any browser and natively using WebKitGtk -
validity-scientific
Validity and validity-based testing
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of fused-effects-lens or a related project?
README
fused-effects-lens
This package provides an interface to the lens
library (and other such libraries such as microlens
and generic-lens
) that is compatible with fused-effects
. The standard formulation of lens
combinators for operating in MonadState
contexts—use
, .=
, et al—rely on mtl
for MonadState
and MonadReader
, which is not applicable to Reader
and State
effects.
This package is meant to be used alongside lens
, like so:
import Control.Lens hiding (view, use, assign)
import Control.Effect.Lens (view, use, assign)
Example
Given a Context
type that we will use in a State
effect:
data Context = Context
{ _amount :: Int
, _disabled :: Bool
} deriving (Eq, Show)
makeLenses ''Context
We can can use the use
combinators to extract a lens target from the current state, and assign
to write to a field of that state:
stateTest :: (Has (State Context) sig m) => m Int
stateTest = do
initial <- use amount
amount .= (initial + 1)
disabled .= True
use amount
You can find a more complete example, including one that works with multiple State
constraints in a single computation, in the test
directory.
License
BSD3, like fused-effects
.
*Note that all licence references and agreements mentioned in the fused-effects-lens README section above
are relevant to that project's source code only.