Remove First Assignment
Revision as of 02:29, 5 September 2022 by Dennis.cosgrove (talk | contribs)
Motivation
Experience with equality types (along with more experience writing recursive functions with pattern matching).
Code to Implement
file: | src/main/sml/warmup_remove_first/remove_first.sml | |
functions: | remove_first |
remove_first
fun remove_first(xs : ''a list, target : ''a) : ''a list = raise NotYetImplemented
Remove the first item which matches target
if it exists. For example, remove_first([1,2,3,4,5], 3)
should return the list [1,2,4,5]
.
If the target does not exist, return the complete list. For example, remove_first([1,2,3,4,5], 6)
should return the list [1,2,3,4,5]
.
Test
source folder: | src/test/sml/warmup_remove_first |
how to run with CM.make verbosity off: | sml -Ccm.verbose=false run_remove_first_testing.sml |
how to run with CM.make verbosity on: | sml run_remove_first_testing.sml |
note: ensure that you have removed all printing to receive credit for any assignment.