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

change the type of generalBracket, fixes #63 #64

Merged
merged 27 commits into from Mar 9, 2018
Merged

change the type of generalBracket, fixes #63 #64

merged 27 commits into from Mar 9, 2018

Commits on Mar 6, 2018

  1. SomeMSpec

    'MSpec' was an existential in 'm', but I want to construct another
    type which has both an 'MSpec' and some other 'm'-related fields. So I
    am exposing the 'm' in 'MSpec' and creating another existential which
    abstracts over it.
    gelisam committed Mar 6, 2018
    Configuration menu
    Copy the full SHA
    ca70699 View commit details
    Browse the repository at this point in the history
  2. name the MSpecs

    I want to reuse them
    gelisam committed Mar 6, 2018
    Configuration menu
    Copy the full SHA
    04a5988 View commit details
    Browse the repository at this point in the history
  3. a series of tests about detectable effects

    To make sure that the all the effects performed while releasing a
    resource are preserved, not just the IO effects.
    
    I'm writing the tests first, so the tests currently fail.
    gelisam committed Mar 6, 2018
    Configuration menu
    Copy the full SHA
    dd90823 View commit details
    Browse the repository at this point in the history
  4. test that the release error wins

    It is easy to accidentally implement the 'ExceptT' instance in a way
    which causes the error message thrown during 'use' to get propagated
    instead of the one thrown by 'release'. When both 'use' and 'release'
    throw an IO exception, the one thrown by 'release' wins, so I think we
    should follow suit.
    gelisam committed Mar 6, 2018
    Configuration menu
    Copy the full SHA
    e175f61 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2018

  1. move the CatchT warning to the instance documentation

    Now that we have documentation for individual instances, there is no
    need to repeat this seldom-used information here.
    gelisam committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    7e9b7df View commit details
    Browse the repository at this point in the history
  2. explain the difference with lifted-base

    The exceptions package used to have an undocumented advantage over
    lifted-base, namely that the non-IO effects are not discarded, but
    then exceptions-0.9.0 made a breaking change which lost this
    advantage. In this PR, I am restoring this advantage, and I am
    documenting it, both to help users decide which package to pick, and
    so we don't foolishly repeat that mistake.
    gelisam committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    20833ab View commit details
    Browse the repository at this point in the history
  3. change the type of generalBracket, fixes #63

    This is the PR's main change. I make the type of 'generalBracket' even
    more general, which allows me to fix the implementations of 'StateT'
    and 'WriterT' so they don't discard their state changes.
    gelisam committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    9e42dd8 View commit details
    Browse the repository at this point in the history
  4. MonadMask instance for MaybeT

    if ExceptT has one, MaybeT should have one too
    gelisam committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    6f51794 View commit details
    Browse the repository at this point in the history
  5. onException vs onError

    Update the documentation to reflect the difference between an
    exception and an error, calling out the cases in which the user might
    expect to catch all errors but will only catch all exceptions.
    
    In particular, 'onException' will only run the handler when an
    exception is thrown but not when any other kind of error is thrown;
    this is not particularly useful, but we can't do better without
    changing its type signature. A new function 'onError' is introduced
    which does not have this flaw.
    gelisam committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    b64993d View commit details
    Browse the repository at this point in the history
  6. use return instead of pure

    to match the style of the existing codebase
    gelisam committed Mar 7, 2018
    Configuration menu
    Copy the full SHA
    1cacf63 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5c725b7 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2018

  1. add onError to the changelog

    gelisam committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    82659ea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bd6a570 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4352de7 View commit details
    Browse the repository at this point in the history
  4. typos

    gelisam committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    3a7e35b View commit details
    Browse the repository at this point in the history
  5. next version is 0.10.0

    gelisam committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    2aa7dae View commit details
    Browse the repository at this point in the history
  6. onError @SInCE 0.10.0

    gelisam committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    9d4ee1b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    cd317d8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    562b331 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    594477e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    9e168e8 View commit details
    Browse the repository at this point in the history
  11. @SInCE annotations for MaybeT and ExceptT

    the Either instance has one, so MaybeT and ExceptT should have one as well
    gelisam committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    c1a5014 View commit details
    Browse the repository at this point in the history
  12. adjust phrasing

    gelisam committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    eb13cec View commit details
    Browse the repository at this point in the history
  13. rename the type variables in bracket*

    to match the order in which the actions will be executed, like in
    generalBracket.
    gelisam committed Mar 8, 2018
    Configuration menu
    Copy the full SHA
    1bae026 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2018

  1. Configuration menu
    Copy the full SHA
    7d74727 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dc3e243 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    91fe5e5 View commit details
    Browse the repository at this point in the history