Difference between revisions of "To Squares With Functions Assignment"
Jump to navigation
Jump to search
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | = | + | =Code to Use= |
− | == | + | =={{ListStructure}}== |
− | + | {{ListNilConstructor}} | |
− | + | {{ListConsConstructor}} | |
− | + | {{ListNull}} | |
+ | {{ListHd}} | ||
+ | {{ListTl}} | ||
=Code to Implement= | =Code to Implement= | ||
− | {{SMLToImplement| | + | {{SMLToImplement|to_squares|to_squares|warmup_squares_fun}} |
==to_squares== | ==to_squares== |
Latest revision as of 16:03, 30 August 2024
Code to Use
List
- [] construct an empty list
- :: construct a list out of a head element and a tail list
- null is the passed in list empty?
- hd head element of the passed in list
- tl tail list of the passed in list
Code to Implement
file: | src/main/sml/warmup_squares_fun/to_squares.sml | |
functions: | to_squares |
to_squares
A list of integers xs
is passed to to_squares
. Evaluate to a list where each item is the square of its counterpart in the passed list.
fun to_squares(xs : int list) : int list =
raise Fail "NotYetImplemented"
For example, if the passed list is [1,2,3,4]
then to_squares
would evaluate to [1, 4, 9, 16]
.
Test
source folder: | src/test/sml/warmup_squares_fun |
how to run with CM.make verbosity off: | sml -Ccm.verbose=false run_squares_fun_testing.sml |
how to run with CM.make verbosity on: | sml run_squares_fun_testing.sml |
note: ensure that you have removed all printing to receive credit for any assignment.