Remove First Assignment

From CSE425S Wiki
Revision as of 02:26, 5 September 2022 by Dennis.cosgrove (talk | contribs)
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/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

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

SML Error Messages