Update README.org

This commit is contained in:
EatThePooh 2025-08-01 15:48:56 +00:00 committed by GitHub
parent 4a506033a0
commit d35bd34a70
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -7,17 +7,40 @@
body {
font-family: 'Courier New', Courier, monospace;
background-color: ivory;
line-height: 1.3;
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 {
margin-left: 1em;
padding-left: 1em;
}
a:link { color: #0066CC; text-decoration: none;}
a:visited { color: #551A8B; }
a:hover { color: #004499; text-decoration: underline; }
a:active { color: #FF6600; }
a:link {
color: #2E5EAA;
text-decoration: none;
}
a:visited {
color: #663399;
}
a:hover {
color: #1a4480;
text-decoration: underline;
}
</style>
#+END_EXPORT
#+title: Grimu-R
@ -32,7 +55,7 @@ It consists primarily of the following components:
- [[#inspiration][Inspiration]]
- [[#goals][Goals]]
- [[#immediate-feedback-and-composability][Immediate feedback and composability]]
- [[#executable-build-targets][Executable build targets]]
- [[#embeddable-build-targets][Embeddable build targets]]
- [[#hassle-free-reproducible-builds][Hassle-free reproducible builds]]
- [[#reactivity-taken-seriously][Reactivity taken seriously]]
- [[#malleability][Malleability]]
@ -71,11 +94,11 @@ It consists primarily of the following components:
Grimu-R makes it easy to inject new processing steps, visualize intermediate results,
experiment and reuse previous work.
** Executable build targets
** Embeddable build targets
A live visual editor allows one to prototype, debug and execute one-off jobs comfortably.
An interactive visual editor allows one to prototype, debug and run one-off jobs comfortably.
But the work can always be distilled into an executable artifact, such as:
But the work can always be distilled into an executable artifact:
a CLI tool, an RPC server, or a web application, to be distributed as such or integrated into larger workflows.
** Hassle-free reproducible builds
@ -102,7 +125,9 @@ Real code blocks in familiar languages are prioritized from day one, leveraging
** Powerful out-of-the-box toolkit
To get you started without implementing your own components.
Get started without implementing your own components.
No code to low code to high code.
* Non-goals
Some things Grimu-R itself will not take care of, delegating them to the surrounding environment:
@ -125,6 +150,8 @@ Grimu-R aims to take the best without the worst from:
- Rigid, limited or proprietary visual programming environments
- Messy, brittle script bundles held together by spit and duct tape
- Opaque, obscure, perishable code notebooks
while being developer-first.
* Nomenclature
Grimu-R introduces some fanciful jargon to avoid the wrong technical connotations.
@ -171,7 +198,7 @@ directly in the visual editor, enabling live code changes without rebuilding the
Grimu-R projects being Nix flakes, the development tooling ("loom") is provisioned as a Nix shell.
It gives you the visual editor, the companion CLI tool and the scroll-defined execution context for spells.
It gives you the visual editor, the companion CLI tool and the execution context for spells.
** Workflow
@ -186,7 +213,7 @@ Think Unix pipes but with structured data formats like JSON lines instead of pla
** Execution environment
Scrolls used in a weave define their requirements in Nix terms.
Scrolls used in a weave have their requirements defined in Nix terms.
For example, if several scrolls need Node.js, they can all refer to the same nodejs Nix package defined in the flake.
All of that, and optionally the visual editor, is bundled into a target build ("edition").
@ -198,7 +225,7 @@ All of that, and optionally the visual editor, is bundled into a target build ("
| | CLI client + RPC server | React component |
| | Web application | |
| | | |
| Scripting languages | TypeScript/JavaScript | DuckDB SQL |
| Scripting languages | TypeScript | DuckDB SQL |
| | Bash | Python |
| | Haskell | R |
* FAQ
@ -208,8 +235,7 @@ No, but it could be.
One framework called [[https://cycle.js.org/][Cycle.js]] defines a web application as a pure dataflow mapping that has sinks wired back to sources, proxied by drivers that handle side effects.
Grimu-R can do a similar thing if you want it to, although this usage is not supported out of the box.
Grimu-R can do a similar thing if you want it to.
Or you could use any framework you like with the dataflow stuff being incidental.
** A user can execute arbitrary code on my backend? Really?