Aspekty praktyczne
Aby skonfigurować projekt używający bibliotek prezentowanych w tej książce, użyjemy aktualnej wersji Scali wraz
z opcjami specyficznymi dla Programowania Funkcyjnego. Oto build.sbt:
scalaVersion in ThisBuild := "2.12.6"
scalacOptions in ThisBuild ++= Seq(
"-language:_",
"-Ypartial-unification",
"-Xfatal-warnings"
)
libraryDependencies ++= Seq(
"com.github.mpilquist" %% "simulacrum" % "0.13.0",
"org.scalaz" %% "scalaz-core" % "7.2.26"
)
addCompilerPlugin("org.spire-math" %% "kind-projector" % "0.9.7")
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full)
Aby fragmenty kodu były krótkie, ominiemy sekcje importów i jeśli nie zaznaczono inaczej,
to należy przyjąć, że wszystkie fragmenty zawierają:
import scalaz._, Scalaz._
import simulacrum._