Skip to content
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

WIP: NonEmptySet and NonEmptyMap #616

Open
wants to merge 53 commits into
base: master
Choose a base branch
from

Commits on Apr 19, 2019

  1. Create NonEmptyMap type

    Ericson2314 committed Apr 19, 2019
    1 Configuration menu
    Copy the full SHA
    4f29d02 View commit details
    Browse the repository at this point in the history
  2. Create NonEmptySet type

    Ericson2314 committed Apr 19, 2019
    Configuration menu
    Copy the full SHA
    c99b359 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    54bfc62 View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2019

  1. Don't close over any previously-unclosed-over variables in helpers

    Also convert a few more at the bottom.
    Ericson2314 committed Apr 21, 2019
    Configuration menu
    Copy the full SHA
    fe9f75e View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2019

  1. Configuration menu
    Copy the full SHA
    0b095ee View commit details
    Browse the repository at this point in the history
  2. Get rid of maybe* helpers

    Ericson2314 committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    3b9e85d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1e85fd5 View commit details
    Browse the repository at this point in the history
  4. Break up balance{L,R}

    This creates the building blocks for various non-empty balance
    functions.
    Ericson2314 committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    df951dd View commit details
    Browse the repository at this point in the history
  5. Split out Set.insertNE

    We cannot do pointer equality very easily on interior nodes, but
    thankfully we don't need to! It's decided once at the leaf whether a new
    set is needed, so we can propagate that decision back with Maybe.
    
    If GHC is smart enough to get rid of the Maybe entirely with two
    continuations, this might be even faster.
    Ericson2314 committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    5744ff1 View commit details
    Browse the repository at this point in the history
  6. Avoid pointless (<$>)

    Easier than a CPP-conditional import, amirite?
    Ericson2314 committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    011116f View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2019

  1. Configuration menu
    Copy the full SHA
    88d0737 View commit details
    Browse the repository at this point in the history
  2. Split out Set.deleteNE

    Ericson2314 committed Apr 23, 2019
    Configuration menu
    Copy the full SHA
    4d3b1cd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a27f0cc View commit details
    Browse the repository at this point in the history

Commits on May 4, 2019

  1. Configuration menu
    Copy the full SHA
    27c4227 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    384d7cb View commit details
    Browse the repository at this point in the history
  3. Rename Set.Bin to Set.Bin', and expose Bin pattern synnonym

    This makes the non-empty refactor backwards compatable for Internals
    too.
    Ericson2314 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    73f5660 View commit details
    Browse the repository at this point in the history
  4. Convert more functions

    Ericson2314 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    833925c View commit details
    Browse the repository at this point in the history
  5. More CPP for pattern synonym signature

    Patterns synonym are >= 7.8, pattern synonym signatures are >= 8.10.
    Ericson2314 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    eb7e2fb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bb79677 View commit details
    Browse the repository at this point in the history
  7. Create and expose non-empty link and merge

    These may not need to be exposed (linkNE) or written at all (mergeNE),
    so if there are performance issues this could be reverted.
    
    Then again, since it is the same technique as everything else, I suspect
    everything will be OK or nothing will be OK.
    Ericson2314 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    4ac7467 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2019

  1. Add complete pragma

    alexfmpe committed Jun 11, 2019
    Configuration menu
    Copy the full SHA
    6e7dee3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    41304d6 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2019

  1. Configuration menu
    Copy the full SHA
    20e5c84 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2019

  1. Configuration menu
    Copy the full SHA
    0cc2487 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2019

  1. Configuration menu
    Copy the full SHA
    0f09e90 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2019

  1. Map.balanceL*

    fosskers committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    aa70684 View commit details
    Browse the repository at this point in the history
  2. Map.balanceR*

    fosskers committed Jun 25, 2019
    Configuration menu
    Copy the full SHA
    e6be7bd View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2019

  1. Add Set.fold{l,r}1

    Ericson2314 committed Jul 11, 2019
    Configuration menu
    Copy the full SHA
    15e50e8 View commit details
    Browse the repository at this point in the history
  2. Add non-empty to/from list functions for NonEmptySet

    These depend on non-empty lists, so they are only available in newer
    base.
    Ericson2314 committed Jul 11, 2019
    Configuration menu
    Copy the full SHA
    3b858c3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bbfe5be View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    70ce2c0 View commit details
    Browse the repository at this point in the history
  5. Fix 7.6 build failure

    Ericson2314 committed Jul 11, 2019
    Configuration menu
    Copy the full SHA
    3b3a1a5 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2019

  1. Map.insert*

    Ericson2314 committed Jul 13, 2019
    Configuration menu
    Copy the full SHA
    bd2dcb2 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2019

  1. Configuration menu
    Copy the full SHA
    da07251 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2019

  1. Map.union*NE

    Ericson2314 committed Jul 16, 2019
    Configuration menu
    Copy the full SHA
    d71be59 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4246787 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2019

  1. Fix complete pragmas

    alexfmpe committed Oct 14, 2019
    Configuration menu
    Copy the full SHA
    2613ecb View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2019

  1. Configuration menu
    Copy the full SHA
    68b31c9 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2020

  1. Configuration menu
    Copy the full SHA
    344390b View commit details
    Browse the repository at this point in the history
  2. add foldable instance

    E Cardenas committed Jan 9, 2020
    Configuration menu
    Copy the full SHA
    d8acf00 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2020

  1. Add remaining NonEmptySet functions

    E Cardenas committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    f3490fb View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1 from obsidiansystems/non-empty-foldable

    Work on NonEmptySet
    cardenaso11 authored Jan 13, 2020
    Configuration menu
    Copy the full SHA
    4f674f4 View commit details
    Browse the repository at this point in the history
  3. Export foldr1By and add left and strict variants

    E Cardenas committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    a5a19c4 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2020

  1. Progress on NonEmptyMap

    E Cardenas committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    3f5f231 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. Configuration menu
    Copy the full SHA
    3595fb4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9bd5a22 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5aad8ea View commit details
    Browse the repository at this point in the history
  4. Remove redundant CPP

    alexfmpe committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    6564ead View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    91c77e8 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #2 from alexfmpe/non-empty

    Sync non-empty branch with upstream
    Ericson2314 authored Sep 27, 2022
    Configuration menu
    Copy the full SHA
    3239184 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2022

  1. Configuration menu
    Copy the full SHA
    375e7c2 View commit details
    Browse the repository at this point in the history
  2. Fix build in ghc 9.4

    alexfmpe committed Nov 6, 2022
    Configuration menu
    Copy the full SHA
    7a0acbb View commit details
    Browse the repository at this point in the history
  3. Merge pull request #3 from alexfmpe/non-empty

    Fix build in ghc 9.4
    Ericson2314 authored Nov 6, 2022
    Configuration menu
    Copy the full SHA
    3ae0075 View commit details
    Browse the repository at this point in the history