COMP302: Programming Languages and Paradigms
Prof. (Sec 01) Francisco Ferreira (Sec 02)
School of Computer Science Mc
Copyright By PowCoder代写 加微信 powcoder
Week 6-3, Fall 2017
Functional Tidbit: The Midterm – The Aftermath!
COMP302: Programming Languages and Paradigms 2 / 7
Functional Tidbit: The Midterm – The Aftermath!
“Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.”
COMP302: Programming Languages and Paradigms 2 / 7
Functional Tidbit: The Midterm – The Aftermath!
COMP302: Programming Languages and Paradigms 3 / 7
Functional Tidbit: Imperative vs Functional Programming!
“Clearly, I reject the view that there is one way that is right for everyone and for every problem.”
COMP302: Programming Languages and Paradigms 4 / 7
Primary benefits:
– Exceptions –
• Force you to consider the exceptional case
• Allows you to segregate the special case from other cases in the code (avoids clutter!)
• Diverting control flow!
COMP302: Programming Languages and Paradigms 5 / 7
Warm-Up: Type, Values, and Effect
Expression 3 / 0
COMP302: Programming Languages and Paradigms 6 / 7
Warm-Up: Type, Values, and Effect
Expression 3 / 0 Type int
COMP302: Programming Languages and Paradigms 6 / 7
Warm-Up: Type, Values, and Effect
Expression 3 / 0 Type int
COMP302: Programming Languages and Paradigms 6 / 7
Warm-Up: Type, Values, and Effect
Expression 3 / 0 Type int
Effect raises run-time exception Division_by_zero
COMP302: Programming Languages and Paradigms 6 / 7
Warm-Up: Type, Values, and Effect
Expression 3 / 0 Type int
Effect raises run-time exception Division_by_zero
Expression
let head_of_empty_list = let head (x::t) = x in
COMP302: Programming Languages and Paradigms
Warm-Up: Type, Values, and Effect
Expression 3 / 0 Type int
Effect raises run-time exception Division_by_zero
Expression
let head_of_empty_list = let head (x::t) = x in
COMP302: Programming Languages and Paradigms
Warm-Up: Type, Values, and Effect
Expression 3 / 0 Type int
Effect raises run-time exception Division_by_zero
Expression
let head_of_empty_list = let head (x::t) = x in
Type ’a Value #
COMP302: Programming Languages and Paradigms
Warm-Up: Type, Values, and Effect
Expression 3 / 0 Type int
Effect raises run-time exception Division_by_zero
Expression
let head_of_empty_list = let head (x::t) = x in
Type ’a Value #
Effect raises run-time exception Match_failure COMP302: Programming Languages and Paradigms
User-defined Exceptions
COMP302: Programming Languages and Paradigms 7 / 7
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com