#ifndef SUBRANGE_H
#define SUBRANGE_H
#pragma interface

#include "value.h"
#include "List.h"
#include <String.h>


class Subrange {
  friend class Value;
  friend class Val_List;
  friend class Frame;
 protected:
  Value* original;
  int length;
  Val_List *sublist;
 public:
  /** must range-check externally **/
  Subrange (Value* instr , int begin , int end);
  ~Subrange ();
  Value* copy_full_val();
  Val_List* copy_full_list();
  int get_length();
  Value* nth (int i);
};



#endif  /* SUBRANGE_H */