Skip to content
Snippets Groups Projects
Commit 31b540ec authored by Max New's avatar Max New
Browse files

notes on "Exploring the Design Space" and how it relates

parent fea7db8c
No related branches found
No related tags found
No related merge requests found
The related work in this paper is more important than in the last
because it's actual call-by-value stuff.
There is a difficulty though. Our result here is graduality + eta +
function casts are pure => wrapping function casts.
Exploring the Design Space of Higher-Order Casts (Siek-Garcia-Taha)
does a bit of a survey. What is wrong (or right) with it from our
perspective?
1. The eager semantics is not extensional.
The cast where (B = bool, I = int, D = dyn)
<B -> I <= D -> D><D -> D <= I -> I>(lambda x. t) |-> err
but if we eta-expand the inside, it is a value(!)
<B -> I <= D -> D>(lambda y. (<D -> D <= I -> I>(lambda x. t) y)
2. The downcast semantics is not *compositional* in that
upcasts/downcasts A -> B -> C do not factorize. Does it actually
violate the gradual guarantee? Doubtful.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment