Difference between revisions of "To Squares With Functions Assignment"

From CSE425S Wiki
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:
=Functions to Use=
+
=Code to Use=
==[https://smlfamily.github.io/Basis/list.html List Structure]==
+
=={{ListStructure}}==
* [https://smlfamily.github.io/Basis/list.html#SIG:LIST.null:VAL null]
+
{{ListNilConstructor}}
* [https://smlfamily.github.io/Basis/list.html#SIG:LIST.hd:VAL hd]
+
{{ListConsConstructor}}
* [https://smlfamily.github.io/Basis/list.html#SIG:LIST.tl:VAL tl]
+
{{ListNull}}
 +
{{ListHd}}
 +
{{ListTl}}
  
 
=Code to Implement=
 
=Code to Implement=
{{SMLToImplement|my_length|to_squares|warmup_squares_fun}}
+
{{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 Smlnj-logo.png
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.

SML Error Messages