andrew-yangy / 2019-winter-Haskell-school

2019 winter Haskell school in Sydney Australia

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

2019 winter Haskell school in Sydney Australia

Class timetables and planning

We are based on CIS194 which is a 12 week course and we will extend it with advanced contents.

Each class has average length of 2 hours. Each week, we will pick a time and place and announce it.

Materials that we used for this class

Currently we are using Yorgey's cis194 course.

This course is widely recommended by Haskell learners.

Homework and after class discussions

After each week's class, participants need to complete assignments from the cis194 course and submit to this repo as a Pull Request.

You can skip the assignments, but remember:

If you don't do your homework and expect to be a Haskell programmer in the end of this course just by coming to/reading the lecture, you are kidding yourself. —Shine Li

You can also raise any questions or issues when you are learning Haskell and raise it to here.

You can submit your assignment to this path cis194/week1/Yourname, replace Yourname with your own.

If you don't do your homework and expect to be a Haskell programmer in the end of this course just by coming to/reading the lecture, you are kidding yourself.

Other resources

Setup local development environment

  • install stack
  • stack new project name
  • Then you have the following choices:
    • Use GHCi. This is invoked via stack ghci under your project root.
      • Every time you change your code, you can use :r to reload your ghci session with latest code. It will show error if your code does not compile.
    • Use GHCid
      • install GHCid by running stack install ghcid under your project
      • run ghcid --command "stack ghci --ghci-options=-fobject-code"
      • The above command will lunach a stack ghci session with type checking and automatically re-check your code when it changes. It will print out errors when you code does not compile.
    • IDE extension
      • VSCode
        • haskell-ghcid It runs GHCid and put the feedback in the output window as well as inlining them
        • Haskell Syntax Highlighting to highlight Haskell syntax
        • There are other extensions like Haskell Language Server, Haskero which required much more complex set up.
      • vim/neovim
        • TBD
      • Emacs
        • TBD
      • atom
        • atom-haskell This is a plugin that installs a list of other plugins to support Haskell development

Knowledge points

YouTube channel Instant FP

We will upload Functional programming videos inregually into this Channel. You can subscribe to it.

About

2019 winter Haskell school in Sydney Australia

License:MIT License


Languages

Language:Haskell 99.8%Language:Makefile 0.2%