Skip to content

Commit 51bb27c

Browse files
authored
Merge pull request #81 from FineCinnamon/paco-fixdefaultsinkleisi
Fix position of default argument for monad implicit to align with Kotlin expectation
2 parents 8b6242d + ff28623 commit 51bb27c

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

katz/src/main/kotlin/katz/data/Kleisli.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ class Kleisli<F, D, A>(val MF: Monad<F>, val run: (D) -> HK<F, A>) {
2323

2424
companion object {
2525

26-
inline operator fun <reified F, D, A> invoke(MF: Monad<F> = monad<F>(), noinline run: (D) -> HK<F, A>): Kleisli<F, D, A> = Kleisli(MF, run)
26+
inline operator fun <reified F, D, A> invoke(noinline run: (D) -> HK<F, A>, MF: Monad<F> = monad<F>()): Kleisli<F, D, A> = Kleisli(MF, run)
2727

28-
inline fun <reified F, D, A> pure(MF: Monad<F> = monad<F>(), x: A): Kleisli<F, D, A> = Kleisli(MF, { _ -> MF.pure(x) })
28+
inline fun <reified F, D, A> pure(x: A, MF: Monad<F> = monad<F>()): Kleisli<F, D, A> = Kleisli(MF, { _ -> MF.pure(x) })
2929

3030
inline fun <reified F, D> ask(MF: Monad<F> = monad<F>()): Kleisli<F, D, D> = Kleisli(MF, { MF.pure(it) })
3131
}

katz/src/main/kotlin/katz/data/Reader.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ fun <D, A> ReaderT<Id.F, D, A>.runId(d: D): A = this.run(d).value()
1010

1111
object Reader {
1212

13-
operator fun <D, A> invoke(run: (D) -> A): ReaderT<Id.F, D, A> = Kleisli(Id, run.andThen { Id(it) })
13+
operator fun <D, A> invoke(run: (D) -> A): ReaderT<Id.F, D, A> = Kleisli(run.andThen { Id(it) })
1414

15-
fun <D, A> pure(x: A): ReaderT<Id.F, D, A> = Kleisli.pure<Id.F, D, A>(Id, x)
15+
fun <D, A> pure(x: A): ReaderT<Id.F, D, A> = Kleisli.pure<Id.F, D, A>(x)
1616

17-
fun <D> ask(): ReaderT<Id.F, D, D> = Kleisli.ask<Id.F, D>(Id)
17+
fun <D> ask(): ReaderT<Id.F, D, D> = Kleisli.ask<Id.F, D>()
1818

1919
}

0 commit comments

Comments
 (0)