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/warmup_remove_first_occurrence/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

source folder: src/test/sml/warmup_remove_first_occurrence
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.

SML Error Messages