class SchemePrimitives[Addr, Abs] extends Primitives[Addr, Abs]
This is where we define Scheme primitives
- Alphabetic
- By Inheritance
- SchemePrimitives
- Primitives
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new SchemePrimitives()(implicit arg0: Address[Addr], arg1: IsSchemeLattice[Abs])
Type Members
- abstract class AssocLike extends StoreOperation
- class CarCdrOperation extends StoreOperation
-
abstract
class
MemberLike extends StoreOperation
(define (member e l) ; member, memq and memv are similar, the difference lies in the comparison function used (if (null? l) #f (if (equal? (car l) e) l (member e (cdr l)))))
- abstract class NoStoreOperation extends Primitive[Addr, Abs]
- abstract class StoreOperation extends Primitive[Addr, Abs]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to any2stringadd[SchemePrimitives[Addr, Abs]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (SchemePrimitives[Addr, Abs], B)
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to ArrowAssoc[SchemePrimitives[Addr, Abs]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val abs: IsSchemeLattice[Abs]
- def acos: (Abs) ⇒ MayFail[Abs]
-
def
all: List[Primitive[Addr, Abs]]
Bundles all the primitives together, annotated with R5RS support (v: supported, vv: supported and tested in PrimitiveTests, vx: not fully supported, x: not supported), and section in Guile manual
Bundles all the primitives together, annotated with R5RS support (v: supported, vv: supported and tested in PrimitiveTests, vx: not fully supported, x: not supported), and section in Guile manual
- Definition Classes
- SchemePrimitives → Primitives
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asin: (Abs) ⇒ MayFail[Abs]
- def atan: (Abs) ⇒ MayFail[Abs]
-
lazy val
bindings: List[(String, Addr, Abs)]
- Definition Classes
- Primitives
- def ceiling: (Abs) ⇒ MayFail[Abs]
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
- def cos: (Abs) ⇒ MayFail[Abs]
- def div: (Abs, Abs) ⇒ MayFail[Abs]
-
def
ensuring(cond: (SchemePrimitives[Addr, Abs]) ⇒ Boolean, msg: ⇒ Any): SchemePrimitives[Addr, Abs]
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to Ensuring[SchemePrimitives[Addr, Abs]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (SchemePrimitives[Addr, Abs]) ⇒ Boolean): SchemePrimitives[Addr, Abs]
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to Ensuring[SchemePrimitives[Addr, Abs]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): SchemePrimitives[Addr, Abs]
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to Ensuring[SchemePrimitives[Addr, Abs]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): SchemePrimitives[Addr, Abs]
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to Ensuring[SchemePrimitives[Addr, Abs]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def eqq: (Abs, Abs) ⇒ MayFail[Abs]
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def err(e: SemanticError): MayFail[(Abs, Set[Effect[Addr]])]
- def exactToInexact: (Abs) ⇒ MayFail[Abs]
- def floor: (Abs) ⇒ MayFail[Abs]
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to StringFormat[SchemePrimitives[Addr, Abs]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def inexactToExact: (Abs) ⇒ MayFail[Abs]
- def isBoolean: (Abs) ⇒ MayFail[Abs]
- def isChar: (Abs) ⇒ MayFail[Abs]
- def isCons: (Abs) ⇒ MayFail[Abs]
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isInteger: (Abs) ⇒ MayFail[Abs]
- def isNull: (Abs) ⇒ MayFail[Abs]
- def isReal: (Abs) ⇒ MayFail[Abs]
- def isString: (Abs) ⇒ MayFail[Abs]
- def isSymbol: (Abs) ⇒ MayFail[Abs]
- def isVector: (Abs) ⇒ MayFail[Abs]
- def log: (Abs) ⇒ MayFail[Abs]
- def lt: (Abs, Abs) ⇒ MayFail[Abs]
- val mfmon: Monoid[MayFail[(Abs, Set[Effect[Addr]])]]
- def minus: (Abs, Abs) ⇒ MayFail[Abs]
- def modulo: (Abs, Abs) ⇒ MayFail[Abs]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def not: (Abs) ⇒ MayFail[Abs]
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def numEq: (Abs, Abs) ⇒ MayFail[Abs]
- def numberToString: (Abs) ⇒ MayFail[Abs]
- def plus: (Abs, Abs) ⇒ MayFail[Abs]
- def quotient: (Abs, Abs) ⇒ MayFail[Abs]
- def random: (Abs) ⇒ MayFail[Abs]
- def remainder: (Abs, Abs) ⇒ MayFail[Abs]
- def round: (Abs) ⇒ MayFail[Abs]
- def sin: (Abs) ⇒ MayFail[Abs]
- def sqrt: (Abs) ⇒ MayFail[Abs]
- def stringAppend: (Abs, Abs) ⇒ MayFail[Abs]
- def stringLength: (Abs) ⇒ MayFail[Abs]
- def stringLt: (Abs, Abs) ⇒ MayFail[Abs]
- def stringToSymbol: (Abs) ⇒ MayFail[Abs]
- def success(v: Abs): MayFail[(Abs, Set[Effect[Addr]])]
- def symbolToString: (Abs) ⇒ MayFail[Abs]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def tan: (Abs) ⇒ MayFail[Abs]
- def times: (Abs, Abs) ⇒ MayFail[Abs]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
toVal(prim: Primitive[Addr, Abs]): Abs
- Definition Classes
- SchemePrimitives → Primitives
-
def
traced(prim: Primitive[Addr, Abs]): Primitive[Addr, Abs]
Modify a primitive to trace it: output will be printed when the primitive is called.
Modify a primitive to trace it: output will be printed when the primitive is called. This is for debugging purposes.
- Definition Classes
- Primitives
- def vectorLength: (Abs) ⇒ MayFail[Abs]
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (SchemePrimitives[Addr, Abs], B)
- Implicit
- This member is added by an implicit conversion from SchemePrimitives[Addr, Abs] to ArrowAssoc[SchemePrimitives[Addr, Abs]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- object ACos extends NoStoreOperation
- object ASin extends NoStoreOperation
- object ATan extends NoStoreOperation
-
object
Abs extends NoStoreOperation
(define (abs x) (if (< x 0) (- 0 x) x))
- object Assoc extends AssocLike
- object Assq extends AssocLike
- object BoolTop extends NoStoreOperation
- object Booleanp extends NoStoreOperation
- object Caaaar extends CarCdrOperation
- object Caaadr extends CarCdrOperation
- object Caaar extends CarCdrOperation
- object Caadar extends CarCdrOperation
- object Caaddr extends CarCdrOperation
- object Caadr extends CarCdrOperation
- object Caar extends CarCdrOperation
- object Cadaar extends CarCdrOperation
- object Cadadr extends CarCdrOperation
- object Cadar extends CarCdrOperation
- object Caddar extends CarCdrOperation
- object Cadddr extends CarCdrOperation
- object Caddr extends CarCdrOperation
- object Cadr extends CarCdrOperation
- object Car extends CarCdrOperation
- object Cdaaar extends CarCdrOperation
- object Cdaadr extends CarCdrOperation
- object Cdaar extends CarCdrOperation
- object Cdadar extends CarCdrOperation
- object Cdaddr extends CarCdrOperation
- object Cdadr extends CarCdrOperation
- object Cdar extends CarCdrOperation
- object Cddaar extends CarCdrOperation
- object Cddadr extends CarCdrOperation
- object Cddar extends CarCdrOperation
- object Cdddar extends CarCdrOperation
- object Cddddr extends CarCdrOperation
- object Cdddr extends CarCdrOperation
- object Cddr extends CarCdrOperation
- object Cdr extends CarCdrOperation
- object Ceiling extends NoStoreOperation
- object Charp extends NoStoreOperation
- object Cons extends Primitive[Addr, Abs]
- object Cos extends NoStoreOperation
- object Display extends NoStoreOperation
- object Div extends NoStoreOperation
- object Eq extends NoStoreOperation
-
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)))))))
- object Error extends NoStoreOperation
-
object
Evenp extends NoStoreOperation
(define (even? x) (= 0 (modulo x 2)))
- object ExactToInexact extends NoStoreOperation
- object Expt extends NoStoreOperation
- object Floor extends NoStoreOperation
-
object
Gcd extends NoStoreOperation
(define (gcd a b) (if (= b 0) a (gcd b (modulo a b))))
- object GreaterOrEqual extends NoStoreOperation
- object GreaterThan extends NoStoreOperation
- object InexactToExact extends NoStoreOperation
- object IntTop extends NoStoreOperation
- object Integerp extends NoStoreOperation
- object Length extends StoreOperation
- object LessOrEqual extends NoStoreOperation
- object LessThan extends NoStoreOperation
- object ListPrim extends StoreOperation
-
object
ListRef extends StoreOperation
(define (list-ref l index) (if (pair? l) (if (= index 0) (car l) (list-ref (cdr l) (- index 1))) (error "list-ref applied to a non-list")))
-
object
Listp extends StoreOperation
(define (list? l) (or (and (pair? l) (list? (cdr l))) (null? l)))
- object Log extends NoStoreOperation
- object MakeVector extends Primitive[Addr, Abs]
- object Max extends NoStoreOperation
- object Member extends MemberLike
- object Memq extends MemberLike
- object Min extends NoStoreOperation
- object Minus extends NoStoreOperation
- object Modulo extends NoStoreOperation
-
object
Negativep extends NoStoreOperation
(define (positive? x) (< 0 x))
- object Newline extends NoStoreOperation
- object Not extends NoStoreOperation
- object Nullp extends NoStoreOperation
- object NumEq extends NoStoreOperation
- object NumberToString extends NoStoreOperation
- object Numberp extends NoStoreOperation
-
object
Oddp extends NoStoreOperation
(define (odd? x) (= 1 (modulo x 2)))
- object Pairp extends NoStoreOperation
- object Plus extends NoStoreOperation
-
object
Positivep extends NoStoreOperation
(define (positive? x) (< x 0))
- object Quotient extends NoStoreOperation
- object Random extends NoStoreOperation
- object Realp extends NoStoreOperation
- object Remainder extends NoStoreOperation
- object Round extends NoStoreOperation
- object SetCar extends StoreOperation
- object SetCdr extends StoreOperation
- object Sin extends NoStoreOperation
- object Sqrt extends NoStoreOperation
- object StringAppend extends NoStoreOperation
- object StringLength extends NoStoreOperation
- object StringLt extends NoStoreOperation
- object StringToSymbol extends NoStoreOperation
- object Stringp extends NoStoreOperation
- object SymbolToString extends NoStoreOperation
- object Symbolp extends NoStoreOperation
- object Tan extends NoStoreOperation
- object Times extends NoStoreOperation
- object Vector extends Primitive[Addr, Abs]
- object VectorLength extends StoreOperation
- object VectorRef extends StoreOperation
- object VectorSet extends Primitive[Addr, Abs]
- object Vectorp extends NoStoreOperation
-
object
Zerop extends NoStoreOperation
(define (zero? x) (= x 0))