Class EvalEnvs.MutablePatSubEvalEnv

All Implemented Interfaces:
EvalEnv, MutableEvalEnv
Enclosing class:
EvalEnvs

static class EvalEnvs.MutablePatSubEvalEnv extends EvalEnvs.PatSubEvalEnv implements MutableEvalEnv
Evaluation environment that binds several slots based on a pattern.
  • Field Details

    • slot

      private int slot
  • Constructor Details

  • Method Details

    • fix

      public EvalEnv fix()
      Description copied from interface: EvalEnv
      Converts this environment to a non-mutable environment.
      Specified by:
      fix in interface EvalEnv
    • set

      public void set(Object value)
      Description copied from interface: MutableEvalEnv
      Puts a value into this environment.
      Specified by:
      set in interface MutableEvalEnv
    • setOpt

      public boolean setOpt(Object value)
      Description copied from interface: MutableEvalEnv
      Puts a value into this environment in a way that may not succeed.

      For example, if this environment is based on the pattern (x, 2) then (1, 2) will succeed and will bind x to 1, but (3, 4) will fail.

      The default implementation calls MutableEvalEnv.set(java.lang.Object) and always succeeds.

      Specified by:
      setOpt in interface MutableEvalEnv
    • bindRecurse

      boolean bindRecurse(Core.Pat pat, Object argValue)