profunctors
profunctors | core-libraries-committee | |
---|---|---|
4 | 60 | |
69 | 95 | |
- | - | |
4.3 | 5.3 | |
2 months ago | 6 days ago | |
Haskell | ||
GNU General Public License v3.0 or later | - |
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.
profunctors
-
How to use PostgreSQL with Haskell: hasql
We’ll also use contravariant-extras, vector, profunctors, and tuple packages to make a few things tidier (this isn’t required; it’s all copy-paste anyway).
-
The Haskell Unfolder Episode 2: quantified constraints
Edward Kmett already added a superclass to Profunctor, but releasing this got stalled
-
Alternative to arrows?
One of the main problems with the Arrow hierarchy is that it’s not particularly well-factored. The main Arrow class has five methods, which is both intimidating to newcomers and indicative that there’s some decomplection that can be done. I think the best alternative is to use the profunctors package; it deals much more fluently with things that can take values and then return them (functions, Kleisli arrows, etc). For example, the Arrow class is broken down across Profunctor and Strong. I had a term rewriting engine that used arrows, and I was never really happy with it until I moved it to profunctors.
-
Why kind-level foralls don't interact with ScopedTypeVariables
Indeed, that is a somewhat contrived example that is meant to illustrate that ScopedTypeVariables aren't just limited to standalone type signature declarations—they can also be used in arbitrary subexpressions as well. Whether you prefer to use type signature declarations or expression type signatures largely depends on your personal tastes, but both styles are used in the "real world". For instance, here is one example of a use of expression type signatures + ScopedTypeVariables in the profunctors library.¹
core-libraries-committee
-
An alternative front end for Haskell?
> But the obvious and easy solution in the current language would be to return Maybe, which isn't done because there's a feeling that it's not a big enough step to be worth the effort, and dependent types will eventually solve this anyway.
That's not why it's not done. listToMaybe already exists[1] and you can't change the type of head without breaking everyone's code, so head in the next version of base will come with a warning[2] and that's about as much as you can do whilst still maintaining backwards compatibility.
[1] https://www.stackage.org/haddock/lts-21.14/base-4.17.2.0/Dat...
[2] https://github.com/haskell/core-libraries-committee/issues/8...
- Proposal: extend Data.Bitraversable API with firstA and secondA
-
Core Libraries Committee (CLC) Update: June 2023
The proposal to add quantified superclasses to Bifoldable and Bitraversable has been reopened too. https://github.com/haskell/core-libraries-committee/issues/93
-
Monthly Hask Anything (June 2023)
My understanding is any change to base requires an explicit proposal, and if it involves adding stuff to Data.List that could break other packages, that will be taken into account. But it's not a dealbreaker, e.g. a recent proposal to add Data.List.unsnoc got accepted.
- Proposal: add foldl' to Prelude
- プロポーザル: Data.List.unsnoc :: [a] -> Maybe ([a], a) を追加する
- Proposal: add Data.List.unsnoc :: [a] -> Maybe ([a], a)
- Proposal: add instance {Enum, Bounded, Num, Real, Integral} Compose f g a
-
The Haskell Unfolder Episode 2: quantified constraints
Bifunctor has one as well (issue)
- Proposal: expose sized integer types {Int,Word}{8,16,32,64} from Prelude
What are some alternatives?
stratum-tool - Command-line tool for communicating with Electrum server
unfolder - Repository with code snippets that accompany episodes of The Haskell Unfolder
groupoids - Haskell 98 Groupoids
ghc-proposals - Proposed compiler and language changes for GHC and GHC/Haskell
sorty - Small sort utility
snake-fury - a challenge for Haskell beginners
GPX - GPS eXchange Parser
confsolve - Generalized file conflict resolving tool.
headroom - ©️ Manager for license headers in source code files.
representable-profunctors - Representable profunctors
mmark-cli - Command line interface to the MMark markdown processor
readline-statevar - readline-statevar: Haskell readline wrapper library with variables (setX/getY) wrapped in state vars