Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[*.{kt,kts}]
max_line_length=120
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
out
gradle
.gradle
.kotlintest
build
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/GitLink.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

348 changes: 348 additions & 0 deletions .idea/codeStyles/Project.xml

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 9 additions & 12 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
val arrowVersion by extra { "0.10.0" }
val arrowVersion = "1.0.1"
val kotestVersion = "5.3.0"

plugins {
kotlin("jvm") version "1.3.30"
kotlin("jvm") version "1.6.21"
}

repositories {
jcenter()
mavenCentral()
maven(url = "https://dl.bintray.com/arrow-kt/arrow-kt/")
}

dependencies {
implementation(kotlin("stdlib"))

compile("io.arrow-kt:arrow-core:$arrowVersion")
compile("io.arrow-kt:arrow-syntax:$arrowVersion")
compile("io.arrow-kt:arrow-optics:$arrowVersion")
implementation(platform("io.arrow-kt:arrow-stack:$arrowVersion"))
implementation("io.arrow-kt:arrow-core")
implementation("io.kotest:kotest-runner-junit5-jvm:$kotestVersion")

testCompile("io.kotlintest:kotlintest-runner-junit5:3.3.2")
testCompile("junit:junit:4.12")
testImplementation(kotlin("test"))
}
tasks {
test {
useJUnitPlatform()
}
tasks.withType<Test>().configureEach {
useJUnitPlatform()
}
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
3 changes: 3 additions & 0 deletions src/main/kotlin/ft/typesafety/OptionalExercises.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package ft.typesafety

import arrow.core.None
import arrow.core.Option
import arrow.core.Option.Companion.fromNullable
import arrow.core.Some

/**
* Use pattern matching and recursion. No vars, no loops, no overriding.
Expand Down
4 changes: 2 additions & 2 deletions src/test/kotlin/ft/higherorder/FoldingExercisesTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import ft.higherorder.FoldingExercises.sum
import ft.recursion.Nil
import ft.recursion.FunList
import ft.recursion.Cons
import io.kotlintest.specs.StringSpec
import io.kotlintest.shouldBe
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe

class FoldingExercisesTest : StringSpec({

Expand Down
4 changes: 2 additions & 2 deletions src/test/kotlin/ft/recursion/RecursionExercisesTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import ft.recursion.RecursionExercises.flatten
import ft.recursion.RecursionExercises.flatMap
import ft.recursion.RecursionExercises.maximum
import ft.recursion.RecursionExercises.reverse
import io.kotlintest.specs.StringSpec
import io.kotlintest.shouldBe
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe

class RecursionExercisesTest : StringSpec({
"10 + 34 = 44" {
Expand Down
4 changes: 2 additions & 2 deletions src/test/kotlin/ft/typesafety/OptionalExercises1Test.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import arrow.core.Some
import ft.typesafety.OptionalExercises1.getFromConfig
import ft.typesafety.OptionalExercises1.lengthOfHost
import ft.typesafety.OptionalExercises1.portPlus1000
import io.kotlintest.shouldBe
import io.kotlintest.specs.StringSpec
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe

class OptionalExercises1Test : StringSpec({

Expand Down
4 changes: 2 additions & 2 deletions src/test/kotlin/ft/typesafety/OptionalExercises2Test.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package ft.typesafety

import ft.typesafety.OptionalExercises2.connectToSquareupHostsOnly
import ft.typesafety.OptionalExercises2.getEnvForHost
import io.kotlintest.shouldBe
import io.kotlintest.specs.StringSpec
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe

class OptionalExercises2Test : StringSpec({

Expand Down
6 changes: 3 additions & 3 deletions src/test/kotlin/ft/typesafety/OptionalExercises3Test.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package ft.typesafety

import arrow.core.curried
import ft.typesafety.OptionalExercises3.Just
import ft.typesafety.OptionalExercises3.Maybe
import ft.typesafety.OptionalExercises3.Nothing
Expand All @@ -12,9 +13,8 @@ import ft.typesafety.OptionalExercises3.sequence
import ft.typesafety.OptionalExercises3.orElse
import ft.typesafety.OptionalExercises3.fold
import ft.typesafety.OptionalExercises3.map
import io.kotlintest.shouldBe
import io.kotlintest.specs.StringSpec
import arrow.syntax.function.curried
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe

class OptionalExercises3Test : StringSpec({

Expand Down