chore: rename executor -> evaluator and integrate into app

This commit is contained in:
multisn8 2024-01-21 03:22:46 +01:00
parent de9ca81b65
commit 3c529c3a1a
Signed by: multisamplednight
GPG key ID: 6D525AA147CBDAE2
16 changed files with 229 additions and 115 deletions

View file

@ -7,7 +7,7 @@
subtitle: [don't worry, we're just dreaming],
)
= Evaluation stages
= Processing stages
#graphics.stages-overview
@ -18,7 +18,7 @@ This has a number of benefits and implications:
- Bugs are easier to trace down to one stage.
- Stages are also replacable, pluggable and usable somewhere else.
- For example,
one could write a Just-In-Time compiler as a new executor to replace the runtime stage,
one could write a Just-In-Time compiler as a new evaluator to replace the runtime stage,
while preserving the source #arrow() graph IR step.
However, this also makes the architecture somewhat more complicated. So here we try our best to describe how each stage looks like. If you have any feedback, feel free to drop it on #link("https://forge.katzen.cafe/katzen-cafe/iowo/issues")[the issues in the repository]!
@ -155,12 +155,12 @@ Runs through all functions in the graph IR.
It does not have any significantly other representation,
and despite its name there's _no_ bytecode involved.
Different runtimes are called executors.
Executors operate on instructions instead of functions.
Different runtimes are called evaluators.
Evaluators operate on instructions instead of functions.
=== Scheduler
Looks at the graph IR and decides when the VM should execute what.
Looks at the graph IR and decides when the VM should evaluate what.
=== VM <vm>