Trim dependencies?
Closed this issue · 7 comments
I'm putting together a PR to fix #2, and wondered whether you'd be open to trimming the dependencies a little. Things like free, transformers and distributive are certainly useful, but I don't think they are in line with the stated goal of the package (to "ease the development of PureScript applications by bundling mutually compatible versions of common functional libraries into a single package"). Are these libraries really "common"?
I'd suggest it would be more useful to package up things which would turn this into a "batteries-included Prelude" for those who want such a thing.
I'll send a PR soon anyway to see what you think.
Sure, I'm open to trimming. Building another one on top of this should be easy, which could include things like transformers, free, lens, etc.
I think transformers probably does qualify as common for anything that isn't trivial. From the current list, I'd consider these to be "most common":
purescript-arrayspurescript-bifunctorspurescript-controlpurescript-eitherpurescript-foldable-traversablepurescript-listspurescript-mathpurescript-maybepurescript-monoidpurescript-stringspurescript-transformerspurescript-tuples
purescript-enums is probably worthwhile additionally due to the nature of it, but isn't super common.
purescript-bifunctors might be pushing it for "common", but I do end up wanting it quite frequently.
I'm hoping purescript-enums will become more common after 0.7 and the Bounded changes.
I'm not convinced about transformers for anything but the simplest of cases. I don't see it in many user projects.
Oh wait, yes, transformers definitely shouldn't appear if you import Base 😄
Sorry, I figured this was intended for a convenient way of handling a group of common dependencies.
I'm not convinced about transformers for anything but the simplest of cases. I don't see it in many user projects.
It's really hard to build FP apps of any size without one of Free or Transformers. Not arguing it should be in base (probably shouldn't be if base will be "batteries-included Prelude"), just that scaling beyond toy apps with just Eff is pretty dang hard...
It's really hard to build FP apps of any size without one of Free or Transformers
I totally agree.
Not arguing it should be in base (probably shouldn't be if base will be "batteries-included Prelude")
Yeah, exactly. That's why I just want to pin down what this library should be.
PR incoming momentarily anyway.
My vote goes for trimming and building a more complete one on top.
There's plenty of times when I just want the basic types and functions for small sized programs.
Plus it will be great for the influx of issues like: purescript/purescript#1215 which are soon to arrive.