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

Call-by-value #78

Closed
7 tasks done
rolyp opened this issue Feb 21, 2019 · 0 comments
Closed
7 tasks done

Call-by-value #78

rolyp opened this issue Feb 21, 2019 · 0 comments

Comments

@rolyp
Copy link
Collaborator

rolyp commented Feb 21, 2019

Drop "demand-indexed" evaluation; too much of a distraction and not directly relevant to what we want to do. Closely related to backwards slicing, but not equivalent in that it doesn't automatically compute slices of functions.

We will retain tries-with-variable-binding as a nice approach to pattern matching, but will no longer need "top" tries, which are a not-entirely-straightforward special case at the moment (see #74).

  • delete Top tries and argument tries
  • new eval_; drop EnvEntry, evalArgs
  • EvalKey, Result and Results no longer required
  • letrec can only define recursive functions, not values; revisit closeDefs
  • lookup which returns an environment
  • inline PrimOp.invoke and delete demands of primitive ops
  • do I still need merge/LVar semantics? -- no
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant