Bunch of somewhat usable libraries without any particular direction.
Approximate structure:
org.gorttar.control
- declarations of custom control structures- managed value - provides a way to run a block of code
on
some stateful value preserving its old state before execution and restoring it after. May be useful for temporarily changing some global environment such as system in/out console streams, root logger log level etc.
- managed value - provides a way to run a block of code
org.gorttar.data
- declarations of custom data structures/operations on them- sequence equality -
fun eq
checks two sequences for structural equality with the following limitations/behavior details:- it actually iterates over sequences so them would better be able to iterate multiple times
- it can't check infinite equal sequences for equality but can determine their inequality
org.gorttar.data.heterogeneous.list
- immutable heterogeneous list implementation inspired by Strongly Typed Heterogeneous Collections articleorg.gorttar.data.heterogeneous.list.generators
- bunch of utility classes to generate boilerplate code- Aliases.kt - auto generated file with type aliases intended to shorten list signatures
- Destructuring.kt - auto generated file declaring
componentN
operators for lists up to 26 elements - ExtensionProperties.kt - auto generated file declaring
a..z
extension properties for lists up to 26 elements - HList.kt - main data structure declaration
- Literals.kt - auto generated file declaring
hListOf
factory functions for lists up to 26 elements
- sequence equality -
org.gorttar.graphics.turtle
- simple turtle graphics library for Kotlin. See Koch flake example for more detailsorg.gorttar.repr.repr
- reflectiveString
representation of arbitrary objectsorg.gorttar.test.io
- simple expect like library. Still WIP