Listen und ihre Funktionen
Listen sind die fundamentalen Datenstrukturen in Haskell, viele wichtige Algorithmen können mit dieser Datenstruktur beschrieben werden. Deshalb widmen wir Listen gebührende Aufmerksamkeit. Ein einfaches Beispiel für eine Liste ist [1,2,3], die Liste besteht also aus drei ganzzahligen Elementen. Sie sehen, daß die Liste durch eckige Klammern begrenzt wird. Ein wenig anders sieht es bei Zeichenketten aus, hier ist die Liste ['a', 'b', 'c'] eine Repräsentation der Zeichenkette "abc" das spiegelt sich im Datentyp: Die Typangabe String ist eine Abkürzung der Typangabe [Char]. Wir haben oben schon angemerkt, daß Listen einen einheitlichen Grundtyp haben müssen, daß es also nicht möglich ist, eine Liste aus einer ganzen Zahl und einer Zeichenkette zu konstruieren (hierfür würde man Paare nehmen). Ist a ein Typ, so ist [a] der zugehörige Listentyp. Alle Listentypen haben die Konstante [] gemeinsam, also die leere Liste, die kein Element enthält.
Listen sind die fundamentalen Datenstrukturen in Haskell, viele wichtige Algorithmen können mit dieser Datenstruktur beschrieben werden. Deshalb widmen wir Listen gebührende Aufmerksamkeit. Ein einfaches Beispiel für eine Liste ist [1,2,3], die Liste besteht also aus drei ganzzahligen Elementen. Sie sehen, daß die Liste durch eckige Klammern begrenzt wird. Ein wenig anders sieht es bei Zeichenketten aus, hier ist die Liste ['a', 'b', 'c'] eine Repräsentation der Zeichenkette "abc" das spiegelt sich im Datentyp: Die Typangabe String ist eine Abkürzung der Typangabe [Char]. Wir haben oben schon angemerkt, daß Listen einen einheitlichen Grundtyp haben müssen, daß es also nicht möglich ist, eine Liste aus einer ganzen Zahl und einer Zeichenkette zu konstruieren (hierfür würde man Paare nehmen). Ist a ein Typ, so ist [a] der zugehörige Listentyp. Alle Listentypen haben die Konstante [] gemeinsam, also die leere Liste, die kein Element enthält.