Skip to content

Interactive eval #1351

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

Interactive eval #1351

wants to merge 10 commits into from

Conversation

georgefst
Copy link
Contributor

No description provided.

@dhess dhess marked this pull request as draft May 21, 2025 19:20
@georgefst georgefst force-pushed the georgefst/eval-mode branch from 37ea7ef to 3dbc461 Compare May 22, 2025 19:42
georgefst added 10 commits May 23, 2025 17:03
Signed-off-by: George Thomas <[email protected]>
will allow other uses and extra constructors

Signed-off-by: George Thomas <[email protected]>
unused for now...

Signed-off-by: George Thomas <[email protected]>
separate draft PR as optional WIP follow-up to the other mobile tweaks?
this is nice, esp. on mobile, but we should really separate the notions of "eval takes up whole app" and "app is actually fullscreen"
and for the latter we should also handle browser events, i.e. that the user can exit fullscreen without using Primer UI (e.g. Esc key in Firefox)

JSaddle code needs clean up - error handling, not using `eval` etc.
implementation is also slightly messy at call site

ideally, mobile browsers would just have a generic option for this, like pressing f11 on desktop... Opera Mini has this but it's clunky

Signed-off-by: George Thomas <[email protected]>
Signed-off-by: George Thomas <[email protected]>
hmm, maybe this doesn't really fit with original philosophy for this module, which is that everything is upstreamable somewhere...

Signed-off-by: George Thomas <[email protected]>
still need to improve comment on `history ::`

note that we no longer show the timeout error
new UX kind of assumes timing out is fine and normal
plus it's obvious whether an expression has finished eval by whether there are redexes highlighted (at least for small expressions)
and anyway, the old `"No selection for eval"` message was never actually shown, since we mistakenly didn't show the `error` field when `expr` was `Nothing`.
we still show `"No definition selected for evaluation"` now, so nothing has been lost with this change

UX a bit weird for now...
requires further thought
e.g. changing an eval opt resets the interactive-eval state, i.e. back to fulleval output

explain setting of `stepLimit = 0`

Signed-off-by: George Thomas <[email protected]>
Signed-off-by: George Thomas <[email protected]>
@georgefst georgefst force-pushed the georgefst/eval-mode branch from 3dbc461 to c83de10 Compare May 29, 2025 14:17
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.

1 participant