3.6 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
Absolutwert berechnen
| acos : (number -> number) |
Arcuscosinus berechnen (in Radian)
Winkel einer komplexen Zahl berechnen
| asin : (number -> number) |
Arcussinus berechnen (in Radian)
| atan : (number -> number) |
Arcustangens berechnen (in Radian)
nächste ganze Zahl oberhalb einer rellen Zahlen berechnen
feststellen, ob ein Wert eine komplexe Zahl ist
Cosinus berechnen (Argument in Radian)
aktuelle Zeit in Sekunden seit einem unspezifizierten Startzeitpunkt berechnen
Nenner eines Bruchs berechnen
| even? : (integer -> boolean) |
feststellen, ob eine Zahl gerade ist
eine Zahl durch eine inexakte Zahl annähern
feststellen, ob eine Zahl exakt ist
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 : (natural natural ... -> natural) |
größten gemeinsamen Teiler berechnen
imaginären Anteil einer komplexen Zahl extrahieren
eine Zahl durch eine exakte Zahl annähern
feststellen, ob eine Zahl inexakt ist
feststellen, ob ein Wert eine ganze Zahl ist
| lcm : (natural natural ... -> natural) |
kleinstes gemeinsames Vielfaches berechnen
natürlichen Logarithmus (Basis e) berechnen
Abstand zum Ursprung einer komplexen Zahl berechnen
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
feststellen, ob ein Wert eine natürliche Zahl (inkl. 0) ist
feststellen, ob eine Zahl negativ ist
Zahl in Zeichenkette umwandeln
feststellen, ob ein Wert eine Zahl ist
Zähler eines Bruchs berechnen
| odd? : (integer -> boolean) |
feststellen, ob eine Zahl ungerade ist
feststellen, ob eine Zahl positiv ist
ganzzahlig dividieren
eine natürliche Zufallszahl berechnen, die kleiner als das Argument ist
feststellen, ob eine Zahl rational ist
reellen Anteil einer komplexen Zahl extrahieren
feststellen, ob ein Wert eine reelle Zahl ist
Divisionsrest berechnen
| round : (real -> integer) |
relle Zahl auf eine ganze Zahl runden
Sinus berechnen (Argument in Radian)
| sqrt : (number -> number) |
Quadratwurzel berechnen
Zeichenkette in Zahl umwandeln, falls möglich
Tangens berechnen (Argument in Radian)
| zero? : (number -> boolean) |
feststellen, ob eine Zahl Null ist
Booleans auf Gleichheit testen
feststellen, ob ein Wert ein boolescher Wert ist
feststellen, ob ein Wert #f ist
| not : (boolean -> boolean) |
booleschen Wert negieren
feststellen, ob ein Wert #t ist
| append : ((list %a) ... -> (list %a)) |
mehrere Listen aneinanderhängen
erzeuge ein Paar aus Element und Liste
feststellen, ob ein Wert ein Paar ist
die leere Liste
feststellen, ob ein Wert die leere Liste ist
| first : ((list %a) -> %a) |
erstes Element eines Paars extrahieren
| fold | : | | ((%b (%a %b -> %b) (list %a) -> %b) | | "Liste einfalten.") |
|
|
| length : ((list %a) -> natural) |
Länge einer Liste berechnen
| list : (%a ... -> (list %a)) |
Liste aus den Argumenten konstruieren
das Listenelement an der gegebenen Position extrahieren
erzeuge ein Paar aus Element und Liste
feststellen, ob ein Wert ein Paar ist
| rest : ((list %a) -> (list %a)) |
Rest eines Paars extrahieren
Liste in umgekehrte Reihenfolge bringen
Signatur für Computer
Festplattenkapazität aus Computer extrahieren
Prozessorname aus Computer extrahieren
Arbeitsspeicher aus Computer extrahieren
feststellen, ob Wert ein Computer ist
Computer aus Prozessorname, Arbeitsspeicher und Festplattenkapazität konstruieren
Signatur für Schokokekse
Schoko-Anteil eines Schokokekses extrahieren
Keks-Anteil eines Schokokekses extrahieren
feststellen, ob ein Wert ein Schokokeks ist
Schokokeks aus Schoko- und Keks-Anteil konstruieren
Eine Zeichenkette in eine Liste von Zeichenketten mit einzelnen Zeichen umwandeln
Hängt Zeichenketten zu einer Zeichenkette zusammen
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
feststellen, ob ein Wert eine Zeichenkette ist
Eine Liste von Zeichenketten in eine Zeichenkette umwandeln
| apply : (procedure (list %a) -> %b) |
Prozedur auf Liste ihrer Argumente anwenden
zwei Werte auf Selbheit testen
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
Programmm mit Fehlermeldung abbrechen
Zeilenumbruch ausgeben
Zeichenkette in REPL ausgeben