{"push_id":946141655,"size":1,"distinct_size":1,"ref":"refs/heads/non-classy","head":"948d9891342bf8cd55ff6c51bfc4447e3455b720","before":"1f678879f4caea19a98ea7b7536ba0e24ed70cbe","commits":[{"sha":"948d9891342bf8cd55ff6c51bfc4447e3455b720","author":{"email":"23a0b5e4fb6c6e8280940920212ecd563859cb3c@garrood.me","name":"Harry Garrood"},"message":"Remove the IsOption type class\n\nThe function previously performed by the `IsOption` type class, namely,\nthe ability to control how a value of a specific type is rendered into\nan `Options` value, is now taken care of by the specific `Option`\nitself. `Option` now also admits a `Contravariant` instance due to this.\n\nThe behaviour previously captured by the `IsOption (Maybe a)` instance\nis now captured slightly differently. If you had previously\nwritten this:\n\n    someOption := (value :: Maybe a)\n\nyou can get the old behaviour back (namely, the above expression\nevaluating to an empty `Options` if `value` was `Nothing`) by changing\nthe code to this:\n\n    maybe mempty (someOption :=) (value :: Maybe a)\n\nThere is also a newly provided helper function which captures the above\npattern: massoc, or its alias (:=?):\n\n    someOption :=? (value :: Maybe a)\n\nMost code should continue to work without modification, but note that\nthe above constitutes a breaking change (as, of course, does the removal\nof `IsOption` and a few other related functions which are no longer\nneeded).\n\nBonuses:\n\n* Everything is now documented\n* There is no longer any use of the FFI","distinct":true,"url":"https://api.github.com/repos/hdgarrood/purescript-options/commits/948d9891342bf8cd55ff6c51bfc4447e3455b720"}]}