Aspectos prácticos
Para configurar un proyecto que use las librerías presentadas en este libro, use una versión
reciente de Scala con características específicas de Programación Funcional habilitadas
(por ejemplo, en 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)
Con el objetivo de mantener la brevedad en los fragmentos de código, omitiremos la sección
de import. A menos que se diga lo contrario, asumimos que todos los fragmentos tienen
las siguientes sentencias de import:
import scalaz._, Scalaz._
import simulacrum._