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
5 months ago
Option.kt initial commit 5 months ago
OptionTest.kt initial commit 5 months ago update readme 5 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.