-
Notifications
You must be signed in to change notification settings - Fork 91
Possible functions. #20
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
I like most of this:
You might like @hdgarrood 's |
Oh, also maybe |
Oh, oops.
Sure.
Very nice!
Sure. |
The I would also like to see generalised |
Yeah. Most of this stuff can be implemented better with https://pursuit.purescript.org/packages/purescript-contravariant/0.2.3 |
* first commit * Fix instances for record fields * Break modules up * Deriving Show (#5) * Initial work on deriving Show * Add test for Show * Remove import * Travis etc. * Data.Generic.Rep.Bounded (#6) * Data.Generic.Rep.Bounded Generic implementations of Prelude.Bounded class's top and bottom. * GenericBounded - don't support product types * GenericBounded - only support NoArguments * Update for PureScript 0.11 * Add Generic instance for Maybe (#9) * Add missing Bounded instances for Argument * Add GenericEnum and GenericBoundedEnum * Add enum tests, convert existing "tests" into assertions * Product instances in Bounded and Enum * Added GenericShowFields instances for NoConstructors and NoArguments (#20) * Added Eq and Show instances to NoArguments and NoConstructors * Added GenericShowFields * Removed Show, Eq * Cleanup * Removed NoConstructors Show instance * Remove Rec and Field & update package & bower symbols * Bump deps for compiler/0.12 * Remove symbols and fix operator fixity issue * Update dependencies, license * Added HeytingAlgebra, Semiring, Ring * Fix type annotation precedence in tests * Replace monomorphic proxies by Type.Proxy.Proxy (#44) * Remove Generic Maybe instance * Remove Generic Enum from src and test * Move all files to their correct folders and rename files to Generic.purs * Update module names to match their file names * Move test file for Data.Generic.Rep into proper folder and rename * Update generic-rep test file module to match file path * Rename generic-rep test name to testGenericRep * Replace generic Show's Foldable.intercalate usage with FFI * Replace Tuple with Pair in Data.Generic.Rep tests * Remove Maybe import from Data.Generic.Rep test file * Remove Maybe import from Data.Generic.Rep * Extract AlmostEff and assert to Test.Utils.purs file * Update Data.Generic.Rep tests to use AlmostEff; include it in main tests * Import implies in Data.Generic.Rep tests Co-authored-by: Phil Freeman <paf31@cantab.net> Co-authored-by: Matthew Leon <ml@matthewleon.com> Co-authored-by: Gary Burgess <gary.burgess@gmail.com> Co-authored-by: Liam Goodacre <goodacre.liam@gmail.com> Co-authored-by: Jorge Acereda <jacereda@gmail.com> Co-authored-by: Kristoffer Josefsson <kejace@gmail.com> Co-authored-by: Denis Stoyanov <stoyanov.gr@gmail.com> Co-authored-by: Harry Garrood <harry@garrood.me> Co-authored-by: Cyril <sobierajewicz.cyril@gmail.com>
* first commit * Fix instances for record fields * Break modules up * Deriving Show (#5) * Initial work on deriving Show * Add test for Show * Remove import * Travis etc. * Data.Generic.Rep.Bounded (#6) * Data.Generic.Rep.Bounded Generic implementations of Prelude.Bounded class's top and bottom. * GenericBounded - don't support product types * GenericBounded - only support NoArguments * Update for PureScript 0.11 * Add Generic instance for Maybe (purescript#9) * Add missing Bounded instances for Argument * Add GenericEnum and GenericBoundedEnum * Add enum tests, convert existing "tests" into assertions * Product instances in Bounded and Enum * Added GenericShowFields instances for NoConstructors and NoArguments (purescript#20) * Added Eq and Show instances to NoArguments and NoConstructors * Added GenericShowFields * Removed Show, Eq * Cleanup * Removed NoConstructors Show instance * Remove Rec and Field & update package & bower symbols * Bump deps for compiler/0.12 * Remove symbols and fix operator fixity issue * Update dependencies, license * Added HeytingAlgebra, Semiring, Ring * Fix type annotation precedence in tests * Replace monomorphic proxies by Type.Proxy.Proxy (purescript#44) * Remove Generic Maybe instance * Remove Generic Enum from src and test * Move all files to their correct folders and rename files to Generic.purs * Update module names to match their file names * Move test file for Data.Generic.Rep into proper folder and rename * Update generic-rep test file module to match file path * Rename generic-rep test name to testGenericRep * Replace generic Show's Foldable.intercalate usage with FFI * Replace Tuple with Pair in Data.Generic.Rep tests * Remove Maybe import from Data.Generic.Rep test file * Remove Maybe import from Data.Generic.Rep * Extract AlmostEff and assert to Test.Utils.purs file * Update Data.Generic.Rep tests to use AlmostEff; include it in main tests * Import implies in Data.Generic.Rep tests Co-authored-by: Phil Freeman <paf31@cantab.net> Co-authored-by: Matthew Leon <ml@matthewleon.com> Co-authored-by: Gary Burgess <gary.burgess@gmail.com> Co-authored-by: Liam Goodacre <goodacre.liam@gmail.com> Co-authored-by: Jorge Acereda <jacereda@gmail.com> Co-authored-by: Kristoffer Josefsson <kejace@gmail.com> Co-authored-by: Denis Stoyanov <stoyanov.gr@gmail.com> Co-authored-by: Harry Garrood <harry@garrood.me> Co-authored-by: Cyril <sobierajewicz.cyril@gmail.com>
How about some additional functions? Some are things I've used in the past, some are others I thought were sort of interesting, but might not be useful. Feel free to reject all of them.
Eq stuff
Useful for things like
intersectBy
ornubBy
.Could also use a newtype to change the value of equality.
Ord stuff
ascending
anddescending
are helpful for when you use something likesortBy
. Also could use a newtype for changing the order of things, ala haskell:Semiring stuff
Ring stuff
The text was updated successfully, but these errors were encountered: