Ich versuche, die Grundlagen von Haskell in den Griff zu bekommen, indem ich in der Befehlszeile eine Dateisuchroutine nach dem Notational Velocity-Stil find-as-you-type erstelle. Anstatt das ganze Problem anzugehen, versuche ich eine sehr einfache Version davon: Es gibt eine Datei mit 10 Zeilen und ein 3-Buchstaben-Wort in jeder Zeile. Nach jedem Buchstaben, den ich eintippe, möchte ich die Anzeige einer Liste von Zeilennummern aktualisieren, die das Wort, das ich gerade schreibe, basierend auf meinen bisherigen Eingaben enthalten könnte.
Kann jemand ein Haskell-Programm demonstrieren, das das tut? Ich denke, mein Problem besteht darin, bei jeder Zeicheneingabe eine Neubewertung zu erzwingen. Vielen Dank im Voraus.
Ich werde nicht versuchen, das ganze Haskell-Programm zu schreiben, das du verlangst, aber hier ist ein sehr kurzes Beispiel, das nur das zeigt, was du im Moment festhältst: etwas nach jedem Tastendruck tun. Wir werden nichts Aufregendes machen (einfach eine Nummer drücken und ausdrucken), aber es zeigt, wie man diese eine kleine Aufgabe erledigt, und vielleicht kannst du von dort aus hacken.
Das Einzige, was Sie wirklich wissen müssen, ist, dass Sie die Zeilenpufferung für die Eingabe deaktivieren können.
%Vor% Studing Reaktive Programmierung könnte ein guter Start sein.
Dafür scheint eine gute Bibliothek reaktive Banane zu sein
Es gibt einige Basis Beispiel .
Wenn Sie mehr über FRP wissen möchten, finden Sie auf einen Stack gibt Ihnen einen klaren Überblick.
Tags und Links haskell command-line shell