├── .gitignore ├── LICENSE ├── README.md ├── core └── shared │ └── src │ └── main │ └── scala │ └── structures │ ├── Alternative.scala │ ├── Applicative.scala │ ├── Apply.scala │ ├── Contravariant.scala │ ├── Equal.scala │ ├── Exponential.scala │ ├── Extend.scala │ ├── Extract.scala │ ├── FlatMap.scala │ ├── Foldable.scala │ ├── Functor.scala │ ├── Monad.scala │ ├── MonadCombine.scala │ ├── MonadFilter.scala │ ├── Monoid.scala │ ├── MonoidK.scala │ ├── Semigroup.scala │ ├── SemigroupK.scala │ ├── Traverse.scala │ ├── ops.scala │ ├── package.scala │ └── std │ ├── anyvals.scala │ ├── either.scala │ ├── function.scala │ ├── list.scala │ ├── map.scala │ ├── option.scala │ ├── ordering.scala │ └── package.scala ├── discipline └── src │ ├── main │ └── scala │ │ └── structures │ │ └── laws │ │ └── discipline │ │ ├── AlternativeDiscipline.scala │ │ ├── ApplicativeDiscipline.scala │ │ ├── ApplyDiscipline.scala │ │ ├── ContravariantDiscipline.scala │ │ ├── ExponentialDiscipline.scala │ │ ├── FlatMapDiscipline.scala │ │ ├── FunctorDiscipline.scala │ │ ├── MonadCombineDiscipline.scala │ │ ├── MonadDiscipline.scala │ │ ├── MonadFilterDiscipline.scala │ │ ├── MonoidDiscipline.scala │ │ ├── MonoidKDiscipline.scala │ │ ├── SemigroupDiscipline.scala │ │ └── SemigroupKDiscipline.scala │ └── test │ └── scala │ └── structures │ └── laws │ └── discipline │ └── LawTests.scala ├── examples └── src │ └── main │ └── scala │ └── FunctorExamples.scala ├── jsexamples └── src │ └── main │ ├── resources │ └── index.html │ └── scala │ └── JsExamples.scala ├── laws └── src │ └── main │ └── scala │ └── structures │ └── laws │ ├── AlternativeLaws.scala │ ├── ApplicativeLaws.scala │ ├── ApplyLaws.scala │ ├── ContravariantLaws.scala │ ├── ExponentialLaws.scala │ ├── FlatMapLaws.scala │ ├── FunctorLaws.scala │ ├── IsEqual.scala │ ├── MonadCombineLaws.scala │ ├── MonadFilterLaws.scala │ ├── MonadLaws.scala │ ├── MonoidKLaws.scala │ ├── MonoidLaws.scala │ ├── SemigroupKLaws.scala │ ├── SemigroupLaws.scala │ └── package.scala ├── project ├── Build.scala ├── build.properties └── plugins.sbt └── version.sbt /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/README.md -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Alternative.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Alternative.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Applicative.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Applicative.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Apply.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Apply.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Contravariant.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Contravariant.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Equal.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Equal.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Exponential.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Exponential.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Extend.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Extend.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Extract.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Extract.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/FlatMap.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/FlatMap.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Foldable.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Foldable.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Functor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Functor.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Monad.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Monad.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/MonadCombine.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/MonadCombine.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/MonadFilter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/MonadFilter.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Monoid.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Monoid.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/MonoidK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/MonoidK.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Semigroup.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Semigroup.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/SemigroupK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/SemigroupK.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/Traverse.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/Traverse.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/ops.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/ops.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/package.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/anyvals.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/anyvals.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/either.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/either.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/function.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/function.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/list.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/list.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/map.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/map.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/option.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/option.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/ordering.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/ordering.scala -------------------------------------------------------------------------------- /core/shared/src/main/scala/structures/std/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/core/shared/src/main/scala/structures/std/package.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/AlternativeDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/AlternativeDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/ApplicativeDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/ApplicativeDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/ApplyDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/ApplyDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/ContravariantDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/ContravariantDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/ExponentialDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/ExponentialDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/FlatMapDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/FlatMapDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/FunctorDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/FunctorDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/MonadCombineDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/MonadCombineDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/MonadDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/MonadDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/MonadFilterDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/MonadFilterDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/MonoidDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/MonoidDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/MonoidKDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/MonoidKDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/SemigroupDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/SemigroupDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/main/scala/structures/laws/discipline/SemigroupKDiscipline.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/main/scala/structures/laws/discipline/SemigroupKDiscipline.scala -------------------------------------------------------------------------------- /discipline/src/test/scala/structures/laws/discipline/LawTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/discipline/src/test/scala/structures/laws/discipline/LawTests.scala -------------------------------------------------------------------------------- /examples/src/main/scala/FunctorExamples.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/examples/src/main/scala/FunctorExamples.scala -------------------------------------------------------------------------------- /jsexamples/src/main/resources/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/jsexamples/src/main/resources/index.html -------------------------------------------------------------------------------- /jsexamples/src/main/scala/JsExamples.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/jsexamples/src/main/scala/JsExamples.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/AlternativeLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/AlternativeLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/ApplicativeLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/ApplicativeLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/ApplyLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/ApplyLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/ContravariantLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/ContravariantLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/ExponentialLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/ExponentialLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/FlatMapLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/FlatMapLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/FunctorLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/FunctorLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/IsEqual.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/IsEqual.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/MonadCombineLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/MonadCombineLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/MonadFilterLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/MonadFilterLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/MonadLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/MonadLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/MonoidKLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/MonoidKLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/MonoidLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/MonoidLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/SemigroupKLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/SemigroupKLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/SemigroupLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/SemigroupLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/structures/laws/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/laws/src/main/scala/structures/laws/package.scala -------------------------------------------------------------------------------- /project/Build.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/project/Build.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=0.13.7 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mpilquist/Structures/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /version.sbt: -------------------------------------------------------------------------------- 1 | version in ThisBuild := "0.1.0-SNAPSHOT" 2 | --------------------------------------------------------------------------------