Mathematical engineer bringing type safety to the cloud. Previously worked on CUE @cue_lang.
JSR PC, @(R6)+; I wrote the arm64, sparc64, and Solaris Go ports.
Superpositions just keep appearing naturally. All negative types create superpositions.
⅋ creates a very degenerate superposition, there can be only one observable and and only one continuation.
& is less degenerate, it contains more terms, but there can only be one observable
The design principles of this term calculus were the following.
There is no good way to prove strong normalization of a logic that is either informative or easy to formalize in a theorem prover. Since we have to do hard work anyway, let's put it to good use rather than being
I didn't want to have generalized n-ary multiplicative connectives to adjoint logic because they make things more complicated. N-ary additives are also rather unfortunate, but they are essential for subtyping, so I put them in. The benefit of generalized multiplicatives is less
I can't believe I haven't posted in 9 days. Designing a term calculus for adjoint logic with the properties I want turned out way more difficult than I expected.
You don't read code because you're a vibe coder.
I don't read code because I write dependent types to ensure the code can only do what I want.
We are not the same.