An easily-extensible, Haskell-based Slack chatbot
The purpose of this little bot is to provide:
- a slew of mini-services for Bendyworks
- a simple platform for Bendyworkers to learn Haskell
- a playground for exciting Haskell web modules, such as WAI, Warp, and Aeson
README only demonstrates how to setup a Haskell dev environment for
creating Haskbot plugins. Further documentation can be found on
New to Haskell?
I find enjoyment of Haskell is greatly increased by a thorough reading of the first few chapters of Learn You a Haskell.... Of course, I highly recommend the entire book when you've time.
If you're an in-house Bendyworker, I'm also available before/after hours or during growth time to help or answer any questions.
Installing the Haskell Platform and Haskbot
To run Haskbot locally, all you require is the latest Haskell platform. If your distro of choice isn't Debian, this means your package manager probably provides it for you.
- Run the following to install the platform:
sudo apt-get update sudo apt-get install haskell-platform
On OSX (via Homebrew)
brew update brew install haskell-platform
If instead you compile from source, be sure to add the GHC
bin directory to
Add Cabal's (the Haskell package manager)
binfolder to your shell's
$PATH. This is usually done by adding the following lines to
~/.bash_profile(whichever you have/prefer).
PATH="$HOME/.cabal/bin:$PATH" export PATH
Make sure to re-source whatever file contains the new
$PATH, like so:
Update the Haskell packages via:
cabal update cabal install cabal-install cabal install haskbot-core
You're now ready to begin creating plugins for your very own Haskbot! Continue on to Hackage for a full Haskbot API description and examples.
I couldn't have completed this without the guidance provided by Chris Wilson. I've learned as much from our conversations on Haskell and functional programming as I have from any book.
I wouldn't have had time to write this without the growth time supplied by Bendyworks. Hey, employers! This is what developers need to survive.
Finally, I never would have discovered Haskell had Rob Jones not jokingly told me to build a web service using Snap when I stated that I wanted to branch out from Ruby. Gaze upon your works, ye mighty!