Skip to content

Dependency on random #34

Closed
Closed

Description

@lehins

@phadej would you be ok removing dependency on random completely? Not right now, of course, but once we get to the final implementation of the new random, which is not far at all on the horizon. Reason why I am asking is because we decided it would be best if we just made the SMGen the default RNG for random, in other words, instead of duplicating splitmix algorithm implementation we went for type StdGen = SMGen. This would, of course, require random to depend on splitmix, not the other way around. We could of course just inline the implementation from your package as mentioned here idontgetoutmuch/random#86, but it really seems like an unnecessary duplication of code.

Activity

  1. phadej commented on Apr 14, 2020

    @phadej
    Collaborator

    Yes, I'm fine with that. I depend on random only to provide RandomGen instance, so there aren't any technical problems with that.

  2. phadej commented on Apr 14, 2020

    @phadej
    Collaborator

    as you may noted, one can remove random dependency already today by supplying -random flag choice.

    random Providen RandomGen SMGen instance Enabled Manual

  3. lehins commented on Apr 14, 2020

    @lehins
    Author

    Awesome, thank you!

    Yes, that's what we've been using thus far, but if we are to release random on hackage that depends on splitmix the optional flag approach will no work

    one can remove random dependency already today by supplying -random flag choice.

  4. phadej commented on May 29, 2020

    @phadej
    Collaborator

    Done in splitmix-0.1

  5. added a commit that references this issue on Apr 23, 2021
  6. added a commit that references this issue on May 11, 2026
  7. added a commit that references this issue on May 14, 2026
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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions