www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

test123

Gepostet:
18.04.2013 16:21

Ein paar blöde Fragen (WinGHCi)  
Hallo Leute,

ich hoffe ihr reißt mir nicht den Schädel runter, aber habe ein paar Fragen zu Haskell, ich benutze WinGHCi. Habe gerade erst damit begonnen, hab kaum Erfahrung im Programmieren, belege Informatik als Nebenfach zur Mathematik, aber ich finde das Fach sehr interessant und möchte mich hinein arbeiten. Sind sehr einfache Probleme, die ich habe, denke ich, bekomme es aber trotzdem nicht gelöst.

Und zwar habe ich mal mit dieser Seite begonnen:

http://www.haskell.org/haskellwiki/Haskell_in_5_Schritten

Mein Problem ist, dass ich keine Ahnung habe, wie ich ein Programm schreibe. Habe mal mit Hello World begonnen. Eingeben kein Problem, nur wie baue ich daraus ein Programm?

Da steht ja:

"Mit einem Haskell-Compiler wie dem GHC kannst du den Quellcode zu einer lauffähigen Einzelanwendung kompilieren. Erstelle eine Datei hello.hs mit dem Inhalt:"

Wie genau erstelle ich diese Datei?

Habe mal in meiner Doofheit versucht das einzugeben:

"main = putStrLn "Hello, World!"

Dann kam dann: <interactive>:17:6: parse error on input `='

Dann steht da ja noch:

Und kompiliere sie mit:

$ ghc -o hello hello.hs

Was fange ich damit an?

Das sind höchstwahrscheinlich sehr elementare Fragen, ich hoffe aber trotzdem, dass mir da jemand etwas helfen kann, bin unerfahren in solchen Dingen, aber lerne relativ schnell.

Danke schonmal!

Gruß

test123

Zum Seitenanfang    
 
Landei

Gepostet:
19.04.2013 14:33

   
Wichtiger Unterschied GHCI und WinGHCI sind Interpreter, GHC ist ein Compiler. Die Interpreter arbeiten in einer sogenannten REPL (siehe http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop ) und verhalten sich dementsprechend anders, z.B. müssen dort Funktionsdefinitionen mit let eingeleitet werden.

Wenn du Haskell nicht nur als besseren Taschenrechner verwenden, sondern "richtige" Programme schreiben willst, ist also GHC der richtige Weg. Dazu solltest du wie folgt vorgehen:

- Installiere die Haskell-Plattform ( http://www.haskell.org/platform/ ), da hast du nicht nur GHC, sondern die wichtigsten Tools (etwa cabal) mit passenden Versionen beieinander.
- Installiere eine IDE, wobei die Auswahl etwas eingeschränkt ist: Ich kenne nur Leksah ( http://leksah.org/ ) und EclipseFP ( http://eclipsefp.github.io/ )

Dein Hello-World-Programm ist schon fast richtig, nur musst du meines Wissens zwingend ein Modul angeben, und deine Main-Funktion in die Exportliste aufnehmen:


module Main( main ) where
main = putStrLn "Hello, World!


Zum Weiterlernen würde ich LYAHFGG ( http://learnyouahaskell.com/chapters ) oder Real World Haskell ( http://book.realworldhaskell.org/read/ ) empfehlen.

Viel Erfolg!
Zum Seitenanfang    
 
test123

Gepostet:
20.04.2013 00:36

   
Danke für deine Antwort! Ja, ich hab nun beides installiert, aber was genau macht dieses IDE?

Also schreibe ich die Programme, sprich meine .exe-Dateien in Leksah und benutze WinGHCi nur als "Taschenrechner"? Verstehe ich das richtig?

Habe mal versucht, was du in dem Kästchen geschrieben hast einfach mal 1:1 in Leksah zu kopieren, das funktioniert aber nicht.

Ich stelle mich glaub ich ziemlich beknackt an, brauche nochmal ein bisschen mehr Starthilfe, ich verstehe halt nicht, wie ich eine exe-Datei bastel, habe mal in Java Programme geschrieben, die musste man auch immer mit einem bestimmten "Befehl" beginnen.

Ich tappe immernoch ziemlich im dunkeln.

Bei meinem Einführungsblatt wird mir Notepad++ empfohlen, wozu das?

Zum Seitenanfang    
 
Landei

Gepostet:
20.04.2013 23:46

   
Soviel vorweg: Ich programmiere Haskell nur als Hobby, und bin zufrieden, wenn mein Programm in Leksah funktioniert. Mit GHC und den Details des Build-Prozesses kenne mich nur sehr oberflächlich aus.

IDE steht für "Integrated Development Environment" - Integrierte Entwicklungsumgebung. Man bekommt sicher auch irgendwie Programme in WinGHCI compiliert (habs noch nicht ausprobiert), aber warum sollte man auf den Komfort einer "richtigen" Entwicklungsumgebung verzichten?

Leksah ist zugegebenermaßen gewöhnungsbedürftig, es hat da eigene Vorstellungen von wegen Workspaces und Packages. Im Leksah-Manual wird in Kapitel 3 ein Hello-World-Beispiel Schritt für Schritt beschrieben (es kann nicht schaden Kapitel 2 wenigstens zu überfliegen): http://www.leksah.org/docu/leksah_manual_0.8.pdf

Vielleicht kommst du auch mit EclipseFP besser zurecht.

Notepad++ hat eine Menge Syntax-Schemata, vermutlich wird er deshalb empfohlen. Aber es ist halt nur ein normaler Editor (vielleicht lässt er sich auch mit einem Plugin erweitern?)
Zum Seitenanfang    
 
test123

Gepostet:
01.05.2013 14:46

   
Danke für die Hilfe ich habe es jetzt soweit hinbekommen, danke!
Zum Seitenanfang