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

Internal procedures are not directly exposed to interpreter environment #21

Closed
justinethier opened this issue Apr 6, 2011 · 2 comments
Assignees
Milestone

Comments

@justinethier
Copy link
Owner

Procedures that are built into the evaluator are not directly exposed. For example, in bigloo the apply function can be referenced directly:

1:=> apply
#<procedure:295740.-3>
1:=> (procedure? apply)
#t

On husk this currently results in an error:

huski> apply
Getting an unbound variable: apply
huski> (procedure? apply)
Getting an unbound variable: apply

Many functions are affected, including:

  • apply
  • call-with-current-continuation
  • call/cc (which should be part of stdlib with this change)
  • others?
@ghost ghost assigned justinethier Apr 11, 2011
@justinethier
Copy link
Owner Author

Moved the following functions out of eval:

                ("apply", evalfuncApply)
              , ("call-with-current-continuation", evalfuncCallCC)
              , ("call-with-values", evalfuncCallWValues)
              , ("eval", evalfuncEval)
              , ("load", evalfuncLoad)

Unfortunately it is much more difficult to move set! style functions out of eval, due to the fact that these functions need unevaluated symbols in order to get/set a variable.

@justinethier
Copy link
Owner Author

Moved some set! based functions into stdlib as macros, however the rest of these functions (6 total) will have to remain for now.

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