Topic
V CS 254: Intro. to Functional Programming—Midterm Review Notes
V Important note!
* click on the triangles to the left to expand sections!
* use the text size feature in your browser to make this text larger and more readable!
> Information about the exam
> Functional programming—background (see Preface and Chapter 1)
> The "mechanics" of using the Hugs (or WinHugs) implementations (see Chapter 2)
> Basic types and literals: numbers, characters, and booleans (see Sections 3.1-3.2; and 3.9)
> Applying functions and operators to their arguments (see Sections 3.5-3.6)
> Pairs, tuples, Maybe values, etc. (see Sections 2.4 and 3.4)
> List literals and Prelude functions (see Section 2.2, 3.3, the Appendix and also the labs)
> Higher-order functions (see Sections 3.5-3.6 and Chapter 7)
> Defining functions (and other values) in Haskell (see Chapter 4)
> Data types, constructors and patterns (see Sections 10.1-10.3)
> Recursive definitions (see Chapter 6 and the Natty example file)
> Evaluation, convergence, lazy evaluation and infinite data structures (see Sections 12.1-12.5)
> Types and type-checking (see Chapter 3)
> List comprehensions (see Chapter 5 and the illustrated web page)
> Defining and using type classes (see Section 10.6)
> Lambda notation (see Section 4.5)
> Sample application: a functional approach to graphics (see the RasterGraphics sample file)