Difference between revisions of "Remove First Assignment"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
+ | =Motivation= | ||
+ | Experience with equality types (along with more experience writing recursive functions with pattern matching). | ||
+ | |||
=Code to Implement= | =Code to Implement= | ||
{{SMLToImplement|remove_first|remove_first|warm_up_remove_first}} | {{SMLToImplement|remove_first|remove_first|warm_up_remove_first}} |
Revision as of 07:37, 2 February 2022
Motivation
Experience with equality types (along with more experience writing recursive functions with pattern matching).
Code to Implement
file: | src/main/sml/warm_up_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
file: | unit_test_remove_first.sml | |
source folder: | src/test/sml/warmup_remove_first |