Functional Programming Principles: Difference between revisions
Jump to navigation
Jump to search
Adamcolton (talk | contribs) No edit summary |
Adamcolton (talk | contribs) |
||
| Line 19: | Line 19: | ||
==== Evaluation Strategies and Termination ==== | ==== Evaluation Strategies and Termination ==== | ||
CBV termination → CBN termination | |||
but | |||
CBN termination ↛ CBV termination | |||
==== Conditionals and Value Definitions ==== | ==== Conditionals and Value Definitions ==== | ||
==== Example: Square roots with Newton's Method ==== | ==== Example: Square roots with Newton's Method ==== | ||
Revision as of 15:03, 15 September 2014
Video Lectors
Getting Started
Tutorial: Working on Assignments
Using Eclipse and SBT
Working from scala repl
InelliJ IDEA
Week 1: Functions & Evaluations
Programming Paradigms
Programming languages are tightly coupled with the Von Neumann architecture. Functional programming is a way to decouple this dependency. It's also good for scalable computing.
Elements of Programming
SBT: scala build tool
call-by-name vs call-by-value. CBV evaluates all values first, CBN does substitution first.
Evaluation Strategies and Termination
CBV termination → CBN termination but CBN termination ↛ CBV termination