You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kageru 5b3b6a28fb
update readme
10 months ago
Option.kt initial commit 10 months ago
OptionTest.kt initial commit 10 months ago update readme 10 months ago


An implementation of an Option<A> type in Kotlin using the inline class feature. See

It’s just a small proof of concept sparked by the discussion on the arrow-kt issue tracker after they decided to deprecate Option because nullable types are more efficient. It’s just a single file, so I decided to omit the usual gradle bloat, Build and test via:

$ kotlinc-native Option.kt OptionTest.kt
$ ./program.kexe

The implementation uses an empty value placeholder to allow for nullable types (i.e. Option<Int?>). I don’t think those are ever a good idea to have, but I saw no reason not to support them.