Haskell / Hugs98 ...

F

FrediFredsen

Aktives Mitglied
Thread Starter
Dabei seit
19.11.2004
Beiträge
317
Reaktionspunkte
2
Guten Nabend zusammen,
ich hoffe ich finde ein paar (Ex-)Studenten die auch in ihrer Ausbildung mit Haskell gequält wurden.
Ich habe so ein paar Probleme auf die Denkweise klarzukommen und meine eigenen Programme damit zu schreiben.
Hinderlich ist auch, dass ich bis jetzt noch keine gute Anleitung gefunden habe.
Vielleicht kann jemand, der diese Sprache schonmal benutzen musste mir Hilfestellung geben bzw. ein gutes Tutorial empfehlen...

Danke sehr.....
 
Hi,

du studierst nicht zufällig an der Uni-Bonn ?

Habe mich damit auch quälen müssen, es aber zum Glück wieder verdrängt !

Gruß
 
Nun, ich bin kein Ex-Student der Haskell lernen musste, sondern sitze auf der anderen Seite des Tisches und verlange es von meinen Studenten :) Vielleicht kann ich Dir ja helfen?

Als Literatur kann ich grundsätzlich "Haskell -- The Craft of Functional Programming" von Simon Thompson sehr empfehlen. Es ist praktisch konkurrenzlos. Eine weiterer sehr wertvoller Ausgangspunkt für alle möglichen Informationen ist unter www.haskell.org zu finden.

Ansonsten kannst Du gerne Deine Fragen hier loslassen. Aber lass mich bitte noch anmerken, dass Du um ein bisschen Arbeit nicht herum kommst. Vor allem, wenn Du schon mit imperativen oder oo Sprachen gearbeitest hast, hast Du schon einen Knoten im Hirn, den Du erst loswerden solltest.

Viel Erfolg!
 
Das ist ein super Angebot. Danke

Ich habe jetzt fast das zweite Tutorium durchgearbeitet und komme so einigermaßen zurecht. Bei der Sache mit dem Knoten stimme ich dir voll und ganz zu ;-)

Aber ich komme gerne bei bedarf auf dein Angebot zurück!
Danke und Gruß!
 
... und nun komm ich mal auf das ANgebot zurück.

Wir müssen eine Queue implementieren, eigentlich kein Problem. Nur mit den Typen klappt das nicht so wie ich mir das vorstelle:

enq a neu = neu : a
first (x:l) = x
dequeue (x:l) = l
qlength [] = 0
qlength (x:l) = 1 + length l

so funktioniert das auf Basis von Listen. Wir sollen jedoch einen Alg. Datentyp definieren...
Also habe ich folgendes gemacht:

data Queue a = Queue [a]
data Queue a = Nil | Cons a (Queue a)

und dann müssten die einzelnen Funktionen so definiert werden:
enq :: Queue a -> a-> Queue a

und da ist auch der Knackpunkt, denn mit keiner der beiden Datentypdefinitionen funktioniert das....

Danke für Hilfe
 
Mittlerweile funktioniert das!
Heute Klausur warscheinlich bestanden!
Thema beendet ;-)
 
Zurück
Oben Unten