Giter Site home page Giter Site logo

haskell-workshop's Introduction

haskell-workshop

Haskell Workshop - Spring 2016

Overview

This is intended to be a zero-to-something introduction to Haskell for working programmers who are interested in functional programming, but don't know where to start.

We assume a basic knowledge of web development in this tutorial. If you're familiar with basic client/server interaction and HTML, this tutorial should be easy to follow!

The workshop will consist of two parts:

  1. Matt Parsons will present an overview of the syntax/look and feel of Haskell, so you won't get lost! You can follow along with this section using the Syntax.hs source file.
  2. Benjamin Kovach will walk you through an implementation of a simple web application that reads posts from multiple subreddit listings concurrently and presents them to a user in a web browser. We will work through this together, fleshing out MyReddit.hs as we go.

Getting Started

Prerequisite tools you'll need

git

A version control system. You'll need this to pull down the boilerplate code located in this repository.

Installation instructions are located here, for various operating systems.

https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

stack

The haskell toolchain and package manager. Stack will install the Haskell compiler for you and manage the dependencies of your project.

Installation instructions are located here, for various operating systems:

http://docs.haskellstack.org/en/stable/install_and_upgrade/#mac-os-x

a computer

You'll need this to compile and run your project.

an open mind

Haskell might look strange at first, but it's no more difficult than any other language! Keep an open mind and you'll be writing your own code in no time.

Setting up the project

To get the project set up, you'll need to run the following series of commands:

$ git clone https://github.com/sellerlabs/haskell-workshop
$ cd haskell-workshop
$ stack setup
$ stack install

This will take a long time the first time you do it! If all goes well, you should see something along the following lines:

Copying from /Users/Ben/projects/haskell-workshop/.stack-work/install/x86_64-osx/lts-5.13/7.10.3/bin/redditui to /Users/Ben/.local/bin/redditui

Copied executables to /Users/Ben/.local/bin:
- redditui

If /Users/$USER/.local/bin is properly set in your PATH, you should be able to do this:

$ redditui
redditui: Not implemented...yet!

At this point, you should be good to go!

After the Workshop

Found yourself interested in learning more? Here's a short list of some great ways to start learning Haskell:

haskell-workshop's People

Contributors

5outh avatar parsonsmatt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.