├── .bsp └── sbt.json ├── .gitignore ├── .scalafmt.conf ├── README.md ├── project ├── build.properties ├── metals.sbt └── plugins.sbt └── src └── main └── scala └── net └── degoes ├── 00_intro.scala ├── 01_adts.scala ├── 02_operators.scala ├── 03_domains.scala ├── 04_encoding.scala ├── 05_practices.scala ├── 06_typed.scala ├── 07_patterns.scala ├── 08_practice.scala ├── 09_integration.scala └── welcome.scala /.bsp/sbt.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/.bsp/sbt.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/README.md -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.8.3 2 | -------------------------------------------------------------------------------- /project/metals.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/project/metals.sbt -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /src/main/scala/net/degoes/00_intro.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/00_intro.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/01_adts.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/01_adts.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/02_operators.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/02_operators.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/03_domains.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/03_domains.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/04_encoding.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/04_encoding.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/05_practices.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/05_practices.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/06_typed.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/06_typed.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/07_patterns.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/07_patterns.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/08_practice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/08_practice.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/09_integration.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/09_integration.scala -------------------------------------------------------------------------------- /src/main/scala/net/degoes/welcome.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jdegoes/functional-design/HEAD/src/main/scala/net/degoes/welcome.scala --------------------------------------------------------------------------------