Difference between revisions of "To Squares With Functions Assignment"
Jump to navigation
Jump to search
(Created page with "=Functions to Use= ==[https://smlfamily.github.io/Basis/list.html List Structure]== * [https://smlfamily.github.io/Basis/list.html#SIG:LIST.null:VAL null] * [https://smlfamily...") |
|||
(5 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== | ||
+ | A list of integers <code>xs</code> is passed to <code>to_squares</code>. Evaluate to a list where each item is the square of its counterpart in the passed list. | ||
+ | |||
<syntaxhighlight lang="sml"> | <syntaxhighlight lang="sml"> | ||
fun to_squares(xs : int list) : int list = | fun to_squares(xs : int list) : int list = | ||
raise Fail "NotYetImplemented" | raise Fail "NotYetImplemented" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | For example, if the passed list is <code>[1,2,3,4]</code> then <code>to_squares</code> would evaluate to <code>[1, 4, 9, 16]</code>. | ||
=Test= | =Test= | ||
{{SMLUnitTesting|run_squares_fun_testing|warmup_squares_fun}} | {{SMLUnitTesting|run_squares_fun_testing|warmup_squares_fun}} |
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.