Skip to content
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

RFC: ways to assign more concrete live feedback to more edit states #1438

Open
disconcision opened this issue Dec 12, 2024 · 0 comments
Open

Comments

@disconcision
Copy link
Member

thinking through options for reasonably assigning 'more concrete' ie less partially evaluated live intermediate values for probe projectors.

to be clear i don't view this as an unalloyed good, i think that partial evaluations are sometimes what you want, i just think a more liberal evaluation path is probably also useful.

ideas:

  1. (have a mode) where the user needs to click 'run' before probe update
  2. don't run on each edit, only when certain criteria are met. e.g. gate on certain kinds of (incomplete or marked) edit states, or at least delay evaluation of certain kinds of edit states
  3. keep around (some) previous evaluation states, and use these previous states to show live values according to some policy designed to balance latency and interpretability. e.g. probes show the last values when their expression was evaluated, even if it wasn't evaluated in the last run
  4. more liberal 'error correcting parsing' hacks. this is the one i'm thinking about rn. This could mean: assigning multiholes (some approximation of) semicolon semantics, so eg l >< let x = 1 in x (ie what you get if you start to type a let on a line above an existing let) gets ran as l; let x = 1 in x => let x = 1 in x. Another option is that a >INFIX< b gets interpreted as a if b is in a stuck state, so e.g. let foo = 1 in 3 + 2 * fo| gets run as let foo = 1 in 3 + 2
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

No branches or pull requests

1 participant