www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

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

Logo - DracheHaskell-Forum

  1 2 nächste Seite

odstsxorg

Gepostet:
22.10.2006 19:19

Haskell: Wechsel in WinHugs von "Hugs>" auf "Prelude>"  
Hi,

ich fange gerade erst mit Haskell an, und habe eine Frage, die daher nicht besonders schwer und ausführlich zu beantworten sein dürfte. Es wäre schön, köntet ihr helfen.
Ich habe mir den Interpreter WinHugs zugelegt. Der lädt standardmäßig "Hugs" beim Start. (Sodass in der ersten Zeile "hugs>" steht. Danach können Eingaben gemacht werden.
Nun möchte ich jedoch auf "Prelude" wechseln, sodass "Prelude>". Mache ich das (über :l prelude.hs), dann bekomme ich die Meldung, das Prelude bereits geladen sei. Jedoch ändert sich die Anzeige nicht auf "Prelude>".

Könnt ihr mir helfen?
Zum Seitenanfang    
 
Siracusa

Gepostet:
22.10.2006 20:58

   
Hallo,

das Haskell Prelude wird beim Start automatisch geladen. Du kannst die Prelude-Funktionen also benutzen, ohne das Prelude gesondert zu laden. Laß dich nicht von der Anzeige "Hugs>" irritieren. Die Anzeige wurde bei WinHugs geändert und entspricht der Anzeige "Prelude>" von Hugs 98.

Viele Grüße,

Siracusa
Zum Seitenanfang    
 
Jacke

Gepostet:
22.10.2006 21:05

   
Ich kann mich da siracusa da genau anschließen. Prelude wird automatisch geladen.ich mag winhugs auch lieber..

:-) schön das im forum mal wieder was los ist

gruß jackeSmilie
Zum Seitenanfang    
 
odstsxorg

Gepostet:
22.10.2006 23:00

   
Hej,

danke für eure schnellen Antworten. Ich habe jedoch bemerkt, mein Problem nicht konkret genug formuliert zu haben ;-)
Es funktionieren auch manche Befehle nicht (wie bspw. "filter" oder "map" bei Listen, wohingegen "foldr" und "foldl" funktionieren...

Wisst ihr was?

Derweil habe ich auch die GHC-Variante ausprobiert (Ist ja ein Compiler). Auch hier stieß ich auf ein kleines Problem, das jedoch ziemich elementar ist: Das Compilen funktioniert nicht! Bei der Eingabe von bspw. "ghc --make Main.hs -o Main.exe" (In der Dokumentation angegeben) kommt "1:0: Not in scope: 'ghc'" zurück. Die "Main.hs" ist mit einer Main-Funktion versehen. Daran kann's also nicht liegen...
Zum Seitenanfang    
 
Jacke

Gepostet:
23.10.2006 08:05

   
zu 1)
gib mal :browse ein, damit erfährst du alle befehle die prelude kennt.

zu2)
zu ghc. hast du es denn richtig installiert?
hier findest du ne beschreibung dafür:
http://www.jammni.de/php/forum.php?forum=6&forum=6&posting=1839

ok ich muß jetzt auf arbeit. aber ich test das heute abend mal selbst.

gruß jackeSmilie
Zum Seitenanfang    
 
Siracusa

Gepostet:
23.10.2006 20:45

   
Noch ne Frage zu b) Verwendest du zufällig eine Funktion o.ä. mit dem Namen ghc in deinem Programm?
Zum Seitenanfang    
 
Blacksoul

Gepostet:
26.01.2007 17:39

   
Hallo,

ich bin neu hier und wir haben in der Schule im Moment ebenfalls Haskell, falls wir später mal studieren wollen, als kleine vorbereitung...

ich habe nun auch winhugs zu hause, jedoch kennt er bei mir die funktionen ord und chr nicht..., jedoch, da wir gerade uns mit cheffrierung beschäftigen, sind diese sehr wichtig für mich ...habe ja außerdem gerade ein problem mit caesar(vs. mutiplikation)

Wie bekomm ich nun funktionen wie ord und chr aktiviert?

mfg
PS: :l prelude.hs macht er bei mir nicht
Zum Seitenanfang    
 
Siracusa

Gepostet:
26.01.2007 18:46

   
Hi,

einfach in die Datei, in der du deinen Quellcode bearbeitest, ganz oben ein import Char einfügen. In dem Modul sind die beiden Funktionen nämlich definiert.
module MyModule (myDigitToInt) where    -- Die Zeile kannst du auch weglassen

import Char

myDigitToInt :: Char -> Int
myDigitToInt c
| c >= '0' && c <= '9' = ord c - ord '0'
| otherwise = error "myDigitToInt: character is no digit"


Und das Haskell-Prelude wird beim Start automatisch geladen, du mußt es nicht extra einbinden.

Viele Grüße,

Siracusa
Zum Seitenanfang    
 
Blacksoul

Gepostet:
26.01.2007 22:57

   
Muss ich das nun bei jeder Datei machen?

In der Schule, wo wir auch Prelude> haben ist das automatisch irgendwie mit drin..

mfg
Zum Seitenanfang    
 
Siracusa

Gepostet:
27.01.2007 20:47

   
Kann sein, daß ihr in der Schule noch eine ältere Haskell-Version habt. Bei den neueren wurden im Zuge der Modularisierung einige Funktionen aus dem Prelude in extra Dateien verlagert. Heißt also, in jeder Datei müssen die benötigten Funktionen importiert werden.

Viele Grüße,

Siracusa
Zum Seitenanfang    
 

  1 2 nächste Seite