nikita-volkov / base-prelude Goto Github PK
View Code? Open in Web Editor NEWThe most complete prelude formed only from the "base" package
Home Page: http://hackage.haskell.org/package/base-prelude
License: MIT License
The most complete prelude formed only from the "base" package
Home Page: http://hackage.haskell.org/package/base-prelude
License: MIT License
Control.Monad.IO.Class
Data.List.NonEmpty
and Data.Semigroup
Data.Functor.Classes
, Data.Functor.Compose
, Data.Functor.Product
, and Data.Functor.Sum
Control.Monad.Fail
traceM
, traceShowM
(which we reimplement) have been generalised to Applicative
– should we generalise them as well for older versions of base, or not? (I lean towards “not”, because together with #15 it would lead to weirdness – traceM
would have an Applicative
constraint when base-4.6 is used, Monad
when base-4.7 is used, and Applicative
again when base-4.9 is used.)forkOSWithUnmask
(could be reimplemented)I appears as if BasePrelude
violates the PVP contract by advertising a version 1.0.1
and yet exposing a greatly fluctuating API (and not even placing a sensible upper bound on base
anymore to contain the risk).
I'd like to remind that https://hackage.haskell.org/ states that "All packages should follow the Package Versioning Policy (PVP)." and base-prelude
does not state in its description that it deviates from the PVP contract.
I'm worried because packages on Hackage are starting to make use of base-prelude
and without proper guidance that will cause more busywork for Hackage Trustees to keep install-plans from bitrotting due to inaccurate version-bounds.
I'm using GHC 7.10.3 I don't know if it's a regression or not but they are already in the Prelude, so they need hidding.
My understanding is that base-prelude
is meant to be mostly a drop in for Prelude
. Prelude
exports FilePath
, but base-prelude
explicitly hides this. Is there any reason for that?
No single version of base-prelude
compiles with GHC 7.4.2, and yet the cabal file accepts base-4.5
.
See https://ghc.haskell.org/~hvr/buildreports/base-prelude.html for details (look at the HTML source if the mouse-over text popups aren't readable). I've already edited all the base-prelude
releases files on Hackage to have a tighter base >= 4.6
constraint.
Call it a feature request. I like getArgs
and getEnv
in particular.
base-4.8:
Numeric.Natural
Data.Void
(moved from void)Data.Functor.Identity
(moved from transformers)base-4.7:
Data.Proxy
Data.Coerce
void
was added (could be reimplemented)isLeft
, isRight
were added (could be reimplemented)Should I make a PR?
There don't appear to be any clashes, and this is a very useful thing to have available. Why not re-export it as well?
(I like printf
, but if you have intentionally decided not to export it, I won't complain. Otherwise, having it would be nice.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.