www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

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

Logo - DracheHaskell-Forum

latenite

Gepostet:
08.09.2007 01:34

Hint: Compile without --overloading, or use the overloaded Prelude  
hi leute

ich habe gerade auf meinem debian system hugs und helium sowie die java gui hint installiert...läuft soweit auch.

nun wollte ich mal das hier...laufen lassen


{-***********************************************************************

Square.hs

Diese Datei gibt ein erstes Beispiel für ein Script in Haskell und
definiert die Funktion square, die das Quadrat einer Zahl zurückgibt.

***********************************************************************-}
-- Implementation der Funktion square
square :: Int -> Int
square n = n * n


dabei kommt in hint folgende "hilfreiche" fehlermeldung:



Prelude> :l /root/Desktop/haskell_uebungen/Square.hs
Compiling /root/Desktop/haskell_uebungen/Square.hs
(1,1): Using simple Prelude while overloading is enabled
Hint: Compile without --overloading, or use the overloaded Prelude
Compilation failed with 1 error
Square>


leider bin ich ABSOLUT neu bei haskell und hab keine idee was "prelude" bzw "overloaded prelude" ist.
ich habe MEHRER Prelude.hs uebers ganze system verteilt z.b in /usr/lib/helium/lib/ alles sind unterschiedlich gross von 4kb biz 67kb.
keine davon (als LVMPATH gesetzt) funktioniert.

was muss ich tun...ich brauche das hint ding für die uni und würde es allein wegen der gefälligen gui gern benutzen.
also...wer hilfestellung geben kann...schon mal ein danke in voraus
Zum Seitenanfang    
 
Jacke

Gepostet:
08.09.2007 17:29

   
Hallo latenite

habe mir helium grade auch (auf windows) installiert und kann meine Programme Problemlos laden,

im helium Forum habe ich folgende Antwort dazu gefunden:

Hello, I have helium compiler geinstalleerd on my GNU/Linux system according to the instructions [ 1 ] on the Internet site. That installation method apparently only installs the simple prelude; at compiling Haskell-bestand with overloading I get the following foutmelding: (1.1): Using simple prelude while overloading are enabled hint: Compile without -- overloading, or use the overloaded prelude The problem is simple solve by helium/lib/* from the source directory at kopieren to INSTALLDIR/lib, with which the simple prelude becomes therefore transferred. But it would be of course more skilful if one that did not have do. Possibly the installation process both simple and the overloaded can install prelude, and then are possible helium by means of the use of overloading are able stipulate which prelude is needed. Mvg,Bastian


unter helium/lib habe ich eine 18kb Prelude.hs Datei
und unter helium/lib/simple auch eine 18kb Datei
in Prelude sind die Standardfunktionen für Haskell enthalten sowas wie >,<, odd even ect...

vermutlich funktioniert die Installation unter Windwos richtig, versuch mal die helium/lib/Prelude.hs durch die 18kb Variante zu ersetzen,

viel Erfolg

Jacke

Zum Seitenanfang    
 
Siracusa

Gepostet:
08.09.2007 17:40

   
Hallo,

Google gibt Rat: Offenbar läßt sich das Problem beheben, indem du die Prelude.hs-Datei von helium/lib/* aus dem source-Verzeichnis, ins Verzeichnis INSTALLDIR/lib kopierst und dadurch das einfache Prelude überschreibst.

Helium ist mir allerdings noch sehr eingeschränkt was das Typsystem betrifft in Erinnerung (z.B. auch bei einfachen Datentypen wie Integer und Float). Vielleicht hat sich da mittlerweile auch schon einiges getan. Trotzdem möchte ich dir den GHC (Glasgow Haskell Compiler) sehr ans Herz legen. Der hat auch einen interaktiven Modus, ähnlich wie Hugs und Helium, und gibt ganz brauchbare Fehlermeldungen.

Viele Grüße,

Siracusa
Zum Seitenanfang    
 
latenite

Gepostet:
12.09.2007 05:34

helium/lib/simple hatte meine installation gar nicht  
hi leute

wie gesagt habe ich ueber apt-get install helium , installiert.
Dabei gab es kein verzeichnis /usr/lib/helium/simple nur ein /usr/lib/helium/ mit einer 17.2kb Prelude.hs drin. Die habe ich dann durch die aus dem tabball von: http://www.cs.uu.nl/helium/distr/helium-1.6-src.tar.gz ersetzt. dort gibt es nämlich ein simple verzeichnis mit einer 14.6kb Prelude.hs.

der fehler bleibt der selbe:

Prelude>
Prelude> :l /root/Desktop/haskell_exercises/Square.hs
Compiling /root/Desktop/haskell_exercises/Square.hs
(1,1): Using simple Prelude while overloading is enabled
Hint: Compile without --overloading, or use the overloaded Prelude
Compilation failed with 1 error
Square>

was nun? hat noch jemand ne idee??

an Siracusa:

hugs hat einen interaktiven modus? ...du meinst "verständliche fehlermeldungen"? cool...wie stelle ich das ein? z.Z bekomme ich bei fehlern zwar auch eine fehlermelung ..die ist aber soweit fuer einen anfänger wie mich "unbrauchbar".
wie kann ich hugs beibringen gut interaktion und verständliche fehler melung uszugeben?

bei:

square :: Int -> Int
square n = n * n

ist alles ok, also

Type :? for help
Main> square 4
16
Main>


aber bei "möglichem fehler:

square :: Int -> Int
square n + x = n * n

kommt diese "für mich nicht hilfreiche" fehlermeldung.

ERROR "/root/Desktop/haskell_exercises/Square.hs":2 - Syntax error in declaratio n (unexpected token)
Hugs.Base>


mit helium bekomme ich soetwas (irgendwie hilfreicher...):

Einstellungen\-\Desktop\haskell_exercises\Square.hs

Compiling ./Square.hs

(2,10): Syntax error:

unexpected operator '+'

expecting pattern, '=' or '|'

Compilation failed with 1 error

Square>


kann hugs das auch..wenn ja..was muss ich da tun?

danke


Zum Seitenanfang    
 
Siracusa

Gepostet:
12.09.2007 19:42

   
Hallo,

soweit ich weiß hat Hugs nur einen interaktiven Modus. Ich meinte der GHC hat auch einen interaktiven Modus, funktioniert dann also wie Hugs. Normalerweise compiliert man mit dem GHC die Programme ja zu exe-Dateien. Leider kann man auch nicht einstellen, ob man einfache oder erweiterte Fehlermeldungen angezeigt bekommt. Und so ausführlich wie bei Helium sind die Fehlermeldungen bei Hugs und beim GHC auch nicht. Der GHC zeigt auch nur an, wo der Fehler liegt und um welche Art von Fehler es sich handelt. Für Anfänger vielleicht manchmal schwierig zu deuten. Wenn du Helium nicht noch zum Laufen bekommst, ist zum Einsteigen Hugs aber besser geeignet.

Viele Grüße,

Siracusa
Zum Seitenanfang    
 
latenite

Gepostet:
14.09.2007 17:05

gut  
gut hugs wäre auch meine 2te wahl gewesen... ich probier trotzdem weiter , das ich helium unter debian zum laufen bekomme..

danke für die hilfe...
Zum Seitenanfang