I realized having to host this potentially indefinitely might not be the best idea, so I am going to shut down this gitea instance eventually.
You’ll have time, at least until the end of 2022, probably longer, but please just get all your stuff somewhere safe in case we ever disappear.
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
2 years ago
Option.kt initial commit 2 years ago
OptionTest.kt initial commit 2 years ago
README.md update readme 2 years ago



An implementation of an Option<A> type in Kotlin using the inline class feature. See https://kotlinlang.org/docs/reference/inline-classes.html

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.