my work for upenn's cis194: intro to haskell course