├── .gitignore ├── .travis.yml ├── README.md ├── TUTORIAL.md ├── core └── src │ ├── main │ └── scala │ │ └── kits │ │ ├── Applicative.scala │ │ ├── Functor.scala │ │ ├── Monad.scala │ │ ├── MonadPlus.scala │ │ ├── Monoid.scala │ │ ├── Traverse.scala │ │ ├── package.scala │ │ └── std │ │ ├── Boolean.scala │ │ ├── Either.scala │ │ ├── Function.scala │ │ ├── Future.scala │ │ ├── Identity.scala │ │ ├── IndexedSeq.scala │ │ ├── List.scala │ │ ├── Map.scala │ │ ├── Numeric.scala │ │ ├── Option.scala │ │ ├── Ordering.scala │ │ ├── Set.scala │ │ ├── Stream.scala │ │ ├── String.scala │ │ ├── TailRec.scala │ │ ├── Try.scala │ │ ├── Tuple.scala │ │ ├── Unit.scala │ │ └── Vector.scala │ └── test │ └── scala │ └── kits │ ├── example │ ├── ApplicativeExample.scala │ ├── MonoidExample.scala │ └── TraverseExample.scala │ └── spec │ ├── ApplicativeSpec.scala │ ├── FunctorSpec.scala │ ├── MonadSpec.scala │ ├── MonoidSpec.scala │ └── TraverseSpec.scala ├── eff └── src │ ├── main │ └── scala │ │ └── kits │ │ └── eff │ │ ├── Arrs.scala │ │ ├── Eff.scala │ │ ├── Exc.scala │ │ ├── Interpreter.scala │ │ ├── Opt.scala │ │ ├── Reader.scala │ │ ├── Recurser.scala │ │ ├── State.scala │ │ ├── Task.scala │ │ └── Writer.scala │ └── test │ └── scala │ └── kits │ └── eff │ ├── EffSpec.scala │ ├── ExcSpec.scala │ ├── ReaderSpec.scala │ ├── StateSpec.scala │ ├── TaskSpec.scala │ └── WriterSpec.scala ├── free └── src │ ├── main │ └── scala │ │ └── kits │ │ └── free │ │ ├── Arrows.scala │ │ ├── Choice.scala │ │ ├── Error.scala │ │ ├── Free.scala │ │ ├── Handler.scala │ │ ├── Lift.scala │ │ ├── Maybe.scala │ │ ├── Member.scala │ │ ├── Reader.scala │ │ ├── State.scala │ │ ├── Union.scala │ │ ├── Writer.scala │ │ └── package.scala │ └── test │ └── scala │ └── kits │ └── free │ └── example │ ├── ChoiceExample.scala │ ├── ErrorExample.scala │ ├── FreeExample.scala │ ├── ReaderExample.scala │ ├── StateExample.scala │ └── WriterExample.scala └── project ├── build.properties ├── site.sbt └── unidoc.sbt /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/README.md -------------------------------------------------------------------------------- /TUTORIAL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/TUTORIAL.md -------------------------------------------------------------------------------- /core/src/main/scala/kits/Applicative.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/Applicative.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/Functor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/Functor.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/Monad.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/Monad.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/MonadPlus.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/MonadPlus.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/Monoid.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/Monoid.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/Traverse.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/Traverse.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/package.scala: -------------------------------------------------------------------------------- 1 | package object kits { 2 | 3 | type Identity[A] = A 4 | 5 | } 6 | -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Boolean.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Boolean.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Either.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Either.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Function.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Function.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Future.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Future.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Identity.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Identity.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/IndexedSeq.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/IndexedSeq.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/List.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/List.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Map.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Map.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Numeric.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Numeric.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Option.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Option.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Ordering.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Ordering.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Set.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Set.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Stream.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Stream.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/String.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/String.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/TailRec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/TailRec.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Try.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Try.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Tuple.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Tuple.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Unit.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Unit.scala -------------------------------------------------------------------------------- /core/src/main/scala/kits/std/Vector.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/main/scala/kits/std/Vector.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/example/ApplicativeExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/example/ApplicativeExample.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/example/MonoidExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/example/MonoidExample.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/example/TraverseExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/example/TraverseExample.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/spec/ApplicativeSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/spec/ApplicativeSpec.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/spec/FunctorSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/spec/FunctorSpec.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/spec/MonadSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/spec/MonadSpec.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/spec/MonoidSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/spec/MonoidSpec.scala -------------------------------------------------------------------------------- /core/src/test/scala/kits/spec/TraverseSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/core/src/test/scala/kits/spec/TraverseSpec.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Arrs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Arrs.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Eff.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Eff.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Exc.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Exc.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Interpreter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Interpreter.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Opt.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Opt.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Reader.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Reader.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Recurser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Recurser.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/State.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/State.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Task.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Task.scala -------------------------------------------------------------------------------- /eff/src/main/scala/kits/eff/Writer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/main/scala/kits/eff/Writer.scala -------------------------------------------------------------------------------- /eff/src/test/scala/kits/eff/EffSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/test/scala/kits/eff/EffSpec.scala -------------------------------------------------------------------------------- /eff/src/test/scala/kits/eff/ExcSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/test/scala/kits/eff/ExcSpec.scala -------------------------------------------------------------------------------- /eff/src/test/scala/kits/eff/ReaderSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/test/scala/kits/eff/ReaderSpec.scala -------------------------------------------------------------------------------- /eff/src/test/scala/kits/eff/StateSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/test/scala/kits/eff/StateSpec.scala -------------------------------------------------------------------------------- /eff/src/test/scala/kits/eff/TaskSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/test/scala/kits/eff/TaskSpec.scala -------------------------------------------------------------------------------- /eff/src/test/scala/kits/eff/WriterSpec.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/eff/src/test/scala/kits/eff/WriterSpec.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Arrows.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Arrows.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Choice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Choice.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Error.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Error.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Free.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Free.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Handler.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Handler.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Lift.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Lift.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Maybe.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Maybe.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Member.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Member.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Reader.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Reader.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/State.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/State.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Union.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Union.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/Writer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/Writer.scala -------------------------------------------------------------------------------- /free/src/main/scala/kits/free/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/main/scala/kits/free/package.scala -------------------------------------------------------------------------------- /free/src/test/scala/kits/free/example/ChoiceExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/test/scala/kits/free/example/ChoiceExample.scala -------------------------------------------------------------------------------- /free/src/test/scala/kits/free/example/ErrorExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/test/scala/kits/free/example/ErrorExample.scala -------------------------------------------------------------------------------- /free/src/test/scala/kits/free/example/FreeExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/test/scala/kits/free/example/FreeExample.scala -------------------------------------------------------------------------------- /free/src/test/scala/kits/free/example/ReaderExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/test/scala/kits/free/example/ReaderExample.scala -------------------------------------------------------------------------------- /free/src/test/scala/kits/free/example/StateExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/test/scala/kits/free/example/StateExample.scala -------------------------------------------------------------------------------- /free/src/test/scala/kits/free/example/WriterExample.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/free/src/test/scala/kits/free/example/WriterExample.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.2.8 2 | -------------------------------------------------------------------------------- /project/site.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/project/site.sbt -------------------------------------------------------------------------------- /project/unidoc.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halcat0x15a/kits/HEAD/project/unidoc.sbt --------------------------------------------------------------------------------