and live as long as the last task referencing them within a given domain. When
unreferenced, they are destroyed immediately (due to reference-counting) and
returned to the heap memory allocator. Destruction of an immutable box also
-executes within the context of task that drops the last reference to a shared
-heap allocation, so executing a long-running destructor does not interrupt
-execution of other tasks.
+executes within the context of the task that drops the last reference to a
+shared heap allocation, so executing a long-running destructor does not
+interrupt execution of other tasks.
@node Ref.Mem.Own
disabled dynamically at run-time on a per-task and per-item
basis. @xref{Ref.Run.Log}.
-Executing a @code{log} statement not considered an @code{io} effect in the
+Executing a @code{log} statement is not considered an @code{io} effect in the
effect system. In other words, a pure function remains pure even if it
contains a log statement.
A value that is marked by a @code{note} statement is @emph{not} copied aside
when control passes through the @code{note}. In other words, if a @code{note}
-statement notes a particular @var{lval}, and code after the @code{note} that
-slot, and then a subsequent failure occurs, the @emph{mutated} value will be
-logged during unwinding, @emph{not} the original value that was denoted by the
-@var{lval} at the moment control passed through the @code{note} statement.
+statement notes a particular @var{lval}, and code after the @code{note}
+mutates that slot, and then a subsequent failure occurs, the @emph{mutated}
+value will be logged during unwinding, @emph{not} the original value that was
+denoted by the @var{lval} at the moment control passed through the @code{note}
+statement.
@node Ref.Stmt.While
@subsection Ref.Stmt.While
ever-more constraints (is_resolved(ast), is_typechecked(ast), etc.)
- Trans should be organized as pure and value-producing code, not imperatively
- emitting quads into emitters. LLVM will enforce this anwyays. See what
+ emitting quads into emitters. LLVM will enforce this anyways. See what
happened in lltrans.ml if you're curious what it'll look (more) like.
- The PIC scheme will have to change, hopefully get much easier.