Skip to content

Commit

Permalink
Add derive via Generic example, and point to latest docs
Browse files Browse the repository at this point in the history
I often visit this page looking for a `genericShow` example.

It was also frustrating to click on the `Data.Generic.Rep` and be taken to an older package version that's missing lots of nice documentation. So ensuring links now go to the latest version. (related to purescript/pursuit#414)
  • Loading branch information
milesfrain authored Jul 10, 2020
1 parent 04cfe07 commit 69cc5ec
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions language/Type-Classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,11 +147,22 @@ derive instance ordPerson :: Ord Person
```
Currently, the following type classes can be derived:

- [Data.Generic.Rep (class Generic)](https://pursuit.purescript.org/packages/purescript-generics-rep/6.0.0/docs/Data.Generic.Rep#t:Generic)
- [Data.Eq (class Eq)](https://pursuit.purescript.org/packages/purescript-prelude/4.1.0/docs/Data.Eq#t:Eq)
- [Data.Ord (class Ord)](https://pursuit.purescript.org/packages/purescript-prelude/4.1.0/docs/Data.Ord#t:Ord)
- [Data.Functor (class Functor)](https://pursuit.purescript.org/packages/purescript-prelude/4.1.0/docs/Data.Functor#t:Functor)
- [Data.Newtype (class Newtype)](https://pursuit.purescript.org/packages/purescript-newtype/3.0.0/docs/Data.Newtype#t:Newtype)
- [Data.Generic.Rep (class Generic)](https://pursuit.purescript.org/packages/purescript-generics-rep/docs/Data.Generic.Rep#t:Generic)
- [Data.Eq (class Eq)](https://pursuit.purescript.org/packages/purescript-prelude/docs/Data.Eq#t:Eq)
- [Data.Ord (class Ord)](https://pursuit.purescript.org/packages/purescript-prelude/docs/Data.Ord#t:Ord)
- [Data.Functor (class Functor)](https://pursuit.purescript.org/packages/purescript-prelude/docs/Data.Functor#t:Functor)
- [Data.Newtype (class Newtype)](https://pursuit.purescript.org/packages/purescript-newtype/docs/Data.Newtype#t:Newtype)

Other type classes may be derived via `Generic`:
```purescript
import Data.Generic.Rep (class Generic)
import Data.Generic.Rep.Show (genericShow)
derive instance genericPerson :: Generic Person _
instance showPerson :: Show Person where
show = genericShow
```

## Compiler-Solvable Type Classes

Expand Down

0 comments on commit 69cc5ec

Please sign in to comment.