Functional Programming
Functional Programming
Functional Programming is ÒCompleteÓ
A Functional Programming Language
rex usage examples
(user input is shown in bold)
more rex usage examples
(define variables to avoid re-entry)
more rex usage examples
(previous session continued)
Load files to prevent re-typing
At least two ways to load a file:
At least two ways to load a file:
Split-screen editing in Emacs
(what I use most of the time)
High-Level
Functional Programming
High-Level Functional Programming
Some Built-in Functions in rex
zip
first
rest
cons
Type Signature
range
scale
assoc
remove_duplicates
Predicates
null predicate
member predicate
even predicate
odd predicate
is_prime predicate
ÒsatisfyÓ
ÒsatisfyÓ Example
Higher-Order Functions
map
map Examples
Exercise
3-argument map in rex
3-argument map
Exercise
keep
drop
Exercise
reduce
Units
Exercise
reduce Examples
Anonymous Functions
Anonymous Functions
Example
Precedent
More Anonymous Functions
Sample Usage
Exercise
Anonymous Functions with ÒImportedÓ Values
Exercises
Exercises
find function
find_index function
find_indices function
Function Decomposition
Function Decomposition Example
ÒPruningÓ Method
Examples of Pruning
(leaves shown in green)
Pruning with Graphs as Lists
Note
Functional Code
hasLeaf
isLeaf
nodes(Graph)
remove_leaves
iterate