- install sbt
- execute
sbt
in this project folder. - select the kata you want to do with
project $projectname
. For exampleproject simple-lists
. - execute the tests with
test
. You may execute~test
for continues test executions.
If you are stuck, you may take a look into the solution
branch.
The starting point is the SimpleListSpec.scala
file. Just uncomment the spec and get started.
The goal of the project is to implement a immutable List data structure. You will learn about immutablity, function passing and recursion.
Feel free to implement your solution first in java and then in scala.
Quick start:
sbt ~simple-lists/test
todo
todo
todo
The starting point is the TypeClassesSpec.scala
file. Just uncomment the spec and get started.
The goal of the project is to use type classes to implement common functional programming abstractions. You will learn about type classes, Functors and Monads.
After completing the TypeClassesSpec
, enable the LawSpec
to check your implementation against the laws of the type classes.
Test cases are generated by discipline.
Quick start:
sbt "~functional-type-classes/test"
The point of this Kata is to explore a functional datastructure, that may be readily used for a very simple but versatile form of dependency injection.
Your starting point is the spec for said construct, namely ReaderSpec
file.
Your goal is to use this spec as guide to implement the datastructure called Reader
.
The starting point is the AkkaStreamKata1Spec.scala
file. Just uncomment the spec and get started.
The goal of the project is to familiarize yourself with Sinks
, Sources
and Flows
to learn the basis of akka streams.
Quick start:
sbt "~reactive-streams-with-akka/test"