local/global modality #28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
conceptually two distinct concepts: stack vs heap allocation, own vs borrow
let unboxed x = ...createsxwithlocalmodality; it is not allowed to leak, and can only be passed to functions whose parameters arelocalmodalityHeap allocations are
globalmodality, and can coerce tolocal, i. e. GC still needs to tracelocals, i. e. locals are also GC roots, but things that live on the stack can not be moved; we must simply trace through itunboxedvs the default but never namedboxedcontrols one concept: heap vs inline (on stack or inline in struct)for owned vs borrow the local/global lingo is a little bizarre; maybe we could use rust terminology
this interacts in an awkward way with the potential
Memory[T]type since borrowed references to aMemoryshould not be traced though but is not on the stack. reasonably easy fix is to giveMemoryits own heap