Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Informatik » Sonstiges zur Informatik » IDE für Haskell und wie mit GHC kompilieren?
Autor
Universität/Hochschule IDE für Haskell und wie mit GHC kompilieren?
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Themenstart: 2021-10-27

Hallo allerseits, 1) Mit der Anleitung: https://www.youtube.com/watch?v=YNvFOCwS4tE habe ich den ghc-Compiler für Haskell auf meinem Windows-Rechner installiert. Leider kann ich damit auf Eingabeaufforderungsebene (DOS-Kommandoebene) nur pro Zeile eine Anweisung eingeben, wie z.B: 3+4 Wie kann ich ein ganzes (über mehrere Zeilen gehendes) Haskell-Programm damit kompilieren? 2) Wie oben in: https://www.youtube.com/watch?v=YNvFOCwS4tE angegeben, habe ich auch Visual Studio Code installiert (als IDE) Will ich dort eine Haskell-Quellcode Datei (wie z.B: demo1-hsig) ausführen lassen mit: Run-Start Debugging gibt es immer die Meldung: You dont`t have the extension for debugging Haskell. Should we find a Haskell extension in the marketplace? Was mache ich da falsch ? 3) gibt es eine andere, leicht zu bediendene, aber funktionierende IDE für Haskell unter Windows? mfg cx


   Profil
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 3040
  Beitrag No.1, eingetragen 2021-10-28

Die Frage 2) lässt sich leicht beantworten. Falls du willst, dass VSC eine bestimmte Programmiersprache unterstützt, so musst du die entsprechende Extension installieren. (Genau wie das Programm sagt) Da das meist etwa zwei bis drei Mausklicks benötigt, ist das auch alles andere als kompliziert und jedenfalls viel, viel einfacher als das korrekte Installieren und Einbinden eines Compilers. Das ist bei anderen IDEs für verschiedene Programmiersprachen ganz genauso.


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.2, vom Themenstarter, eingetragen 2021-10-28

\quoteon(2021-10-28 08:31 - DerEinfaeltige in Beitrag No. 1) Die Frage 2) lässt sich leicht beantworten. Falls du willst, dass VSC eine bestimmte Programmiersprache unterstützt, so musst du die entsprechende Extension installieren. (Genau wie das Programm sagt) Da das meist etwa zwei bis drei Mausklicks benötigt, ist das auch alles andere als kompliziert ... \quoteoff Habe das gemacht, also dort den Knopf "install" gedrückt, so wie es im Video vorgemacht wurde. Trotzdem bekomme ich diese komische Fehlermeldung. Vermutlich bin ich aber nicht der Einzige: https://stackoverflow.com/questions/67430297/vscode-you-dont-have-an-extension-for-debugging-html-error oder auch: https://www.reddit.com/r/csharp/comments/o86i8r/you_dont_have_an_extension_for_debugging_c_should/ mfg cx


   Profil
tactac
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 15.10.2014
Mitteilungen: 2279
  Beitrag No.3, eingetragen 2021-10-28

1) Wenn ich dich richtig verstehe, kannst du ghci starten und benutzen. Man kann dort hinein mit dem Befehl :l ein Haskell-Modul laden (d.i. im einfachsten Fall einfach eine Textdatei mit Funktons- und anderen Definitionen drin). Alternativ kann man auch beim Start von ghci einen Dateinamen als Argument angeben; die Datei wird dann gleich am Anfang geladen. Die in den geladenen Modulen definierten Funktionen stehen dann in ghci zur Verfügung. Während der Entwicklung kann man dann mit :r den Code erneut laden, nachdem man eine oder mehrere Quelldateien verändert hat. Wenn ghci zur Verfügung steht, dann üblicherweise auch ghc. Mit ghc --make Stuff.hs kann man ein Programm kompilieren, dessen main-Funktion in Stuff.hs steht. 2) VSCode mit der Erweiterung "Haskell for Visual Studio Code" (man suche in der Erweiterungssuche nach dem Identifier haskell.haskell) scheint ganz gut zu funktionieren. Ein Starten und Debuggen aus VSCode heraus benötigt zwar einige Vorbereitung, aber das braucht man anfangs sowieso nicht.


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.4, eingetragen 2021-10-29

Servus carlox, ich habe es heute auch mal probiert haskell unter vs-code zu installieren. Ich habe dabei versucht mitzuschreiben. (1-2 vs-code Neustarts habe ich allerdings vergessen) Eine Liste mit IDEs gibt es hier: https://wiki.haskell.org/IDEs Hier gibt es noch einen interessanten Hinweis: https://www.vacationlabs.com/haskell/environment-setup.html "Do not waste time with Haskell on Windows - you may be able to make some progress initially, but you will run into weird errors later while bulding certain packages, or while building binaries." Als Strategie gilt: Einer Anleitung folgen und dann eventuelle Fehler in Google suchen. Man installiert die Packages Haskell v1.7.1 und Haskell GHCi Debug Adapter Phoityne Dann klaut man ein Hello-World Programm und speichert es in Sample.hs: \sourceon Haskell main :: IO () main = putStrLn "Hello, World!" \sourceoff Dann drückt man wie in dem zweiten Plugin bebildert auf run with Haskell GHCi Debug Adapter. Es kommt unten rechts ein popup, dass kein Compiler installiert ist. Das PopUp leitet einen auf die Webseite https://www.haskell.org/platform/index.html#windows weiter. Dort installiert man dann Chocolatey (oder stellt fest, dass es bereits installiert ist). Dann öffnet man eine CMD als Administrator und gibt "choco install haskell-dev" ein. Dort wird man dann noch einmal darauf aufmerksam gemacht, dass man das Terminal als Administrator öffnen soll (falls man es versäumt hat). Wenn die Installation durch ist, wird man etwas gefragt, was man natürlich mit "a" für all beantwortet. Wenn das Terminal dann fertig ist, gibt man "refreshenv" ein. Wenn man dann die launch.json erstellt hat und versucht das Programm auszuführen, kommt ein Fehler, dass man stack install phoityne-vsvode ausführen soll. Wenn man danach googelt, kommt man sofort zu dieser Webseite: https://docs.haskellstack.org/en/stable/install_and_upgrade/ Das installiert man sich, danach führt man "stack install phoityne-vsvode" aus. Dann bekommt man einen Fehler, der sagt, dass das Package nicht gefunden werden kann. Wenn man danach googelt, stellt man fest, dass man "stack install haskell-dap ghci-dap haskell-debug-adapter" vorher ausführen muss. Wenn man es dann noch mal probiert, sagt das Terminal einem: MissingH needed, but the stack configuration has no specified version (latest matching version is 1.4.3.0) Also macht man das, was vorgeschlagen wird und fügt das extra-deps: [ random-1.1@sha256:7b67624fd76ddf97c206de0801dc7e888097e9d572974be9b9ea6551d76965df, MissingH-1.4.3.0@sha256:32f9892ec98cd21df4f4d3ed8d95a3831ae74287ea0641d6f09b2dc6ef061d39 ] in die eine verlinkte yml. Wenn man es dann installiert und auf "run" klickt, kann man ein hs-Programm ausführen. Es kommt dann ein Fehler, dass eine .hs-Datei nicht gefunden werden kann bzw. die main out of scope ist. Den behebt man, indem man in der launch.json den Einstiegspunkt entsprechend anpasst.


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.5, vom Themenstarter, eingetragen 2021-10-29

Hallo tactac, Danke für die Infos. \quoteon 1) Wenn ich dich richtig verstehe, kannst du ghci starten und benutzen. Man kann dort hinein mit dem Befehl :l ein Haskell-Modul laden (d.i. im einfachsten Fall einfach eine Textdatei mit Funktons- und anderen Definitionen drin). Alternativ kann man auch beim Start von ghci einen Dateinamen als Argument angeben; die Datei wird dann gleich am Anfang geladen. Die in den geladenen Modulen definierten Funktionen stehen dann in ghci zur Verfügung. Während der Entwicklung kann man dann mit :r den Code erneut laden, nachdem man eine oder mehrere Quelldateien verändert hat. \quoteoff Kompiliert werden die Dateien aber nicht. Stimmt das ? Habe Folgendes gemacht: Bem: Inhalt der Datei test1.hsig: main = do let var1 = 2 let var2 = 3 putStrLn "Die beiden Zahlen ergeben zusammengerechnet:" print(var1 + var2) 1) Auf Kommandoebene habe ich auf meinem Win10-Rechner eingegeben: C:\WINDOWS\system32>ghci test1.hsig Dann kommt die Meldung: GHCi, version 9.0.1: https://www.haskell.org/ghc/ :? for help [1 of 1] Compiling Main[sig] ( test1.hsig, interpreted ) *** Exception: Maybe.fromJust: Nothing CallStack (from HasCallStack): error, called at libraries\base\Data\Maybe.hs:148:21 in base:Data.Maybe fromJust, called at compiler\\GHC\\Tc\\Utils\\Backpack.hs:1006:16 in ghc:GHC.Tc.Utils.Backpack ghci> Was habe ich falsch gemacht? 2) Eingabe: ghci> :l test1.hsig Dann kommt die Meldung: [1 of 1] Compiling Main[sig] ( test1.hsig, interpreted ) *** Exception: Maybe.fromJust: Nothing CallStack (from HasCallStack): error, called at libraries\base\Data\Maybe.hs:148:21 in base:Data.Maybe fromJust, called at compiler\\GHC\\Tc\\Utils\\Backpack.hs:1006:16 in ghc:GHC.Tc.Utils.Backpack Was habe ich falsch gemacht? 3) Eingabe: ghci> ghc --make test1.hsig Dann kommt die Meldung: :2:1: error: Variable not in scope: ghc ghci> Was habe ich falsch gemacht? \quoteon 2) VSCode mit der Erweiterung "Haskell for Visual Studio Code" (man suche in der Erweiterungssuche nach dem Identifier haskell.haskell) scheint ganz gut zu funktionieren. \quoteoff Habe das auch gemacht. Beim Starten von Run gibt es folgende Meldung: You don`t have an extension for Debuging Haskell. Should we found an Haskell extension on the marketplace. Dan habe ich installiert: Haskell GHCi Debug Adapter Phoityne Jetzt kann ich zwar Run-Start Debugging gehen. Dann verlangt er aber wieder irgendwelche Arumnete, z.B: put arguments of function main. Irgendwie funktioniert gar nichts... mfg cx


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.6, vom Themenstarter, eingetragen 2021-10-29

Hallo Scynja, \quoteon Als Strategie gilt: Einer Anleitung folgen und dann eventuelle Fehler in Google suchen. \quoteoff Welcher Anleitung? Ich vermute, dass du dich auf die von mir verlinkte beziehst. Stimmt das ? \quoteon Dann drückt man wie in dem zweiten Plugin bebildert auf run with Haskell GHCi Debug Adapter. \quoteoff welches zweites Plugin? \quoteon Es kommt unten rechts ein popup, dass kein Compiler installiert ist. Das PopUp leitet einen auf die Webseite https://www.haskell.org/platform/index.html#windows weiter. Dort installiert man dann Chocolatey (oder stellt fest, dass es bereits installiert ist). Dann öffnet man eine CMD als Administrator und gibt "choco install haskell-dev" ein. Dort wird man dann noch einmal darauf aufmerksam gemacht, dass man das Terminal als Administrator öffnen soll (falls man es versäumt hat). Wenn die Installation durch ist, wird man etwas gefragt, was man natürlich mit "a" für all beantwortet. Wenn das Terminal dann fertig ist, gibt man "refreshenv" ein. \quoteoff Das habe ich - wie in meiner verlinkten Anleitung empohlen - gemacht. \quoteon Wenn man dann die launch.json erstellt hat \quoteoff wer soll diese erstellen? In "meiner" Anleitung steht nichts davon. \quoteon in die eine verlinkte yml. \quoteoff welche verlinkte yml? Ich komme leider nicht mehr weiter. mfg cx


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.7, eingetragen 2021-10-29

Punkt1: Nein, ich habe deine yt-Videos nicht geöffnet. Videos sind in der Regel eh keine gute Wahl, um etwas zu installieren. Dann muss man auch gleich alle Kommentare lesen, um die Fehler / veralteten Stellen auszubessern. Ich beziehe mich auf die bebilderte Anleitung des zweiten Plugins und die zahlreichen Hinweise aus Terminal und vs-code. Punkt2: \quoteon(2021-10-29 00:52 - Scynja in Beitrag No. 4) Man installiert die Packages Haskell v1.7.1 und Haskell GHCi Debug Adapter Phoityne \quoteoff Punkt4: Vergiss deine Anleitung. Wenn vs-code oder das terminal dir sagt, dass du python brauchst, dann musst du python installieren. Egal ob ein youtuber das macht oder nicht. Wenn man dem Autoren nicht traut, sollte man natürlich vorher gucken ob und wofür es wirklich gebraucht wird. Punkt5: Wenn du die Schritte Schritt für Schritt abgearbeitet hast, dann wirst du sehen um welche .yml es geht. Du darfst nur keine Schritte überspringen. (Das gilt nicht, wenn ein Befehl, der bei mir fehlschlägt, bei dir direkt durchläuft)


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.8, vom Themenstarter, eingetragen 2021-10-29

\quoteon(2021-10-29 12:28 - Scynja in Beitrag No. 7) Punkt1: Nein, ich habe deine yt-Videos nicht geöffnet. Videos sind in der Regel eh keine gute Wahl, um etwas zu installieren. Dann muss man auch gleich alle Kommentare lesen, um die Fehler / veralteten Stellen auszubessern. Ich beziehe mich auf die bebilderte Anleitung des zweiten Plugins und die zahlreichen Hinweise aus Terminal und vs-code. \quoteoff Auf welche Anleitung beziehst du dich ? Auf welches zweite Plugin? Habe leider keine Ahnung, was du meinst. mfg cx


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.9, eingetragen 2021-10-29




   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.10, vom Themenstarter, eingetragen 2021-10-30

\quoteon(2021-10-29 19:42 - Scynja in Beitrag No. 9) \quoteoff Hallo Scynja, Vielen Dank für deine Mühe. Bemerkung: Inhalt der Datei test1.hsig: ---------------- main = do let var1 = 2 let var2 = 3 putStrLn "Die beiden Zahlen ergeben zusammengerechnet:" print(var1 + var2) ---------------- I) Habe alle meine Extensions deinstalliert und dann wieder deine zwei Vorschläge (in dem Bild) installiert. Wenn ich dann das File test1.hsig öffne, mache ich Folgendes: Run - Start Debugging (oder auch Run without debugging) Dann öffnet sich ein Menüfenster mit folgenden Zeilen: ----------------------------------------------- Selecct Enviroment (da kann man Text eingeben). Chrome Edge: Launch Haskell-debug-adapter Node.js install an extension for haskell ---------------------------------------------- Wenn ich dann "Haskell-debug-adapter" anklicke, bin ich wieder im Editor der Datei test1.hsig. Es wird aber nirgends das Ergebnis von print(var1 + var2) ausgegeben. Zumindest wird aber im Editor eine falsche Syntax angezeigt: Wnn ich bei let var1=2 das let weglasse, wird dies rot gekennzeichnet. Bemerkung: Ziemlich weit rechts oben im Editor gibt es ein kleines Fenster mit einem rot geschriebenen Text, der so klein ist, dass man ihn nicht lesen kann. II) Wenn ich VSCode aufrufe, erscheint am Anfang eie Meldung mit: currently HLS supports GHC9 only partially. See: https://github.com/haskell/haskell-language-server/issues/297 Diese verschwindet mit der Zeit. mfg cx


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.11, eingetragen 2021-10-30

Für Punkt II musst du einfach nur das verlinkte Issue lösen. Bei Punkt I hast du nicht zugehört. Du sollst auf den Reiter run/debug klicken und dann dort "create a launch.json" auswählen. Dann sollst du genau diese neue Datei editieren. Und wenn ich mich richtig erinnere, heißt meine Beispieldatei Sample.hs und nicht test1.hsig. Wenn du das Beispiel zum Laufen gebracht und verstanden hast, kannst du die Datei immer noch umbenennen. Da wir deinen Bildschirm nicht sehen können, müsstest du schon einen Screenshot von der roten Fehlermeldung machen oder besser sie als Text kopieren. Außerdem ist es hilfreich eventuelle Fehlermeldungen aus dem Terminal ebenfalls bereitzustellen. Sonst stochert man nur im Dunkeln.


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.12, vom Themenstarter, eingetragen 2021-10-30

\quoteon(2021-10-30 12:25 - Scynja in Beitrag No. 11) Für Punkt II musst du einfach nur das verlinkte Issue lösen. Bei Punkt I hast du nicht zugehört. Du sollst auf den Reiter run/debug klicken und dann dort "create a launch.json" auswählen. Dann sollst du genau diese neue Datei editieren. \quoteoff 1) Nach Run - Start debugging gibt es nur die Auswahl dieser Punkte. ---------- Selecct Enviroment (da kann man Text eingeben). Chrome Edge: Launch Haskell-debug-adapter Node.js install an extension for haskell --------------- Da kann man kein "create a launch.json" auswählen. 2) "Dann sollst du genau diese neue Datei editieren". Konkret: Was muss da genau reingeschrieben werden? mfg cx


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.13, eingetragen 2021-10-31

Ich bin mir sicher, dass das bei allen aktuellen vs-code-Versionen gleich ist: Das hier: Und dann startet man es so...:


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.14, vom Themenstarter, eingetragen 2021-10-31

\quoteon(2021-10-31 02:17 - Scynja in Beitrag No. 13) Ich bin mir sicher, dass das bei allen aktuellen vs-code-Versionen gleich ist: Das hier: Und dann startet man es so...: \quoteoff Hallo Scynja, 1) \quoteon Ich bin mir sicher, dass das bei allen aktuellen vs-code-Versionen gleich ist: \quoteoff In dieses Menü komme ich aber mit: View - Run Dann wähle ich aus: "to customize Run and Debug open a folder an create a launch.json file" Dann kann ich einen Ordner öffnen, bei mir ist das der Ordner E:\Haskell. Wie von dir vorgeschlagen habe ich die Datei launch.json erzeugt: ------------------------------------------ "workspace":"${E:\Haskell}", "startup":${workspaceFolder}/Sample.hs, "startupFunc":"", ------------------------------------------ workspaceFolder habe ich durch einen konkreten Pfad ersetzt, nämlich dot wo ich meine launch.json Datei erzeugt habe. Ist das korrekt? 2) Leider finde ich nicht das Menü in deinem 2. Bild: Run and Debug haskell(Stack) wo man haskell(Stack) auswählen kann. Wie kommt man da hin ? mfg cx


   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 2948
  Beitrag No.15, eingetragen 2021-10-31

\quoteon(2021-10-31 09:01 - carlox in Beitrag No. 14) ------------------------------------------ "workspace":"$\$${E:\Haskell}", "startup":$\$${workspaceFolder}/Sample.hs, "startupFunc":"", ------------------------------------------ \quoteoff Der Backslash wir vermutlich Probleme bereiten. Halte dich lieber an die Art der Trennung, die in den schon vorhandenen Einträgen genutzt wird. Außerdem ergibt das $\$$-Zeichen an dieser Stelle keinen Sinn.


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.16, eingetragen 2021-10-31

Bei mir stand dort eingangs "${workspaceFolder}/test/spec.hs" oder so etwas in der Art. Deshalb konnte ich mein Programm nicht richtig ausführen. Vielleicht ein paar Worte zum Workspace-Folder: Normalerweise erstellt man sich für ein neues Projekt einen neuen Ordner. Da kann man dann "git init", oder irgend etwas beliebiges ausführen. Zum Arbeiten macht man auf den Ordner einen Rechtsklick und sagt "open with vs-code". Unter "workspaceFolder" legst du einen Namen fest, mit dem du aktuell geöffneten Ordner (wo der .vs-code-Ordner mit der launch.json liegt) später referenzieren kannst. Du solltest ihn auf dem Standardwert lassen. Zumindest musste ich dort nichts ändern. Als Einstiegspunkt ("startup") wurde bei mir allerdings (warum auch immer) eine Datei in einem test-Ordner referenziert, die ich nicht einmal angelegt hatte. Als ich den Pfad dann umgebogen habe, hat er die von mir gewünschte Datei genutzt. Der Pfad sollte dabei relativ bleiben. Wenn man dann die Startup-Datei auswählt und run/debug klickt, sieht man entsprechend die Oberfläche wie in dem dritten Bild.


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.17, vom Themenstarter, eingetragen 2021-10-31

\quoteon(2021-10-31 12:39 - Scynja in Beitrag No. 16) Bei mir stand dort eingangs "${workspaceFolder}/test/spec.hs" oder so etwas in der Art. Deshalb konnte ich mein Programm nicht richtig ausführen. Vielleicht ein paar Worte zum Workspace-Folder: Normalerweise erstellt man sich für ein neues Projekt einen neuen Ordner. Da kann man dann "git init", oder irgend etwas beliebiges ausführen. Zum Arbeiten macht man auf den Ordner einen Rechtsklick und sagt "open with vs-code". \quoteoff Mit einem Rechtsklick kann ich höchtens eine Datei, aber keinen Ordner mit "open with vs-code" öffnen. 1) habe einen Ordner angelegt: E:\Haskell Darunter habe ich Sample.hs kopiert und die Datei launch.json: ---------------------------------- "workspace":"${E:/Haskell}", "startup":${workspaceFolder}/Sample.hs, "startupFunc":"", ---------------------------------- 2) Der vs-code Ordner befindet sich unter: "C:\Users\User\AppData\Local\Programs\Microsoft VS Code\Code.exe" Konkret gefragt: Was muss ich in die Datei launch.json reinschreiben ? mfg cx


   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 2948
  Beitrag No.18, eingetragen 2021-10-31

\quoteon(2021-10-31 13:13 - carlox in Beitrag No. 17) Darunter habe ich Sample.hs kopiert und die Datei launch.json: ---------------------------------- "workspace":"$\$${E:/Haskell}", "startup":$\$${workspaceFolder}/Sample.hs, "startupFunc":"", ---------------------------------- \quoteoff Da ist immer noch ein $\$$-Zeichen vor E:/Haskell. Aber das ist keine Variable, sondern ein konstanter String.


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.19, vom Themenstarter, eingetragen 2021-10-31

\quoteon(2021-10-31 13:19 - zippy in Beitrag No. 18) Da ist immer noch ein $\$$-Zeichen vor E:/Haskell. Aber das ist keine Variable, sondern ein konstanter String. \quoteoff Danke für den Tipp. Habe es abgeändert zu: "workspace":"{E:/Haskell}", "startup":{workspaceFolder}/Sample.hs, "startupFunc":"", Trotzdem funktioniert es nicht. mfg cx


   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 2948
  Beitrag No.20, eingetragen 2021-10-31

\quoteon(2021-10-31 13:34 - carlox in Beitrag No. 19) Trotzdem funktioniert es nicht. \quoteoff Auch die geschweiften Klammern bei E:/Haskell müssen weg. Dagegen ist workspaceFolder eine Variable. Da muss das $\$$ wieder hin. $\bigl[$ Die Referenz auf eine Variable hat die Form ${Variablenname}. $\bigr]$


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.21, eingetragen 2021-10-31

Wenn bei dir das Kontextmenü zum Öffnen eines Ordners in vs-code fehlt, dann gehe in vs-code auf file->open-folder und wähle den Ordner aus. Wenn du alles richtig gemacht hast, sieht es bei dir in vs-code so aus: Die oberen gelben Dateien müsstest du alle haben. Dabei wurden die Dateien im .vs-code-Ordner von vs-code automatisch angelegt. Die weißen Dateien kannst du ignorieren, die hast du nicht. Die Sample.hs hast du selbst angelegt. Da steht dann beispielsweise das drinnen: \sourceon haskell main :: IO () main = do putStrLn "Start" \sourceoff Oder du nutzt das Beispielprogramm, was ich am Anfang geschrieben habe. Wichtig: Schreibe keine einzige weitere Zeile Code in das Programm, bis du bei dir im Terminal nach dem Ausführen nicht die folgende Ausgabe siehst (oder zumindest die Ausgabe "Start"): \sourceon Terminal H>>= :dap-context-modules ... H>>= :dap-set-function-breakpoints ... H>>= :dap-continue ... Start H>>= debugging completed. :quit Leaving GHCi. \sourceoff In der launch.json hättest du nur das aus dem ersten Screenshot abtippen müssen. Ich habe es noch hier noch einmal gelb markiert.


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.22, vom Themenstarter, eingetragen 2021-11-01

Hallo Scynja, 1) Komisch finde ich, dass man zwar im Programm vscode unter "File" einen workspace zwar öffnen, aber nicht erzeugen kann. Aber egal. Es gibt zwar die Möglichkeit File - "Open workspace from file" Was man damit machen kann, weiss ich aber nicht. Dann bin ich eben auf: File - "Open Folder" - Haskell (Den Ordner Haskell habe ich im Windows-Explorer selbst erzeugt). Dann erscheint - so wie bei dir : launch.json task.jason Sample.hs aber nicht phoityne.log 2) Den Inhalt von launch.json habe ich - wie von dir vorgeschlagen - abgeändert zu: ----------------------------- "workspace": "${workspaceFolder}", "startup": ${workspaceFolder}/Sample.hs, "startupFunc":"", ----------------------------- 3) Leider habe ich dann wieder das gleiche Problem wie in Beitrag 10 I): I) Habe alle meine Extensions deinstalliert und dann wieder deine zwei Vorschläge (in dem Bild) installiert. Wenn ich dann das File test1.hsig öffne, mache ich Folgendes: Run - Start Debugging (oder auch Run without debugging) Dann öffnet sich ein Menüfenster mit folgenden Zeilen: ----------------------------------------------- Selecct Enviroment (da kann man Text eingeben). Chrome Edge: Launch Haskell-debug-adapter Node.js install an extension for haskell ---------------------------------------------- Wenn ich dann "Haskell-debug-adapter" anklicke, bin ich wieder im Editor der Datei test1.hsig. Es wird aber nirgends das Ergebnis von print(var1 + var2) ausgegeben. mfg cx


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.23, eingetragen 2021-11-01

\quoteon(2021-11-01 09:50 - carlox in Beitrag No. 22) Hallo Scynja, Wenn ich dann das File test1.hsig öffne, mache ich Folgendes: Run - Start Debugging (oder auch Run without debugging) Dann öffnet sich ein Menüfenster mit folgenden Zeilen: \quoteoff Genau das sollst du nicht machen. Die Datei soll nicht einmal in dem Haskell Ordner liegen. Lösche sie meinetwegen, wenn sie sich automatisch öffnet. Du sollst die Sample.hs anklicken, dann auf run/debug klicken (nachdem du die anderen Schritte alle gemacht hast) und überprüfen, ob du "start" in dem Terminal siehst. Wenn das klappt, darfst du dir die Dokumentation zur Launch.json heraussuchen und versuchen sie zu verstehen. Der nächste Schritt ist dann, dass du einen Ordner "example" anlegst und dort eine "test.hs" (mit dem gleichen Inhalt wie in der Sample.hs) abspeicherst. Dieses mal änderst du im Code das "Start" zu einem anderen Begriff und überprüfst, ob du es schaffst dir die neue Ausgabe im Terminal ausgeben zu lassen. Wenn du das geschafft hast, kannst du dich gerne wieder der test1.hsig zuwenden und probieren sie zum Laufen zu bringen. Davor hat das überhaupt keinen Sinn. Schlimmstenfalls enthält sie Fehler, ist nicht kompatibel oder nicht kompilierbar. Man arbeitet sich immer von einem Minimalbeispiel zu einem Maximalbeispiel hoch. Ausnahme: Das Maximalbeispiel funktioniert auf anhieb. (was es bei dir offensichtlich nicht tut)


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.24, vom Themenstarter, eingetragen 2021-11-02

\quoteon(2021-11-01 22:14 - Scynja in Beitrag No. 23) \quoteon(2021-11-01 09:50 - carlox in Beitrag No. 22) Hallo Scynja, Wenn ich dann das File test1.hsig öffne, mache ich Folgendes: Run - Start Debugging (oder auch Run without debugging) Dann öffnet sich ein Menüfenster mit folgenden Zeilen: \quoteoff \quoteoff \quoteon Genau das sollst du nicht machen. \quoteoff Entschuldigung, ich habe - ohne hinreichend zu überlegen - den Beitrag 10 I) reinkopiert. Richtig muss es lauten: Leider habe ich dann wieder das gleiche Problem wie in Beitrag 10 I): Habe alle meine Extensions deinstalliert und dann wieder deine zwei Vorschläge (in dem Bild) installiert. Wenn ich dann das File Sample.hs öffne, mache ich Folgendes: Run - Start Debugging (oder auch Run without debugging) Dann öffnet sich ein Menüfenster mit folgenden Zeilen: ----------------------------------------------- Selecct Enviroment (da kann man Text eingeben). Chrome Edge: Launch Haskell-debug-adapter Node.js install an extension for haskell ---------------------------------------------- Wenn ich dann "Haskell-debug-adapter" anklicke, bin ich wieder im Editor der Datei Sample.hs Es wird aber nirgends das Ergebnis von ----------------- main :: IO () main = putStrLn "Hello, World!" ----------------- ausgegeben. mfg cx


   Profil
Scynja
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.02.2011
Mitteilungen: 468
Wohnort: Deutschland
  Beitrag No.25, eingetragen 2021-11-02

Erstell doch mal bitte ein .gif (z. B. mit licecap) von dem, was du machst. Geh dabei auch insbesondere in die launch.json und die Sample.hs. Ich habe das ganze in 15 Minuten (Start von 0; + 30-45min Installationszeit) zum Laufen gebracht und du sitzt da nun schon 2 Wochen dran. Das ist schon seltsam. Oder du verzichtest einfach auf das Debuggen und arbeitest mit der Konsole weiter.


   Profil
carlox
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 22.02.2007
Mitteilungen: 1338
  Beitrag No.26, vom Themenstarter, eingetragen 2021-11-03

\quoteon(2021-11-02 10:02 - Scynja in Beitrag No. 25) Erstell doch mal bitte ein .gif (z. B. mit licecap) von dem, was du machst. Geh dabei auch insbesondere in die launch.json und die Sample.hs. Ich habe das ganze in 15 Minuten (Start von 0; + 30-45min Installationszeit) zum Laufen gebracht und du sitzt da nun schon 2 Wochen dran. Das ist schon seltsam. Oder du verzichtest einfach auf das Debuggen und arbeitest mit der Konsole weiter. \quoteoff Erst mal viele Dank für deine Hilfe. Ich hab bis jetzt so viel rumgemurkst, dass es für mich sinnvoll ist, diese Baustelle erst mal zu schliessen und etwas abwarten. Deshalb befolge ich deinen Rat und arbeite erst mal auf Konsole weiter. Ich bin ja kein professioneller Entwickler, sondern nur Anfänger und mache nur Übungen, um etwas Haskell zu lernen. mfg cx


   Profil
carlox hat die Antworten auf ihre/seine Frage gesehen.
carlox wird per Mail über neue Antworten informiert.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]