Difference between revisions of "Remove First Assignment"

From CSE425S Wiki
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 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