Esempio n. 1
0
    cons_cell_ptr_t list_next(cons_cell_ptr_t list, const std::string& msg)
    {
        object_ptr_t cdr = list->cdr();

        if(cdr->is_cons_cell())
        {
            cons_cell_ptr_t cell = boost::dynamic_pointer_cast<cons_cell>(cdr);
            return cell;
        }
        else if(cdr == nil())
            return cons_cell_ptr_t();
        else
            signal(global_env()->get_symbol("invalid-type-argument"), msg);

        assert(false);
    }
Esempio n. 2
0
 void del_global(const string& key)
 { global_env()->local_frame_.erase(key); }
Esempio n. 3
0
 void set_global(const string& key, T val)
 { global_env()->local_frame_[key] = val; }
Esempio n. 4
0
 T& get_global(const string& key)
 { return (*global_env())[key]; }
Esempio n. 5
0
 bool has_global(const string& key)
 { return global_env()->has(key); }
Esempio n. 6
0
 void Environment<T>::del_global(const std::string& key)
 { global_env()->local_frame_.erase(key); }
Esempio n. 7
0
 void Environment<T>::set_global(const std::string& key, T val)
 {
   global_env()->local_frame_[key] = val;
 }
Esempio n. 8
0
 T& Environment<T>::get_global(const std::string& key)
 { return (*global_env())[key]; }
Esempio n. 9
0
 bool Environment<T>::has_global(const std::string& key)
 { return global_env()->has(key); }