87 lines
2.4 KiB
Org Mode
87 lines
2.4 KiB
Org Mode
:PROPERTIES:
|
|
:ID: 00790dad-7881-4252-8951-23f770e3f070
|
|
:END:
|
|
#+BEGIN_EXPORT html
|
|
<style>
|
|
body {
|
|
font-family: 'Courier New', Courier, monospace;
|
|
background-color: ivory;
|
|
line-height: 1.5;
|
|
padding-right: 1em;
|
|
}
|
|
|
|
h2 {
|
|
margin-top: 1.8rem;
|
|
padding-left: 0.5rem;
|
|
border-left: 4px solid #3498db;
|
|
}
|
|
|
|
|
|
table {
|
|
width: 100%;
|
|
}
|
|
|
|
#content {
|
|
max-width: 48em;
|
|
}
|
|
|
|
.outline-2 div {
|
|
padding-left: 1em;
|
|
}
|
|
|
|
a:link {
|
|
color: #2E5EAA;
|
|
text-decoration: none;
|
|
}
|
|
a:visited {
|
|
color: #663399;
|
|
}
|
|
a:hover {
|
|
color: #1a4480;
|
|
text-decoration: underline;
|
|
}
|
|
</style>
|
|
#+END_EXPORT
|
|
#+title: Grimu-R vocabulary
|
|
|
|
** Weave
|
|
Defines a collection of ornaments.
|
|
** Ornament
|
|
Has reactive inputs and outputs.
|
|
Serves as an externally invocable entry point.
|
|
Contains spells or nested ornament instances connected by stitches.
|
|
Can be distributed within an edition.
|
|
** Spell
|
|
Has reactive inputs and outputs.
|
|
Atomic execution unit.
|
|
Cannot be directly invoked by an edition consumer.
|
|
May have an inscription.
|
|
Created from a scroll and executed in the shelf environment.
|
|
** Stitch
|
|
Connects a reactive input to a compatible reactive output.
|
|
Can be decorated on both upstream and downstream ends.
|
|
May be parameterized by a reactive input, consuming variable assignments for the decoration.
|
|
** Stitch decorator
|
|
Defines reactive behavior.
|
|
May refer to variables defined by the reactive input.
|
|
** Inscription
|
|
Defines code in a scripting language to be run when the corresponding spell is executed.
|
|
May be defined statically in the weave or considered a reactive input.
|
|
** Scroll
|
|
Defines source code, its build dependencies and runtime environment.
|
|
Provides a default spell configuration.
|
|
Provides default upstream/downstream stitch decorators for outputs/inputs respectively.
|
|
Declares runtime compatibility (browser-only, non-browser, or universal).
|
|
** Shelf
|
|
Contains a collection of scrolls.
|
|
Provisions a shared runtime environment for spells based on these scrolls.
|
|
** Edition
|
|
Represents (a part of) the weave as a grimoire, a servitor, or a consistent collection of these.
|
|
** Grimoire
|
|
Presents a subweave as a program with human-facing interface.
|
|
Uses bridge spells to communicate with servitor-side ornaments within the same edition.
|
|
Has a dedicated interface ornament (entry point).
|
|
** Servitor
|
|
Presents a subweave as a local/remote daemon's/server's endpoints/methods.
|
|
** Loom
|
|
Provisions tools for interactive or programmatic weaving.
|