File: ChangeLog.md

package info (click to toggle)
haskell-some 1.0.6-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 128 kB
  • sloc: haskell: 727; makefile: 3
file content (76 lines) | stat: -rw-r--r-- 2,309 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# 1.0.6

- Add instances for `SSymbol`, `SNat` and `SChar` from `base >=4.18.0.0'

# 1.0.5

- Add EqP and OrdP classes.
  These are strong versions of Eq1 and Ord1, and on the other hand
  weaker versions of `GEq` and `GCompare`.
  They are exactly what's needed for `Eq` and `Ord` instances of `Some`.

  The naming is unfortunate: `GShow` would be better named `ShowP`,
  as it's similar version of `Show1`.

  Note: we could add `ReadP` with `readsPrecP :: Int -> ReadS (t a)` method,
  but it will barely have any instances.
  `GRead` is different, as it can reify the type index for many types,
  e.g. for the singletons.

  In some future there will be major version of `some` with following
  breaking changes:
  - `EqP` and `OrdP` will become superclasses of `GEq` and `GCompare`
  - `Eq (Some t)` will require `EqP t`, similarly for `Ord` and `OrdP`.
  - `GShow` will get `forall a. Show (f a)` superclass. (This will cause removal of `Product` and `Sum` instances for `base <4.18`).

  To ease future transition you may
  - Define `EqP` and `OrdP` instances for your types.
    The `defaultEq` and `defaultCompare` methods can be used to define
    `eqp` and `comparep` from `GEq` and `GCompare` instances respectively.
  - Move to use `GHC.Generics.:*:` and `:+:` instead of `Data.Functor.Product` and `Sum`, as these have better `Eq` and `Ord` instances.

# 1.0.4.1

- Drop support for GHC before 8.6

# 1.0.4

- Add instances for `(:~~:)`
- Add instances for `:+:` and `:*:`
- Add `defaultGeq :: GCompare f => f a -> f b -> Maybe (a :~: b)`
- Add `defaultGshowsPrec :: Show (t a) => Int -> t a -> ShowS`

# 1.0.3

- Make `GNFData` PolyKinded.
- Add `GNFData ((:~:) a)` and `GNFData TypeRep` instances

# 1.0.2

- Explicitly mark `Data.Some` as `Safe`.
  It was previously inferred, yet it was Safe too,
  as it only re-exports other explicitly marked modules.
- Allow `base-4.15`, GHC-9.0 compatibility

# 1.0.1

- Add 'withSomeM' combinator.
  Allows to workaround: https://gitlab.haskell.org/ghc/ghc/issues/15681

# 1.0.0.3

- One less `unsafeCoerce` (thanks to David Feuer)

# 1.0.0.2

- Broken release

# 1.0.0.1

- Fix issue with GHC#9585 https://gitlab.haskell.org/ghc/ghc/issues/9584

# 1

- Split out of `dependent-sum`
- Have `GADT`, `Newtype`, `Church` variants
- Add `NFData` instance