Remove First Assignment

From CSE425S Wiki
Jump to navigation Jump to search

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 Smlnj-logo.png
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