3.8 Primitive Operationen
* : (number number number ... -> number) |
Produkt berechnen
+ : (number number number ... -> number) |
Summe berechnen
- : (number number ... -> number) |
bei mehr als einem Argument Differenz zwischen der ersten und der Summe aller weiteren Argumente berechnen; bei einem Argument Zahl negieren
/ : (number number number ... -> number) |
das erste Argument durch das Produkt aller weiteren Argumente berechnen
< : (real real real ... -> boolean) |
Zahlen auf kleiner-als testen
<= : (real real real ... -> boolean) |
Zahlen auf kleiner-gleich testen
= : (number number number ... -> boolean) |
Zahlen auf Gleichheit testen
> : (real real real ... -> boolean) |
Zahlen auf größer-als testen
>= : (real real real ... -> boolean) |
Zahlen auf größer-gleich testen
abs : (real -> real) |
Absolutwert berechnen
acos : (number -> number) |
Arcuscosinus berechnen (in Radian)
angle : (number -> real) |
Winkel einer komplexen Zahl berechnen
asin : (number -> number) |
Arcussinus berechnen (in Radian)
atan : (number -> number) |
Arcustangens berechnen (in Radian)
ceiling : (real -> integer) |
nächste ganze Zahl oberhalb einer rellen Zahlen berechnen
complex? : (any -> boolean) |
feststellen, ob ein Wert eine komplexe Zahl ist
cos : (number -> number) |
Cosinus berechnen (Argument in Radian)
current-seconds : (-> natural) |
aktuelle Zeit in Sekunden seit einem unspezifizierten Startzeitpunkt berechnen
denominator : (rational -> natural) |
Nenner eines Bruchs berechnen
even? : (integer -> boolean) |
feststellen, ob eine Zahl gerade ist
exact->inexact : (number -> number) |
eine Zahl durch eine inexakte Zahl annähern
exact? : (number -> boolean) |
feststellen, ob eine Zahl exakt ist
exp : (number -> number) |
Exponentialfunktion berechnen (e hoch Argument)
expt : (number number -> number) |
Potenz berechnen (erstes Argument hoch zweites Argument)
floor : (real -> integer) |
nächste ganze Zahl unterhalb einer rellen Zahlen berechnen
gcd : (integer integer ... -> natural) |
größten gemeinsamen Teiler berechnen
imag-part : (number -> real) |
imaginären Anteil einer komplexen Zahl extrahieren
inexact->exact : (number -> number) |
eine Zahl durch eine exakte Zahl annähern
inexact? : (number -> boolean) |
feststellen, ob eine Zahl inexakt ist
integer? : (any -> boolean) |
feststellen, ob ein Wert eine ganze Zahl ist
lcm : (integer integer ... -> natural) |
kleinstes gemeinsames Vielfaches berechnen
log : (number -> number) |
natürlichen Logarithmus (Basis e) berechnen
magnitude : (number -> real) |
Abstand zum Ursprung einer komplexen Zahl berechnen
make-polar : (real real -> number) |
komplexe Zahl aus Abstand zum Ursprung und Winkel berechnen
max : (real real ... -> real) |
Maximum berechnen
min : (real real ... -> real) |
Minimum berechnen
modulo : (integer integer -> integer) |
Divisionsmodulo berechnen
natural? : (any -> boolean) |
feststellen, ob ein Wert eine natürliche Zahl (inkl. 0) ist
negative? : (number -> boolean) |
feststellen, ob eine Zahl negativ ist
number->string : (number -> string) |
Zahl in Zeichenkette umwandeln
number? : (any -> boolean) |
feststellen, ob ein Wert eine Zahl ist
numerator : (rational -> integer) |
Zähler eines Bruchs berechnen
odd? : (integer -> boolean) |
feststellen, ob eine Zahl ungerade ist
positive? : (number -> boolean) |
feststellen, ob eine Zahl positiv ist
quotient : (integer integer -> integer) |
ganzzahlig dividieren
random : (natural -> natural) |
eine natürliche Zufallszahl berechnen, die kleiner als das Argument ist
rational? : (any -> boolean) |
feststellen, ob eine Zahl rational ist
real-part : (number -> real) |
reellen Anteil einer komplexen Zahl extrahieren
real? : (any -> boolean) |
feststellen, ob ein Wert eine reelle Zahl ist
remainder : (integer integer -> integer) |
Divisionsrest berechnen
round : (real -> integer) |
relle Zahl auf eine ganze Zahl runden
sin : (number -> number) |
Sinus berechnen (Argument in Radian)
sqrt : (number -> number) |
Quadratwurzel berechnen
string->number : (string -> (mixed number false)) |
Zeichenkette in Zahl umwandeln, falls möglich
tan : (number -> number) |
Tangens berechnen (Argument in Radian)
zero? : (number -> boolean) |
feststellen, ob eine Zahl Null ist
boolean=? : (boolean boolean -> boolean) |
Booleans auf Gleichheit testen
boolean? : (any -> boolean) |
feststellen, ob ein Wert ein boolescher Wert ist
false? : (any -> boolean) |
feststellen, ob ein Wert #f ist
not : (boolean -> boolean) |
booleschen Wert negieren
true? : (any -> boolean) |
feststellen, ob ein Wert #t ist
append : ((list-of %a) ... -> (list-of %a)) |
mehrere Listen aneinanderhängen
cons : (%a (list-of %a) -> (list-of %a)) |
erzeuge ein Paar aus Element und Liste
cons? : (any -> boolean) |
feststellen, ob ein Wert ein Paar ist
empty : list |
die leere Liste
empty? : (any -> boolean) |
feststellen, ob ein Wert die leere Liste ist
first : ((list-of %a) -> %a) |
erstes Element eines Paars extrahieren
fold : (%b (%a %b -> %b) (list-of %a) -> %b) |
Liste einfalten.
length : ((list-of %a) -> natural) |
Länge einer Liste berechnen
list : (%a ... -> (list-of %a)) |
Liste aus den Argumenten konstruieren
list-ref : ((list-of %a) natural -> %a) |
das Listenelement an der gegebenen Position extrahieren
make-pair : (%a (list-of %a) -> (list-of %a)) |
erzeuge ein Paar aus Element und Liste
pair? : (any -> boolean) |
feststellen, ob ein Wert ein Paar ist
rest : ((list-of %a) -> (list-of %a)) |
Rest eines Paars extrahieren
reverse : ((list-of %a) -> (list-of %a)) |
Liste in umgekehrte Reihenfolge bringen
computer : signature |
Signatur für Computer
computer-hard-drive : (computer -> rational) |
Festplattenkapazität aus Computer extrahieren
computer-processor : (computer -> string) |
Prozessorname aus Computer extrahieren
computer-ram : (computer -> rational) |
Arbeitsspeicher aus Computer extrahieren
computer? : (any -> boolean) |
feststellen, ob Wert ein Computer ist
make-computer : (string rational rational -> computer) |
Computer aus Prozessorname, Arbeitsspeicher und Festplattenkapazität konstruieren
chocolate-cookie : signature |
Signatur für Schokokekse
chocolate-cookie-chocolate : (chocolate-cookie -> number) |
Schoko-Anteil eines Schokokekses extrahieren
chocolate-cookie-cookie : (chocolate-cookie -> number) |
Keks-Anteil eines Schokokekses extrahieren
chocolate-cookie? : (any -> boolean) |
feststellen, ob ein Wert ein Schokokeks ist
make-chocolate-cookie : (number number -> chocolate-cookie) |
Schokokeks aus Schoko- und Keks-Anteil konstruieren
string->strings-list : (string -> (list string)) |
Eine Zeichenkette in eine Liste von Zeichenketten mit einzelnen Zeichen umwandeln
string-append : (string string ... -> string) |
Hängt Zeichenketten zu einer Zeichenkette zusammen
string-length : (string -> natural) |
Liefert Länge einer Zeichenkette
string<=? : (string string string ... -> boolean) |
Zeichenketten lexikografisch auf kleiner-gleich testen
string<? : (string string string ... -> boolean) |
Zeichenketten lexikografisch auf kleiner-als testen
string=? : (string string string ... -> boolean) |
Zeichenketten auf Gleichheit testen
string>=? : (string string string ... -> boolean) |
Zeichenketten lexikografisch auf größer-gleich testen
string>? : (string string string ... -> boolean) |
Zeichenketten lexikografisch auf größer-als testen
string? : (any -> boolean) |
feststellen, ob ein Wert eine Zeichenkette ist
strings-list->string : ((list string) -> string) |
Eine Liste von Zeichenketten in eine Zeichenkette umwandeln
apply : (procedure (list %a) -> %b) |
Prozedur auf Liste ihrer Argumente anwenden
eq? : (%a %b -> boolean) |
zwei Werte auf Selbheit testen
equal? : (%a %b -> boolean) |
zwei Werte auf Gleichheit testen
for-each : ((%a -> %b) (list %a) -> unspecific) |
Prozedur von vorn nach hinten auf alle Elemente einer Liste anwenden
map : ((%a -> %b) (list %a) -> (list %b)) |
Prozedur auf alle Elemente einer Liste anwenden, Liste der Resultate berechnen
violation : (string -> unspecific) |
Programmm mit Fehlermeldung abbrechen
write-newline : (-> unspecific) |
Zeilenumbruch ausgeben
write-string : (string -> unspecific) |
Zeichenkette in REPL ausgeben