-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible functions. #20
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: