Skip to content

Are you using purefun? Please tell me how!! #43

Open

Description

@tonivade

If you are using purefun, It would be awesome if you tell me how you are using it.

  • Environment:
  • Purpose:
  • Which features are you using:
  • Which features do you miss:

If you want to help me, please write a comment to this issue with this information.

Thanks a lot!

Activity

  1. pinned this issue on Dec 25, 2019
  2. siy commented on Dec 1, 2023

    @siy

    Discovered purefun not so long ago and while not using purefun, but found it very interesting, especially as a source of inspiration. The main reason for not adopting it for my projects is the same as for the majority of other functional libraries for Java - focus on functional terminology and "functional for the sake of functional" attitude. While it's a lot of fun and fascinating, at the same time, this attitude makes the library basically not approachable for the vast majority of Java devs with mostly imperative background. By the way, you might find interesting to take a look into my implementation of basic monads like Option, Result and Promise. In particular, my implementations of Option and Result do not use branching and this makes them exceptionally performant (for example, Option has same or better performance than regular null check). Another difference is the use of tuples exclusively as a set of function call parameters, i.e. access to tuple components is not supported (and overall tuples are rather a technical detail rather than a user-facing feature). Instead, all tuple components can be applied to a provided function. Finally, I don't see in your implementation such a convenient tool as Option.all() (and Try.all()) for different number of parameters. I found these static methods extremely useful in real applications.

  3. tonivade commented on Dec 1, 2023

    @tonivade
    OwnerAuthor

    Thanks a lot for your feedback. I will take a look to your implementation. Kind regards!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededquestionFurther information is requested

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions