Showing posts with label language-design. Show all posts
Showing posts with label language-design. Show all posts

22 January 2026

In 2009, Final Interfaces were a concept, and many years later Java got Sealed Types

When working on submissions for Projects coin - Controlled Inheritance was one element that I wanted to have.

19 January 2026

Java Proposal: The Glue Classes - Explicit, Modular Type Extension


This post was rewritten to be usable as a prompt !

A design idea that reduces inheritance and boosts chainability by moving behavior into composable call chains.
Sample code:
Objects.requireNonNull(some); final A a = some.getA(); Objects.requireNonNull(a, "explanation"); validate(a); final B b = a.getB(); Objects.requireNonNull(b, "explanation"); b.process(param1);

Same code written using glue:
some..ensureNotNull()// .getA()­..ensureNotNull("explanation")­..ensureValid()// .getB()­..ensureNotNull("explanation")// ..process(param1..ensureNotNull());