Skip to content

Four more repositories, and the tables that have to know about them - #779

Open
tamnd wants to merge 1 commit into
mainfrom
clients-five
Open

Four more repositories, and the tables that have to know about them#779
tamnd wants to merge 1 commit into
mainfrom
clients-five

Conversation

@tamnd

@tamnd tamnd commented Aug 25, 2026

Copy link
Copy Markdown
Owner

DX5 (#171) had .NET as the only new binding and put Kotlin and Scala inside zu-java as idiom layers. That is the right shape for the question of how much work a Kotlin caller saves by not writing Optional everywhere, and the wrong one for the question of how the caller gets the dependency. A Kotlin project takes a Kotlin artifact. A Scala project takes one built for its binary version, and 3 and 2.13 are two artifacts whatever anybody wishes. Neither of them wants to be told the thing they depend on is a package inside a jar named for another language, and a Scala user has to be told which of the two builds is in there.

Swift and Dart are new for the reason .NET was new. A language with no binding is not a language with nobody using this engine, it is a language whose users read zu.h and write a binding each, and none of those has a misuse suite or a leak job or a corpus run.

So zu-kotlin, zu-scala, zu-swift and zu-dart are repositories, at tier 2, which is where zu-dotnet already sits. Tier 1 asks for 100 on conformance and 90 on practice, and a binding earns that by having shipped rather than by having been written.

The list is quoted in four places and the whole point of repos.toml is that they agree, so this is all four: the conductor's matrix, the README's client table with the tier on it, the consumers in artifacts.toml, and clients.toml with the page it renders. docs/clients/overview.md is regenerated. The counts in the prose move with them, nine repositories to thirteen and eight dispatched to twelve, and the collect step's thirty-one empty results are fifty-one.

Toolchain pins for the four languages are deliberately not here. A pinned Swift that nothing builds with is a version nobody is holding to anything, and they arrive with the repositories that use them.

What each of the four owes is on #171, and it is the same list the five existing clients are scored on rather than a shorter one for being new.

DX5 had .NET as the only new binding and put Kotlin and Scala inside
zu-java as idiom layers. That is the right shape for the question of
how much work a Kotlin caller saves by not writing Optional
everywhere, and the wrong one for the question of how the caller gets
the dependency. A Kotlin project takes a Kotlin artifact. A Scala
project takes one built for its binary version, and 3 and 2.13 are two
artifacts whatever anybody wishes. Neither wants to be told the thing
they depend on is a package inside a jar named for another language.

Swift and Dart are new for the reason .NET was new. A language with no
binding is not a language with nobody using this engine, it is a
language whose users read zu.h and write a binding each, and none of
those has a misuse suite or a leak job or a corpus run. Two of them
get the interrupt rule wrong and one gets the free order wrong, and
the reports arrive here either way.

So zu-kotlin, zu-scala, zu-swift and zu-dart are repositories, at tier
2, which is where zu-dotnet already sits and is the honest place for a
binding whose first release is this milestone. Tier 1 asks for 100 on
conformance and 90 on practice, and a binding earns that by having
shipped rather than by having been written.

The list is quoted in four places and the whole point of repos.toml is
that they agree, so this is all four: the conductor's matrix, the
README's client table with the tier on it, the consumers in
artifacts.toml, and clients.toml with the page it renders. The counts
in the prose move with them, nine repositories to thirteen and eight
dispatched to twelve, and the collect step's thirty-one empty results
are fifty-one.

Toolchain pins for the four languages are not here. A pinned Swift
that nothing builds with is a version nobody is holding to anything,
and they arrive with the repositories that use them.

Refs #171.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant