├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── core └── src │ └── main │ └── scala │ └── mainecoon │ ├── ApplyK.scala │ ├── FunctorK.scala │ ├── InvariantK.scala │ ├── SemigroupalK.scala │ ├── implicits │ └── package.scala │ ├── package.scala │ └── syntax │ ├── AllSyntax.scala │ ├── CartesianKSyntax.scala │ ├── FunctorKSyntax.scala │ ├── InvariantKSyntax.scala │ └── package.scala ├── docs └── src │ └── main │ ├── resources │ └── microsite │ │ ├── css │ │ └── override.css │ │ └── img │ │ ├── favicon.png │ │ ├── navbar_brand.png │ │ ├── navbar_brand2x.png │ │ ├── raw_icon.png │ │ ├── sidebar_brand.png │ │ └── sidebar_brand2x.png │ └── tut │ ├── faq.md │ ├── index.md │ └── typeclasses.md ├── laws └── src │ └── main │ └── scala │ └── mainecoon │ └── laws │ ├── ApplyKLaws.scala │ ├── FunctorKLaws.scala │ ├── InvariantKLaws.scala │ ├── SemigroupalKLaws.scala │ └── discipline │ ├── ApplyKTests.scala │ ├── FunctorKTests.scala │ ├── InvariantKTests.scala │ └── SemigroupalKTests.scala ├── macros └── src │ └── main │ └── scala │ └── mainecoon │ ├── Models.scala │ ├── Util.scala │ ├── autoApplyK.scala │ ├── autoFlatMap.scala │ ├── autoFunctor.scala │ ├── autoFunctorK.scala │ ├── autoInvariant.scala │ ├── autoInvariantK.scala │ ├── autoProductNK.scala │ ├── autoSemigroupalK.scala │ └── finalAlg.scala ├── project ├── build.properties └── plugins.sbt ├── tests └── src │ └── test │ └── scala │ └── mainecoon │ └── tests │ ├── FinalAlgTests.scala │ ├── MainecoonTestSuite.scala │ ├── TestAlgebras.scala │ ├── autoApplyKTests.scala │ ├── autoFlatMapTests.scala │ ├── autoFunctorKTests.scala │ ├── autoFunctorTests.scala │ ├── autoInvariantKTests.scala │ ├── autoInvariantTests.scala │ ├── autoProductNKTests.scala │ └── autoSemigroupalKTests.scala └── version.sbt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/README.md -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/ApplyK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/ApplyK.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/FunctorK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/FunctorK.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/InvariantK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/InvariantK.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/SemigroupalK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/SemigroupalK.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/implicits/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/implicits/package.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/package.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/syntax/AllSyntax.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/syntax/AllSyntax.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/syntax/CartesianKSyntax.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/syntax/CartesianKSyntax.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/syntax/FunctorKSyntax.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/syntax/FunctorKSyntax.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/syntax/InvariantKSyntax.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/syntax/InvariantKSyntax.scala -------------------------------------------------------------------------------- /core/src/main/scala/mainecoon/syntax/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/core/src/main/scala/mainecoon/syntax/package.scala -------------------------------------------------------------------------------- /docs/src/main/resources/microsite/css/override.css: -------------------------------------------------------------------------------- 1 | .technologies { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /docs/src/main/resources/microsite/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/resources/microsite/img/favicon.png -------------------------------------------------------------------------------- /docs/src/main/resources/microsite/img/navbar_brand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/resources/microsite/img/navbar_brand.png -------------------------------------------------------------------------------- /docs/src/main/resources/microsite/img/navbar_brand2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/resources/microsite/img/navbar_brand2x.png -------------------------------------------------------------------------------- /docs/src/main/resources/microsite/img/raw_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/resources/microsite/img/raw_icon.png -------------------------------------------------------------------------------- /docs/src/main/resources/microsite/img/sidebar_brand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/resources/microsite/img/sidebar_brand.png -------------------------------------------------------------------------------- /docs/src/main/resources/microsite/img/sidebar_brand2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/resources/microsite/img/sidebar_brand2x.png -------------------------------------------------------------------------------- /docs/src/main/tut/faq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/tut/faq.md -------------------------------------------------------------------------------- /docs/src/main/tut/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/tut/index.md -------------------------------------------------------------------------------- /docs/src/main/tut/typeclasses.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/docs/src/main/tut/typeclasses.md -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/ApplyKLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/ApplyKLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/FunctorKLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/FunctorKLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/InvariantKLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/InvariantKLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/SemigroupalKLaws.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/SemigroupalKLaws.scala -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/discipline/ApplyKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/discipline/ApplyKTests.scala -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/discipline/FunctorKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/discipline/FunctorKTests.scala -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/discipline/InvariantKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/discipline/InvariantKTests.scala -------------------------------------------------------------------------------- /laws/src/main/scala/mainecoon/laws/discipline/SemigroupalKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/laws/src/main/scala/mainecoon/laws/discipline/SemigroupalKTests.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/Models.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/Models.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/Util.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/Util.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoApplyK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoApplyK.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoFlatMap.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoFlatMap.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoFunctor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoFunctor.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoFunctorK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoFunctorK.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoInvariant.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoInvariant.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoInvariantK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoInvariantK.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoProductNK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoProductNK.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/autoSemigroupalK.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/autoSemigroupalK.scala -------------------------------------------------------------------------------- /macros/src/main/scala/mainecoon/finalAlg.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/macros/src/main/scala/mainecoon/finalAlg.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.1.0 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/FinalAlgTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/FinalAlgTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/MainecoonTestSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/MainecoonTestSuite.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/TestAlgebras.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/TestAlgebras.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoApplyKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoApplyKTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoFlatMapTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoFlatMapTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoFunctorKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoFunctorKTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoFunctorTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoFunctorTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoInvariantKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoInvariantKTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoInvariantTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoInvariantTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoProductNKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoProductNKTests.scala -------------------------------------------------------------------------------- /tests/src/test/scala/mainecoon/tests/autoSemigroupalKTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kailuowang/mainecoon/HEAD/tests/src/test/scala/mainecoon/tests/autoSemigroupalKTests.scala -------------------------------------------------------------------------------- /version.sbt: -------------------------------------------------------------------------------- 1 | version in ThisBuild := "0.6.5-SNAPSHOT" 2 | --------------------------------------------------------------------------------