;;; $Id: ch6-2-direct-denoted-value.def,v 1.1 1998/11/14 06:18:38 leavens Exp $

trustme!  ;; shouldn't need this but loaded stuff isn't counted...

(defrep Denoted-Value datum)

(deftype make-cell (-> (Storable-Value) Denoted-Value))
(deftype cell-ref (-> (Denoted-Value) Storable-Value))
(deftype cell-set! (-> (Denoted-Value Storable-Value) void))
(deftype cell-swap! (-> (Denoted-Value Denoted-Value) void))

(deftype array->denoted (-> ((Array Storable-Value)) Denoted-Value))
(deftype denoted->array (-> (Denoted-Value) (Array Storable-Value)))

(deftype ae? (-> (Denoted-Value) boolean))
(deftype make-ae (-> ((Array Storable-Value) number) Denoted-Value))
(deftype ae->array (-> (Denoted-Value) (Array Storable-Value)))
(deftype ae->index (-> (Denoted-Value) number))

