
#ifndef _Func_h_INCLUDED
#define _Func_h_INCLUDED

// Also known as lexical closure

#include "Obj.h"
#include "Program.h"
#include "Frame.h"

class Func : public Obj {

  public:

    Func (Program *_prog, Frame *_env) : Obj(FuncType) { prog = _prog; env = _env; }
    Program *Prog (void) { return prog; }
    Frame *Env (void) { return env; }
	  
  private:

    Program *prog;
    Frame *env;
};


#endif
