Ich probiere Haskell in GHCi unter Windows aus. In dem Tutorial, dem ich folge, ist ein Funktionsname in Backticks enthalten: x 'mod' 7
. Allerdings kann ich das Zeichen in GHCi nicht eingeben.
Das Backtick-Zeichen hat den ASCII-Wert 096, aber GHCI erlaubt Alt + Nummer kein beliebiges Zeichen einzufügen. Kopieren / Einfügen funktioniert auch nicht. Was soll ich tun?
Ich weiß nicht, wie man einen Backtick an Ghci sendet, wenn es auf Ihrer Tastatur nicht vorhanden ist. Aber dieses kleine technische Problem sollte dich nicht davon abhalten, Haskell auszuprobieren!
Sie können Haskell ohne Backticks programmieren, indem Sie f a b
anstelle von a 'f' b
verwenden. In Ihrem Beispiel mod x 7
.
Sie können Ihr Tastaturlayout für die Programmierung auf us-amerikanisch setzen. Während es etwas Übung braucht, um die Schlüssel mit den falschen Bezeichnungen auf der physischen Tastatur zu finden, kann es bequem sein, [
, ]
, {
und }
zugänglicher zu haben, und in Ihrem Fall den Backtick zu haben überhaupt.
Sie können den Backtick aus der Zwischenablage einfügen. (Aktivieren Sie den "Schnellbearbeitungsmodus" und "Einfügen-Modus" aus den Einstellungen des Befehlsfensters, und verwenden Sie dann die rechte Maustaste, um einzufügen).
Vielleicht hilft die Verwendung eines Wrappers um das Befehlsfenster? Ich benutze manchmal Console2 und manchmal M-x shell
in Emacs.
Vielleicht hilft WinGHCi? Es unterstützt mindestens Kopieren und Einfügen.
Siehe die Antwort von Ørjan Johansen zum Hinzufügen einer benutzerdefinierten Tastenkombination zu ghci.
Viel Glück mit Haskell!
@Toxaris gab mehrere Vorschläge in seiner Antwort, aber in einem Kommentar erwähnte er auch die Möglichkeit, GHCi's Version von readline zu konfigurieren (die haskeline
). Und indead it ermöglicht benutzerdefinierte Tastaturbelegungen . Also habe ich beschlossen, das auszuprobieren.
In der Dokumentation wird angegeben, dass die Anpassungen in ~/.haskeline
vorgenommen werden sollen. Dies ist kein Windows-Pfad, aber es wird vermutlich in .haskeline
übersetzt, egal, welches Verzeichnis System.Directory.getHomeDirectory
zurückgibt. ( vim
kann diesen Pfad auch direkt unter Windows bearbeiten, aber das habe ich erst danach bemerkt.) Also setze ich folgendes in C:\Users\Ørjan\.haskeline
:
Jetzt kann ich '
in GHCi bekommen, indem ich alt-'
!