object Equal extends StoreOperation
(define (equal? a b) (or (eq? a b) (and (null? a) (null? b)) (and (pair? a) (pair? b) (equal? (car a) (car b)) (equal? (cdr a) (cdr b))) (and (vector? a) (vector? b) (let ((n (vector-length a))) (and (= (vector-length b) n) (letrec ((loop (lambda (i) (or (= i n) (and (equal? (vector-ref a i) (vector-ref b i)) (loop (+ i 1))))))) (loop 0)))))))
- Alphabetic
- By Inheritance
- Equal
- StoreOperation
- Primitive
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
def
call(a: Abs, b: Abs, store: Store[Addr, Abs]): MayFail[(Abs, Store[Addr, Abs], Set[Effect[Addr]])]
- Definition Classes
- Equal → StoreOperation
-
def
call[Exp, Time](fexp: Exp, args: List[(Exp, Abs)], store: Store[Addr, Abs], t: Time)(implicit arg0: Expression[Exp], arg1: Timestamp[Time]): MayFail[(Abs, Store[Addr, Abs], Set[Effect[Addr]])]
Calls the primitive.
Calls the primitive.
- returns
either an error, or the value returned by the primitive along with the updated store
- Definition Classes
- StoreOperation → Primitive
-
def
call(store: Store[Addr, Abs]): MayFail[(Abs, Store[Addr, Abs], Set[Effect[Addr]])]
- Definition Classes
- StoreOperation
-
def
call[Exp](fexp: Exp, arg: (Exp, Abs), store: Store[Addr, Abs])(implicit arg0: Expression[Exp]): MayFail[(Abs, Store[Addr, Abs], Set[Effect[Addr]])]
- Definition Classes
- StoreOperation
-
def
call[Exp](fexp: Exp, arg1: (Exp, Abs), arg2: (Exp, Abs), store: Store[Addr, Abs])(implicit arg0: Expression[Exp]): MayFail[(Abs, Store[Addr, Abs], Set[Effect[Addr]])]
- Definition Classes
- StoreOperation
-
def
call(arg: Abs, store: Store[Addr, Abs]): MayFail[(Abs, Store[Addr, Abs], Set[Effect[Addr]])]
- Definition Classes
- StoreOperation
-
def
call(args: List[Abs], store: Store[Addr, Abs]): MayFail[(Abs, Store[Addr, Abs], Set[Effect[Addr]])]
- Definition Classes
- StoreOperation
-
val
name: String
The name of the primitive
The name of the primitive
- Definition Classes
- StoreOperation → Primitive
-
val
nargs: Option[Int]
- Definition Classes
- StoreOperation