Sum Distances To Origin With Pattern Matching Compared To Java Assignment

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