/scala-coursera

Assignment code for the course: Functional Programming Principles in Scala by Martin Odersky

Primary LanguageScalaThe UnlicenseUnlicense

scala-coursera

Scala (/ˈskɑːlɑː/ SKAH-lah) is a general-purpose programming language providing support for functional programming and a strong static type system. Designed to be concise,many of Scala's design decisions aimed to address criticisms of Java.

Scala source code is intended to be compiled to Java bytecode, so that the resulting executable code runs on a Java virtual machine. Scala provides language interoperability with Java, so that libraries written in both languages may be referenced directly in Scala or Java code. Like Java, Scala is object-oriented, and uses a curly-brace syntax reminiscent of the C programming language. Unlike Java, Scala has many features of functional programming languages like Scheme, Standard ML and Haskell, including currying, type inference, immutability, lazy evaluation, and pattern matching. It also has an advanced type system supporting algebraic data types, covariance and contravariance, higher-order types (but not higher-rank types), and anonymous types. Other features of Scala not present in Java include operator overloading, optional parameters, named parameters, and raw strings. Conversely, a feature of Java not in Scala is checked exceptions, which have proved controversial.

Assignment code for the course: Functional Programming Principles in Scala by Martin Odersky