Functional Programming Principles: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
Created page with " == Video Lectors == === Getting Started === ==== Tutorial: Working on Assignments ==== Using Eclipse and SBT Working from scala repl ==== InelliJ IDEA ==== == Footer == C..."
 
No edit summary
Line 7: Line 7:
Working from scala repl
Working from scala repl
==== InelliJ IDEA ====
==== 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 ====
==== Conditionals and Value Definitions ====
==== Example: Square roots with Newton's Method ====
==== Blocks and Lexical Scope ====
==== Tail Recursion ====


== Footer ==
== Footer ==
[[Category:Coursework]]
[[Category:Coursework]]
[[Category:Notes]]
[[Category:Notes]]

Revision as of 15:00, 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

Conditionals and Value Definitions

Example: Square roots with Newton's Method

Blocks and Lexical Scope

Tail Recursion

Footer