├── .gitignore ├── .travis.yml ├── README.md ├── project ├── build.properties └── plugins.sbt ├── sbt └── src ├── main └── scala │ ├── challenge │ ├── Lens.scala │ ├── Parser.scala │ └── Zipper.scala │ ├── intro │ ├── CheatSheet.scala │ ├── Equal.scala │ ├── Functor.scala │ ├── Id.scala │ ├── Intro.scala │ ├── List.scala │ ├── Monoid.scala │ ├── Optional.scala │ ├── Result.scala │ └── Scala.scala │ └── patterns │ ├── Applicative.scala │ ├── Http.scala │ ├── HttpT.scala │ ├── HttpValue.scala │ ├── Monad.scala │ ├── MonadTrans.scala │ ├── Reader.scala │ ├── ReaderT.scala │ ├── State.scala │ ├── StateT.scala │ ├── TypeLambda.scala │ ├── Writer.scala │ └── WriterT.scala └── test └── scala └── intro ├── ListSpecification.scala └── MonoidSpecification.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/README.md -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=0.13.7 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/sbt -------------------------------------------------------------------------------- /src/main/scala/challenge/Lens.scala: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/scala/challenge/Parser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/challenge/Parser.scala -------------------------------------------------------------------------------- /src/main/scala/challenge/Zipper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/challenge/Zipper.scala -------------------------------------------------------------------------------- /src/main/scala/intro/CheatSheet.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/CheatSheet.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Equal.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Equal.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Functor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Functor.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Id.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Id.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Intro.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Intro.scala -------------------------------------------------------------------------------- /src/main/scala/intro/List.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/List.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Monoid.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Monoid.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Optional.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Optional.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Result.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Result.scala -------------------------------------------------------------------------------- /src/main/scala/intro/Scala.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/intro/Scala.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/Applicative.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/Applicative.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/Http.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/Http.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/HttpT.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/HttpT.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/HttpValue.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/HttpValue.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/Monad.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/Monad.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/MonadTrans.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/MonadTrans.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/Reader.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/Reader.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/ReaderT.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/ReaderT.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/State.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/State.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/StateT.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/StateT.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/TypeLambda.scala: -------------------------------------------------------------------------------- 1 | package patterns 2 | 3 | class TypeLambda[F[_, _], A] { 4 | type l[a] = F[A, a] 5 | } 6 | -------------------------------------------------------------------------------- /src/main/scala/patterns/Writer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/Writer.scala -------------------------------------------------------------------------------- /src/main/scala/patterns/WriterT.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/main/scala/patterns/WriterT.scala -------------------------------------------------------------------------------- /src/test/scala/intro/ListSpecification.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/test/scala/intro/ListSpecification.scala -------------------------------------------------------------------------------- /src/test/scala/intro/MonoidSpecification.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/haskell-mafia/introduction-to-fp-in-scala/HEAD/src/test/scala/intro/MonoidSpecification.scala --------------------------------------------------------------------------------