summaryrefslogtreecommitdiff
path: root/doc/design/assistant/blog/day_57__afk/comment_2_c70d3faccfcebf47deb25e270498cb56._comment
blob: 7539ea2defdb366eaf6569dc2f6c570a9fb935da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[[!comment format=mdwn
 username="http://claimid.com/strager"
 nickname="strager"
 subject="comment 2"
 date="2012-08-11T04:55:13Z"
 content="""
In fact, making a dedicated data type or some typeclasses may be more appropriate:

    class Cancelable a where cancel :: a -> IO ()
    class Pauseable a where pause :: a -> IO ()

    -- Alternatively:

    data Transfer = Transfer { cancel :: IO (), pause :: IO () }

    -- Or both!

"""]]