Difference between revisions of "Scan Higher Order Function Assignment"
Jump to navigation
Jump to search
Line 19: | Line 19: | ||
| 131 || 231 || 425 | | 131 || 231 || 425 | ||
|- | |- | ||
− | ! style="text-align:right;" | | + | ! style="text-align:right;" | scan op+ xs |
| 131 || 362 || 787 | | 131 || 362 || 787 | ||
|} | |} |
Revision as of 09:02, 16 February 2022
Background
Previously, we have built Sum_Scan_Assignment sum_scan. This is a specific version of scan where the operation is +. We will build a higher-order function scan which takes an operation to apply, as well as a list.
Code To Implement
scan
Clients
scan op+
For example:
scan op+ [131,231,425]
would produce:
[131, 362, 787]
xs 131 231 425 scan op+ xs 131 362 787
scan op*
For example:
scan op* [131,231,425]
would produce:
[131, 30261, 12860925]
xs 131 231 425 sum_scan(xs) 131 30261 12860925