| 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 |