Skip to content

Latest commit

 

History

History
101 lines (71 loc) · 2.77 KB

README.md

File metadata and controls

101 lines (71 loc) · 2.77 KB

cis194

Homework solutions for UPenn's CIS 194:

http://www.seas.upenn.edu/~cis194/

Installation

On a mac:

# Add Cabal path to PATH
touch ~/.bashrc
echo 'export PATH=$HOME/Library/Haskell/bin:$PATH' >> ~/.bashrc

# Install haskell-platform
brew install ghc cabal-install

# Clone repo
git clone https://github.com/sm-haskell-users-group/cis-194 cis194
cd cis194

On Linux:

# Add Cabal path to PATH
touch ~/.bashrc
echo 'export PATH=$PATH:$HOME/.cabal/bin' >> ~/.bashrc

# Clone repo
git clone https://github.com/sm-haskell-users-group/cis-194 cis194
cd cis194

Then...

cabal update
cabal install hspec
cabal configure --enable-test
cabal build

How to run a single week's tests

make week1

How to run ALL the tests

cabal configure --enable-tests && cabal build && cabal test

Where to Put Your Work

Branch master will contain tests and stubbed homework assignments only; please create a topic branch for yourself to which you'll commit your homework solutions.

Example:

~/dev/sm-cis194 $ git checkout -b erin
Switched to a new branch 'erin'

~/dev/sm-cis194 $ touch .foo
~/dev/sm-cis194 $ git add .
~/dev/sm-cis194 $ git commit -m "adding foo"
~/dev/sm-cis194 $ git push origin erin

Miscellaneous Links

  1. Basic GHCI commands
  2. Imperative debugging of Haskell code

CIS 194 Schedule

date which homework due? who is presenting? what's the topic?
WED, Nov. 26 Markets / monoids Erin Lazy Evaluation
THU, Dec. 4 Streams ??? Monads or Functor + Applicative
THU, Dec. 11 N/A N/A N/A
THU, Dec. 18 ??? ??? ???
THU, Dec. 25 N/A N/A N/A
FRI, Jan. 2 ??? ??? ???

Remaining Lectures

  1. Functor
  2. Applicative Functor (here and here)
  3. Monads ()here and here)
  4. Quickcheck
  5. Template Haskell

Fun Topics

  1. Reader, Writer monads
  2. Concurrency Primitives
  3. Lens
  4. Foldable
  5. Traversable
  6. Phantom Types
  7. GADTs