Kotlin supports sum types via the sealed keyword. You could model this in Kotlin like so:
sealed class T class N(val v: Int, val l: T = E, val r: T = E) : T() object E : T()
And instances are created like this:
val ta = N(3) val tb = N(3, E, N(4))
> It works as a cross platform server side solution > but no one is using Java UI toolkits anymore.
I use a Java UI app (a java swing app, to be specific) all day, every day. It’s the most critical piece of software I use. And I love it!
I guess you can think of 3 kinds of ID’s that refer to some piece of data:
I wonder if your git-like DB could solve another, equally important problem space, that you didn’t mention in your blog post: unit testing database apps.
Unit testing is great, but when you have a database app, the cost-benefit trade-off starts to change.
Does this mean it’s hard to write custom components, since they’re in low-level platform specific stuff?
No. It’s super easy to write custom components. Most of the low-level building blocks are already in place.
Here is the simplest possible custom component (they are called widgets in Flutter):
There are two things I would like to see different in Dart: