Skip to content

Documentation#130

Merged
josephbirkner merged 5 commits intomainfrom
documentation
Dec 9, 2025
Merged

Documentation#130
josephbirkner merged 5 commits intomainfrom
documentation

Conversation

@josephbirkner
Copy link
Collaborator

@josephbirkner josephbirkner commented Dec 4, 2025

This PR introduces major new developer/architecture documentation.

Note: The mermaid diagrams also render natively in Github.


Note

Adds a comprehensive Developer Guide and relocates/refreshes the Language Guide under docs/, updating README links and anchors.

  • Documentation:
    • New Developer Guide (docs/simfil-dev-guide.md): Architecture overview, storage model, parser/evaluator pipeline, environment/extensibility, completion; includes mermaid diagrams.
    • Language Guide (docs/simfil-language.md): Consolidates basics/operators/functions with minor wording tweaks and include markers; preserves examples and precedence tables.
    • README: Points to the new Developer Guide; updates Language Guide links and anchors in examples.

Written by Cursor Bugbot for commit 4c520fe. This will update automatically on new commits. Configure here.


### Control flow and short-circuiting

Control-flow operators are implemented carefully to preserve simfil’s “truthy but value‑preserving” semantics. `AnyExpr` and `EachExpr` aggregate over a list of argument expressions; they rely on the `boolify` helper, which converts a `Value` to a boolean with the usual rules but treats `undef` as false. `AnyExpr` stops evaluation as soon as one argument evaluates to true and reports either `undef` (if no conclusive value was seen) or a boolean summarising the result. `EachExpr` behaves symmetrically: it halts on the first false argument and only returns true if all arguments evaluate to true and none to `undef`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this paragraph – too detailed.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 9, 2025

@johannes-wolf johannes-wolf self-requested a review December 9, 2025 14:01
Copy link
Collaborator

@johannes-wolf johannes-wolf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :).

@johannes-wolf johannes-wolf self-requested a review December 9, 2025 14:02
@josephbirkner josephbirkner merged commit b2dd48a into main Dec 9, 2025
2 checks passed
@josephbirkner josephbirkner deleted the documentation branch December 9, 2025 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants