mirror of
https://github.com/urbit/ares.git
synced 2024-11-22 15:08:54 +03:00
[status] initial agenda ~2023.4.19
This commit is contained in:
parent
82ecdfd3dc
commit
742e69cbca
39
docs/status/20230419.md
Normal file
39
docs/status/20230419.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Ares Status Call ~2023.4.19
|
||||||
|
|
||||||
|
**Executive Summary:** Primary work is on Nock code generation. A new approach
|
||||||
|
is being implemented which reverses the order of the linearization and subject
|
||||||
|
knowledge analysis. This solves both a "TMI" problem which led to infinite loops
|
||||||
|
on recursive arms with list-structured accumulators, and the "initialization"
|
||||||
|
problem: which parts of a core do we initialize SKA with at entry points?
|
||||||
|
|
||||||
|
## Codegen status
|
||||||
|
|
||||||
|
The previous approach to code generation encountered two problems. The first
|
||||||
|
was the "initialiation problem" where the performance of the analysis was
|
||||||
|
dependent on proper masking of subject knowledge at the entry point.
|
||||||
|
Such masking required complex additional analysis to properly mask the
|
||||||
|
subject and produce partial knowledge which would still match for future
|
||||||
|
executions.
|
||||||
|
|
||||||
|
The second problem was a "TMI" or "too much information" problem: analysis of
|
||||||
|
recursive functions with accumulators could continuously accumulate new cells
|
||||||
|
and thus change the input subject knowledge for each recursive iteration,
|
||||||
|
leading to non-termination of the analysis.
|
||||||
|
|
||||||
|
Our new approach begins with the linearization and registerization step, and
|
||||||
|
interleaves subject knowledge analysis to discover directly-invoked formulas.
|
||||||
|
The usage information from the linearization pass is annotated for registers
|
||||||
|
for values used as formulas. This permits us to discover which parts of the
|
||||||
|
entry subject are used as formulas, and use only those components as keys
|
||||||
|
for re-use of generated code.
|
||||||
|
|
||||||
|
## PMA status
|
||||||
|
|
||||||
|
Nothing to report, awaiting contributions.
|
||||||
|
|
||||||
|
## Other updates
|
||||||
|
|
||||||
|
There is an extant PR against the 2stackz arena from Auri at Chorus One. If
|
||||||
|
anyone can put me (Edward) in touch with him, please do.
|
||||||
|
|
||||||
|
## Questions
|
Loading…
Reference in New Issue
Block a user