in Arrow we place extension functions in a `syntax...
# announcements
r
in Arrow we place extension functions in a
syntax
package namespaced by the data type that it provides extensions for. For example a user would:
Copy code
import arrow.syntax.option.*

val a: Option<Int> = 1.some()
val b: Option<Int> = none<Int>()
That file is named lowercased after the data type. In this case:
option.kt
This file contains only extension syntax as
arrow-syntax
is distributed separately as it's own module and is opt in. @Ruckus I'm not sure this pattern is wrong despite just being extension functions in a file https://github.com/arrow-kt/arrow/tree/master/arrow-syntax/src/main/kotlin/arrow/syntax I'd love to hear your thoughts on how you'd better organize it 🙂