-
-
Notifications
You must be signed in to change notification settings - Fork 130
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* update build * update exerices build * fix compile errors * reformat and restructure testgen * port word-count * remove old test-gens * fix exercises * fix sgf, sieve and linked list exercise * update docs * update about page
- Loading branch information
1 parent
e58ef7f
commit 65e0bec
Showing
306 changed files
with
680 additions
and
3,829 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
version = "3.8.2" | ||
align.preset = most | ||
maxColumn = 160 | ||
trailingCommas = always | ||
continuationIndent.callSite = 2 | ||
continuationIndent.defnSite = 2 | ||
runner.dialect = scala3 | ||
rewrite.scala3.convertToNewSyntax = yes | ||
rewrite.scala3.removeOptionalBraces = yes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
name := "ExcercismScalaTestGenerator" | ||
|
||
ThisBuild / scalaVersion := "3.4.2" | ||
ThisBuild / scalacOptions ++= Seq("-source:future") | ||
|
||
lazy val root = project | ||
.in(file(".")) | ||
.aggregate(testgen) | ||
|
||
lazy val testgen = project | ||
.enablePlugins(SbtTwirl) | ||
.settings( | ||
Compile / TwirlKeys.compileTemplates / sourceDirectories | ||
+= (baseDirectory.value.getParentFile / "src" / "main" / "twirl") | ||
) | ||
.settings( | ||
libraryDependencies += "org.playframework" %% "play-json" % "3.0.4", | ||
libraryDependencies += "org.playframework.twirl" %% "twirl-api" % "2.0.7", | ||
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "2.4.0", | ||
libraryDependencies += "org.apache.commons" % "commons-lang3" % "3.15.0" | ||
) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,23 @@ | ||
# Installing [Scala](http://www.scala-lang.org) | ||
|
||
In addition to the exercism CLI and your favorite text editor, practicing with Exercism exercises in Scala requires few additional tools. | ||
|
||
In addition to the exercism CLI and your favorite text editor, practicing with Exercism exercises in Scala requires: | ||
All of them could be installed automatically by the `Coursier` tool. | ||
|
||
* Java Development Kit (JDK) 17 or later. Use your preferred vendor or grab one from [Adoptium](https://adoptium.net/) | ||
* [Scala 2.13.x](https://www.scala-lang.org/download/scala2.html) | ||
* [sbt 1.7.x](https://www.scala-sbt.org/download.html) | ||
|
||
If you don't want install these various dependencies by hand, consider using [SDKMAN](https://sdkman.io/) to manage your java and java-adjacent development tools and libraries. | ||
See: https://www.scala-lang.org/download/ for more details. | ||
|
||
--- | ||
|
||
After installing Java and `sbt` you will be ready to get started with the Scala track of Exercism. | ||
After running `cs setup` you will be ready to get started with the Scala track of Exercism. | ||
|
||
To get started, see "[Running the Tests](https://exercism.org/docs/tracks/scala/tests)". | ||
|
||
--- | ||
|
||
# Scala IDEs | ||
|
||
* [IntelliJ IDEA with Scala Plugin](https://www.jetbrains.com/idea/) | ||
* [ScalaIDE](http://scala-ide.org/index.html) | ||
* [NetBeans with Scala Plugin](https://netbeans.org/) | ||
* [Metals with VS Code](https://scalameta.org/metals/docs/editors/vscode) | ||
* [Metals with Vim or Neovim](https://scalameta.org/metals/docs/editors/vim) | ||
* [Metals with Online IDEs such as Gitpod](https://scalameta.org/metals/docs/editors/online-ides) | ||
* [Metals with Zed](https://github.com/scalameta/metals-zed) | ||
* [IntelliJ IDEA with Scala Plugin](https://www.jetbrains.com/idea/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,27 @@ | ||
# Learning | ||
|
||
The best place to start your journey with Scala is the short [Tour of Scala](https://docs.scala-lang.org/tour/tour-of-scala.html) and [Scala Book](https://docs.scala-lang.org/scala3/book/introduction.html) | ||
|
||
## Books | ||
|
||
* [Programming Scala - Dean Wampler, Ph.D.](http://shop.oreilly.com/product/0636920033073.do) | ||
* [Programming in Scala - Oderksy, Spoon, Venners](http://www.artima.com/shop/programming_in_scala_3ed) | ||
* [Functional Programming in Scala - Chiusano, Bjarnason](https://www.manning.com/books/functional-programming-in-scala) | ||
* [Scala for the Impatient - Cay S. Horstmann](http://horstmann.com/scala/) | ||
* [Programming Scala - Dean Wampler](https://deanwampler.github.io/books/programmingscala.html) | ||
* [Functional Programming in Scala - Michael Pilquist, Rúnar Bjarnason, and Paul Chiusano](https://www.manning.com/books/functional-programming-in-scala-second-edition) | ||
* [Grokking Functional Programming - Michał Płachta](https://www.manning.com/books/grokking-functional-programming) | ||
* [Scala With Cats - Noel Welsh](https://scalawithcats.com/) | ||
* [Hands on Scala Programming - Li Haoyi](https://www.handsonscala.com/) | ||
* [Functional Event-Driven Architecture - Gabriel Volpe](https://leanpub.com/feda) | ||
* [Modern Systems Programming with Scala Native - Richard Whaling](https://www.amazon.com/Modern-Systems-Programming-Scala-Native/dp/1680506226) | ||
* [Scala Cookbook - Alvin Alexander ](https://www.amazon.com/Scala-Cookbook-Object-Oriented-Functional-Programming-dp-1492051543/dp/1492051543) | ||
* [Scala for the Impatient - Cay S. Horstmann](http://horstmann.com/scala/) | ||
|
||
## YouTube | ||
- https://www.youtube.com/@DevInsideYou | ||
- https://www.youtube.com/@rockthejvm | ||
- https://www.youtube.com/@Scala-for-Fun-and-Profit | ||
- https://www.youtube.com/@scalaspace | ||
|
||
|
||
## Online Courses | ||
|
||
* [Functional Programming Principles in Scala](https://www.coursera.org/learn/progfun1) - In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. | ||
* [Functional Program Design in Scala](https://www.coursera.org/learn/progfun2) - In this course you will learn how to apply the functional programming style in the design of larger applications. | ||
You can find a comprehensive list of online courses in [here](https://docs.scala-lang.org/online-courses.html). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test | ||
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "2.1.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sbt.version=1.10.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
scalaVersion := "2.13.6" | ||
scalaVersion := "3.4.2" | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test" | ||
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % Test |
Oops, something went wrong.