A (very) short workshop designed to introduce Haskell quickly but practically
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
fonts
js
src
static
test
.ghci
.gitignore
.travis.yml
Avoid.md
LICENSE
README.md
Setup.hs
haskell-in-haste.cabal
stack.yaml

README.md

Haskell in Haste

Build Status

Join the chat at https://gitter.im/charleso/haskell-in-haste

A (very) short workshop designed to introduce Haskell quickly but practically.

Getting Started

  1. Download Stack for your operating system

  2. Clone this repository

      git clone https://github.com/charleso/haskell-in-haste.git
    
  3. Run stack setup in the root of the directory

  4. Run stack test in the root of the directory (ignore the test failures)

Running

  1. Run stack ghci
  2. Type start to start app
  3. Go to: http://localhost:8080

To reload files

  1. Hit ctrl-c to stop app
  2. Enter :r or :reload to recompile the project
  3. Type start to start app again

Testing

  1. Type tests to run them all
  2. Type test "guess" for matching test(s) names

Introduction

See here for the material to be used for teaching (very) basic Haskell.

Some concepts are intentionally not being covered due to the time available, which are listed here

Practical

screenshot

It's really important to remember that learning a new language can be tricky, and Haskell especially so. Pick something really simple to start with and don't feel bad or frustrated if you don't finish. There should be plenty of mentors floating around, don't hesitate to ask for help.

Challenges

A number of "bots" have been partially implemented as part of the chat program. These are grouped in to three rough levels of difficulty.

To state the obvious, but it's recommend that they are tackled in this order. Once you feel comfortable, or perhaps you're getting bored, try moving to the next level.

Easy

Medium

Hard

Answers

Full solutions can be found in the Chat.Bot.Answer module.

Answers can be enabled for testing/running:

> ANSWERS_ENABLED=true stack ghci

Further Reading

The best place to start is probably the Yorgey lectures. Both the online material and talks given by the BFPG group can be found here: