Skip to content

Latest commit

 

History

History
49 lines (48 loc) · 2.39 KB

File metadata and controls

49 lines (48 loc) · 2.39 KB

Introduction to Haskell

Introduction to Haskell

Topics and Goals

  1. What is Haskell?
  2. The primary properties of Haskell vs. Language X
  3. Learn the very basics of Haskell

Comparing Haskell With Imperative Language X

Imperative Language XHaskell
ImperativeDeclarative, imperative emulation
Abstraction over CPU (↑)Mathematics and computer science (↓)
Nearly everything is mutableNo side effects or I/O by default
Strict evaluationNon-strict evaluation
C++, Java, Objective-C, etc.Haskell
Objects are first-class citizensFunctions are first-class citizens
Weak, static typingStrong, static typing
CompiledCompiled or interpreted (interactive)
Ruby, Python, JavaScript, etc.Haskell
Dynamically typedStrong, static typing
Duck typingPolymorphic typing
InterpretedCompiled or interpreted
Relatively slowPerforms close to code written in C

Haskell Basics

  • Hello World
  • A slightly more complicated Hello World
  • No `NULL` or `nil`, we have `Maybe`!

Q and A

  • Open time for question and answers