Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



49 Commits

Repository files navigation

#HaskellPusher A Pusher server client written in Haskell.

Currently, the package allows:

  • Triggering events on single or multiple channels
  • Fetching basic information about single or multiple channels

Up next:

  • Fetching a list of channels with active subscriptions
  • Fetching a list of users present for a particular channel


If you go to and run the following code after filling in your app-id, app-key, and app-secret, you should see an alert popup on screen.

> import Network.Pusher

> let pusher = Pusher "app-id" "app-key" "app-secret"
> let channel = "test_channel"
> let event = Event "my_event" "{\"message\":\"hello world\"}"

> triggerEvent (pusher, channel, event)

> getChannelInfo (pusher, channel, [])
Right (ChannelInfo {occupied = True, userCount = Nothing, subscriptionCount = Nothing})

You can also trigger events across multiple channels:

> ...
> let channels = ["first_channel", "second_channel"]
> ...

> triggerMultiChannelEvent (pusher, channels, event)

And fetch information about all channels:

> ...

> getMultiChannelInfo (pusher, [], Nothing)
Right (ChannelList [Channel {name = "test_channel", cUserCount = Nothing}])


Documentation for the individual modules is available on hackage.


pusher-haskell is Copyright (c) 2015 Sid Raval. It is free software, and may be redistributed under the terms specified in the LICENSE file.


No releases published