type fixes and bindings + notes on subtyping

This commit is contained in:
Ellen Arvidsson 2025-05-19 12:16:31 +02:00
parent 7e3c7c88ea
commit c18f56f7be
28 changed files with 2253 additions and 783 deletions

View file

@ -0,0 +1,21 @@
type A[X, Y] = {
type B[Z] = {
mb : X & Z
}
ma : B[Y]
}
m : A[M, N]
m : ⟨X -> M, Y -> N⟩ {
ma : B[Y]
}
m : ⟨X -> M, Y -> N⟩ {
ma : ⟨Z -> Y⟩ {
mb : X & Z
}
}

View file

@ -0,0 +1,9 @@
type A = { x : { y : A } }
type B = { y : { x : B } }
assert { x : B } <: A
assert A <: { x : B }