1.15 Primitive Operations
| * : (number number number ... -> number) |
Purpose: to compute the product of all of the input numbers
| + : (number number number ... -> number) |
Purpose: to compute the sum of the input numbers
| - : (number number ... -> number) |
Purpose: to subtract the second (and following) number(s) from the first; negate the number if there is only one argument
| / : (number number number ... -> number) |
Purpose: to divide the first by the second (and all following) number(s); try (/ 3 4) and (/ 3 2 2) only the first number can be zero.
| < : (real real real ... -> boolean) |
Purpose: to compare real numbers for less-than
| <= : (real real real ... -> boolean) |
Purpose: to compare real numbers for less-than or equality
| = : (number number number ... -> boolean) |
Purpose: to compare numbers for equality
| > : (real real real ... -> boolean) |
Purpose: to compare real numbers for greater-than
| >= : (real real ... -> boolean) |
Purpose: to compare real numbers for greater-than or equality
Purpose: to compute the absolute value of a real number
| acos : (number -> number) |
Purpose: to compute the arccosine (inverse of cos) of a number
| add1 : (number -> number) |
Purpose: to compute a number one larger than a given number
Purpose: to extract the angle from a complex number
| asin : (number -> number) |
Purpose: to compute the arcsine (inverse of sin) of a number
| atan : (number -> number) |
Purpose: to compute the arctan (inverse of tan) of a number
Purpose: to determine the closest integer (exact or inexact) above a real number
Purpose: to determine whether some value is complex
Purpose: to compute the conjugate of a complex number
Purpose: to compute the cosine of a number (radians)
| cosh : (number -> number) |
Purpose: to compute the hyperbolic cosine of a number
Purpose: to compute the current time in seconds elapsed (since a platform-specific starting date)
Purpose: to compute the denominator of a rational
Purpose: Euler’s number
| even? : (integer -> boolean) |
Purpose: to determine if some integer (exact or inexact) is even or not
Purpose: to convert an exact number to an inexact one
Purpose: to determine whether some number is exact
Purpose: to compute e raised to a number
| expt : (number number -> number) |
Purpose: to compute the power of the first to the second number
| floor : (real -> integer) |
Purpose: to determine the closest integer (exact or inexact) below a real number
| gcd : (integer integer ... -> integer) |
Purpose: to compute the greatest common divisior of two integers (exact or inexact)
Purpose: to extract the imaginary part from a complex number
Purpose: to approximate an inexact number by an exact one
Purpose: to determine whether some number is inexact
Purpose: to lookup the character that corresponds to the given integer (exact only!) in the ASCII table (if any)
Purpose: to compute the integer (exact or inexact) square root of a number
Purpose: to determine whether some value is an integer (exact or inexact)
| lcm : (integer integer ... -> integer) |
Purpose: to compute the least common multiple of two integers (exact or inexact)
Purpose: to compute the base-e logarithm of a number
Purpose: to determine the magnitude of a complex number
Purpose: to create a complex from a magnitude and angle
Purpose: to create a complex from a real and an imaginary part
| max : (real real ... -> real) |
Purpose: to determine the largest number
| min : (real real ... -> real) |
Purpose: to determine the smallest number
| modulo : (integer integer -> integer) |
Purpose: to find the remainder of the division of the first number by the second; try (modulo 4 3) (modulo 4 -3)
Purpose: to determine if some value is strictly smaller than zero
Purpose: to convert a number to a string
Purpose: to determine whether some value is a number
Purpose: to compute the numerator of a rational
| odd? : (integer -> boolean) |
Purpose: to determine if some integer (exact or inexact) is odd or not
Purpose: the ratio of a circle’s circumference to its diameter
Purpose: to determine if some value is strictly larger than zero
Purpose: to divide the first integer (exact or inexact) into the second; try (quotient 3 4) and (quotient 4 3)
Purpose: to generate a random natural number less than some given integer (exact only!)
Purpose: to determine whether some value is a rational number
Purpose: to extract the real part from a complex number
Purpose: to determine whether some value is a real number
Purpose: to determine the remainder of dividing the first by the second integer (exact or inexact)
| round : (real -> integer) |
Purpose: to round a real number to an integer (rounds to even to break ties)
| sgn : (real -> (union 1 1.0 0 0.0 -1 -1.0)) |
Purpose: to compute the sign of a real number
Purpose: to compute the sine of a number (radians)
| sinh : (number -> number) |
Purpose: to compute the hyperbolic sine of a number
Purpose: to compute the square of a number
| sqrt : (number -> number) |
Purpose: to compute the square root of a number
| sub1 : (number -> number) |
Purpose: to compute a number one smaller than a given number
Purpose: to compute the tangent of a number (radians)
| zero? : (number -> boolean) |
Purpose: to determine if some value is zero or not
Purpose: to determine whether two booleans are equal
Purpose: to determine whether some value is a boolean
Purpose: to determine whether a value is false
| not : (boolean -> boolean) |
Purpose: to compute the negation of a boolean value
Purpose: to convert a symbol to a string
Purpose: to determine whether two symbols are equal
Purpose: to determine whether some value is a symbol
| append : | | ((listof any) | | (listof any) | | (listof any) | | ... | | -> | | (listof any)) |
|
|
Purpose: to create a single list from several, by juxtaposition of the items
| assq : | | (X | | (listof (cons X Y)) | | -> | | (union false (cons X Y))) |
|
|
Purpose: to determine whether some item is the first item of a pair in a list of pairs
| caaar : | | ((cons | | (cons (cons W (listof Z)) (listof Y)) | | (listof X)) | | -> | | W) |
|
|
Purpose: to select the first item of the first list in the first list of a list
| caadr : | | ((cons | | (cons (cons W (listof Z)) (listof Y)) | | (listof X)) | | -> | | (listof Z)) |
|
|
Purpose: to select the rest of the first list in the first list of a list
| caar : ((cons (cons Z (listof Y)) (listof X)) -> Z) |
Purpose: to select the first item of the first list in a list
| cadar : | | ((cons (cons W (cons Z (listof Y))) (listof X)) | | -> | | Z) |
|
|
Purpose: to select the second item of the first list of a list
Purpose: to select the fourth item of a non-empty list
| caddr : ((cons W (cons Z (cons Y (listof X)))) -> Y) |
Purpose: to select the third item of a non-empty list
| cadr : ((cons Z (cons Y (listof X))) -> Y) |
Purpose: to select the second item of a non-empty list
| car : ((cons Y (listof X)) -> Y) |
Purpose: to select the first item of a non-empty list
| cdaar : | | ((cons | | (cons (cons W (listof Z)) (listof Y)) | | (listof X)) | | -> | | (listof Z)) |
|
|
Purpose: to select the rest of the first list in the first list of a list
| cdadr : | | ((cons W (cons (cons Z (listof Y)) (listof X))) | | -> | | (listof Y)) |
|
|
Purpose: to select the rest of the first list in the rest of a list
| cdar : | | ((cons (cons Z (listof Y)) (listof X)) | | -> | | (listof Y)) |
|
|
Purpose: to select the rest of a non-empty list in a list
| cddar : | | ((cons (cons W (cons Z (listof Y))) (listof X)) | | -> | | (listof Y)) |
|
|
Purpose: to select the rest of the rest of the first list of a list
| cdddr : | | ((cons W (cons Z (cons Y (listof X)))) | | -> | | (listof X)) |
|
|
Purpose: to select the rest of the rest of the rest of a list
| cddr : ((cons Z (cons Y (listof X))) -> (listof X)) |
Purpose: to select the rest of the rest of a list
| cdr : ((cons Y (listof X)) -> (listof X)) |
Purpose: to select the rest of a non-empty list
| cons : (X (listof X) -> (listof X)) |
Purpose: to construct a list
Purpose: to determine whether some value is a constructed list
Purpose: to select the eighth item of a non-empty list
Purpose: to determine whether some value is the empty list
| fifth : ((listof Y) -> Y) |
Purpose: to select the fifth item of a non-empty list
| first : ((cons Y (listof X)) -> Y) |
Purpose: to select the first item of a non-empty list
Purpose: to select the fourth item of a non-empty list
| length : ((listof any) -> number) |
Purpose: to compute the number of items on a list
| list : (any ... -> (listof any)) |
Purpose: to construct a list of its arguments
| list* : (any ... (listof any) -> (listof any)) |
Purpose: to construct a list by adding multiple items to a list
| list-ref : ((listof X) natural-number -> X) |
Purpose: to extract the indexed item from the list
| make-list : (natural-number any -> (listof any)) |
Purpose: (make-list k x) constructs a list of k copies of x
| member : (any (listof any) -> boolean) |
Purpose: to determine whether some value is on the list (comparing values with equal?)
| memq : (any (listof any) -> (union false list)) |
Purpose: to determine whether some value is on some list (comparing values with eq?)
| memv : (any (listof any) -> (union false list)) |
Purpose: to determine whether some value is on the list (comparing values with eqv?)
Purpose: the empty list
Purpose: to determine whether some value is the empty list
Purpose: to determine whether some value is a constructed list
| remove : (any (listof any) -> (listof any)) |
Purpose: to construct a list like the given one with the first occurrence of the given item removed (comparing values with equal?)
| rest : ((cons Y (listof X)) -> (listof X)) |
Purpose: to select the rest of a non-empty list
Purpose: to create a reversed version of a list
| second : ((cons Z (cons Y (listof X))) -> Y) |
Purpose: to select the second item of a non-empty list
Purpose: to select the seventh item of a non-empty list
| sixth : ((listof Y) -> Y) |
Purpose: to select the sixth item of a non-empty list
| third : ((cons W (cons Z (cons Y (listof X)))) -> Y) |
Purpose: to select the third item of a non-empty list
Purpose: to construct a posn
Purpose: to extract the x component of a posn
Purpose: to extract the y component of a posn
| posn? : (anything -> boolean) |
Purpose: to determine if its input is a posn
Purpose: to lookup the number that corresponds to the given character in the ASCII table (if any)
Purpose: to determine whether a character represents an alphabetic character
Purpose: to determine whether a character precedes another (or is equal to it) in a case-insensitive manner
Purpose: to determine whether a character precedes another in a case-insensitive manner
Purpose: to determine whether two characters are equal in a case-insensitive manner
Purpose: to determine whether a character succeeds another (or is equal to it) in a case-insensitive manner
Purpose: to determine whether a character succeeds another in a case-insensitive manner
Purpose: to determine the equivalent lower-case character
Purpose: to determine whether a character is a lower-case character
Purpose: to determine whether a character represents a digit
Purpose: to determine the equivalent upper-case character
Purpose: to determine whether a character is an upper-case character
Purpose: to determine whether a character represents space
| char<=? : (char char char ... -> boolean) |
Purpose: to determine whether a character precedes another (or is equal to it)
| char<? : (char char char ... -> boolean) |
Purpose: to determine whether a character precedes another
| char=? : (char char char ... -> boolean) |
Purpose: to determine whether two characters are equal
| char>=? : (char char char ... -> boolean) |
Purpose: to determine whether a character succeeds another (or is equal to it)
| char>? : (char char char ... -> boolean) |
Purpose: to determine whether a character succeeds another
Purpose: to determine whether a value is a character
| explode : (string -> (listof string)) |
Purpose: to translate a string into a list of 1-letter strings
| format : (string any ... -> string) |
Purpose: to format a string, possibly embedding values
| implode : ((listof string) -> string) |
Purpose: to concatenate the list of 1-letter strings into one string
Purpose: to convert an integer in [0,55295] or [57344 1114111] to a 1-letter string
Purpose: to convert a s list of characters into a string
Purpose: to produce a string of given length from a single given character
Purpose: to replicate the given string
Purpose: (string c1 c2 ...) builds a string
Purpose: to convert a 1-letter string to an integer in [0,55295] or [57344, 1114111]
Purpose: to convert a string into a list of characters
Purpose: to convert a string into a number, produce false if impossible
Purpose: to convert a string into a symbol
Purpose: to determine whether all ’letters’ in the string are alphabetic
Purpose: to juxtapose the characters of several strings
Purpose: to determine whether one string alphabetically precedes another (or is equal to it) in a case-insensitive manner
Purpose: to determine whether one string alphabetically precedes another in a case-insensitive manner
Purpose: to compare two strings character-wise in a case-insensitive manner
Purpose: to determine whether one string alphabetically succeeds another (or is equal to it) in a case-insensitive manner
Purpose: to determine whether one string alphabetically succeeds another in a case-insensitive manner
Purpose: to copy a string
Purpose: to extract the ith 1-letter substring from the given one
Purpose: to determine the length of a string
Purpose: to determine whether all ’letters’ in the string are lower case
Purpose: to determine whether all ’letters’ in the string are numeric
Purpose: to extract the i-the character from a string
Purpose: to determine whether all ’letters’ in the string are upper case
Purpose: to determine whether all ’letters’ in the string are white space
| string<=? : (string string string ... -> boolean) |
Purpose: to determine whether one string alphabetically precedes another (or is equal to it)
| string<? : (string string string ... -> boolean) |
Purpose: to determine whether one string alphabetically precedes another
| string=? : (string string string ... -> boolean) |
Purpose: to compare two strings character-wise
| string>=? : (string string string ... -> boolean) |
Purpose: to determine whether one string alphabetically succeeds another (or is equal to it)
| string>? : (string string string ... -> boolean) |
Purpose: to determine whether one string alphabetically succeeds another
Purpose: to determine whether a value is a string
Purpose: to extract the substring starting at a 0-based index up to the second 0-based index (exclusive)
Purpose: to determine whether two images are equal
Purpose: to determine whether a value is an image
| =~ : (real real non-negative-real -> boolean) |
Purpose: to check whether two real numbers are within some amount (the third argument) of either other
Purpose: the end-of-file value
Purpose: to determine whether some value is the end-of-file value
| eq? : (any any -> boolean) |
Purpose: to compare two values
Purpose: to determine whether two values are structurally equal
| equal~? : (any any non-negative-real -> boolean) |
Purpose: to compare like equal? on the first two arguments, except using =~ in the case of real numbers
| eqv? : (any any -> boolean) |
Purpose: to compare two values
| error : (symbol string -> void) |
Purpose: to signal an error
Purpose: to exit the running program
Purpose: to return the argument unchanged
Purpose: to determine whether some value is a structure