ekmett / bound

Combinators for manipulating locally-nameless generalized de Bruijn terms
https://www.schoolofhaskell.com/user/edwardk/bound
Other
121 stars 30 forks source link

Split bound to offer a lightweight version #61

Closed treeowl closed 3 years ago

treeowl commented 7 years ago

bound depends on profunctors to allow it to offer a few trivial bits of lensy glue. Would it be possible to get a bound-core package or similar that just doesn't bother? Even playing around with bound is annoying because of the dependency.

phadej commented 7 years ago

Disclaimer: this is my personal opinion, not opinion as of bound maintainer.

Really, with stack and cabal new-build out there, is it an issue? I, for example, use ~/.stack/global/stack.yaml with the same resolver as in most projects (actually single, but huge one), so i can just say stack ghci and play with over 300 packages from Hackage (to answer reddit or SO questions etc).

Let's solve the dependency problem by having tools to handle dependencies, not by removing dependencies. I beg you.

cartazio commented 7 years ago

-1 on splitting. On Tue, Jun 6, 2017 at 5:39 PM Oleg Grenrus notifications@github.com wrote:

Disclaimer: this is my personal opinion, not opinion as of bound maintainer.

Really, with stack and cabal new-build out there, is it an issue? I, for example, use ~/.stack/global/stack.yaml with the same resolver as in most projects (actually single, but huge one), so i can just say stack ghci and play with ~300 packages from Hackage (to answer reddit or SO questions etc).

Let's solve the dependency problem by having tools to handle dependencies, not by removing dependencies. I beg you.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ekmett/bound/issues/61#issuecomment-306625457, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAQwmKX7wvhTf54JLSEN-9LfQSWn4CFks5sBccqgaJpZM4Nx8fX .

ocramz commented 3 years ago

@treeowl I've just found myself having this problem and split out bound-simple : https://hackage.haskell.org/package/bound-simple-0.1.0.0/candidate . It only requires 'transformers', and doesn't even impose template-haskell on users. Only works with GHCs that provide DerivingVia though.

phadej commented 3 years ago

That package has

-- |
-- Copyright   :  (C) 2013 Edward Kmett
--                (C) 2021 Marco Zocca (ocramz)

but

copyright:           2021 Marco Zocca

and no reference that it's split out of bound.

It's ok to fork, but hiding the copyright is not nice (and deleting it completely would be the violation of the license).

Also, please add other-extensions: DerivingVia to indicate that users need GHC which supports that. The tested-with: GHC ==7.10.3 is clearly not true.

I'm also curious what will happen with future GHCs, as then GHC.Generics will have Generically (https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5726), I'd expected to see a compat package, rather then all packages defining their own Generically.

Anyway, seems there is a solution on the way, so I'm closing this issue.

ocramz commented 3 years ago

Thank you @phadej for the thorough review; it wasn't my intention to hide the copyright notice, just I didn't update the defaults in the Cabal file. Good spot regarding Generically; I didn't even know it's being moved into base.