Sum Scan With Tail Recursion Assignment

From CSE425S Wiki
Jump to navigation Jump to search

Motivation

Gain experience with converting from head recursion to tail recursion with a twist. Taking the standard simple approach would leave with you with a result opposite of the desired order.

A Sting In the Tail

Everything does not always goes perfectly smoothly on the jouney to the idyllic land of tail recursion. Some operations are commutative (for example: + and *) and they can be performed in either order. This is not the case for list construction with ::.

You will likely be left to decide between taking:

Code to Implement

Reimplement Sum Scan with tail recursion.

file: src/main/sml/warmup_sum_scan_tail/sum_scan_tail.sml Smlnj-logo.png
functions: sum_scan_tail

Test

file: unit_test_sum_scan_tail.sml
source folder: src/test/sml/warmup_sum_scan_tail