A very little notes of my study of COMP90048 Declarative Programming (SM2 2017). The notes below contain my summaries and lecture materials (© the University of Melbourne).

Some concepts

Haskell is a functional programming language.

Functions are the basic building blocks from which programs are constructed. The basic operation in a functional languages is function application.

ghc is a Haskell compiler (the Glasgow Haskell Compiler).

ghci is an interactive programming environment for Haskell. Within it you can create, modify and run programs.

Haskell features

  • lexical scoping
  • higher-order functions
  • pattern matching
  • lazy functions and data constructors polymorphism
  • strong static type inference user-defined data types
  • principled overloading
  • monadic I/O
  • type-safe modules

No loop constructs—iteration is expressed as recursion or via higher-order functions.