Sum Distances To Origin With Pattern Matching Compared To Java Assignment

From CSE425S Wiki
Revision as of 14:33, 12 September 2022 by Dennis.cosgrove (talk | contribs) (→‎Previous Warmup)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Motivation

Compare implementations in Java and SML to highlight the crispness of type inference and pattern matching.

Previous Warmup

This warmup is a variation of the Sum Distances To Origin with Functions warmup.

Background

SML

Math.sqrt(x)

Java

Math.sqrt(x)

Code To Implement

Java

Note: you will need to complete the ImList<E> exercise before testing the Java portion of this assignment.

class: SumDistancesToOrigin.java Java.png
methods: sumDistancesToOrigin
package: distance.warmup
source folder: src/main/java

Math.sqrt(v)

public static double sumDistancesToOrigin(ImList<ImTuple2<Double, Double>> xys)

SML

file: src/main/sml/warmup_sum_distances_to_origin_pattern/sum_distances_to_origin.sml Smlnj-logo.png
functions: sum_distances_to_origin

Math.sqrt(v)

fun sum_distances_to_origin(xys : (real * real) list)

Test

Java

class: SumDistancesToOriginTestSuite.java Junit.png
package: distance.warmup
source folder: src/test/java

SML

source folder: src/test/sml/warmup_sum_distances_to_origin_pattern
how to run with CM.make verbosity off: sml -Ccm.verbose=false run_sum_distances_to_origin_pattern_testing.sml
how to run with CM.make verbosity on: sml run_sum_distances_to_origin_pattern_testing.sml

note: ensure that you have removed all printing to receive credit for any assignment.

SML Error Messages