Ich bin kürzlich auf einen Bot auf Twitter namens EmojiHaskell gestoßen, der behauptet, "interpretierbaren Haskell-Code mit Emoji-Variablennamen" zu twittern. Ein besonderes Tweet erregte meine Aufmerksamkeit, da es für mich wie missgebildete Syntax aussah, also entschied ich mich, genauer hinzusehen. Bisher habe ich den folgenden Code produziert haben:Verwendung von Emoji in Haskell
module Main where
:: [] -> Maybe
[] = Nothing
(:as) = Just
main = print $ "♥"
Da ich λ
gelegentlich in meinem Haskell-Code verwendet haben, erwartete ich diesen Code zu arbeiten, aber es scheint, dass GHC nicht die Emoji mag überhaupt .
Mit $ runhaskell Main.hs
ich:
Main.hs: 4: 1: Parsen Fehler bei der Eingabe ''
Ich habe bereits einen Blick auf die UnicodeSyntax Erweiterung hatte, und versuchte, um nur ein oder ein einzelnes Emoji anstelle von allen zu verwenden, um zu sehen, ob ein bestimmtes das Problem provoziert.
Jetzt ist meine Frage: Gibt es derzeit einen Haskell-Compiler, der den Code akzeptieren würde? Kann ich GHC irgendwie mit diesem Code arbeiten?
Ich weiß nicht, ob Sie so viel Wert, aber Sie könnten einen Präprozessor machen. Afaik GHC hat eine Flagge, um einen benutzerdefinierten Präprozessor Ihrer Wahl auszuführen. – MasterMastic
AFAIK, Unicode-Syntax ermöglicht es Ihnen, '->' mit '→' zu ersetzen, und so weiter. Es ist * nicht * erforderlich, nur Unicode-Zeichen in Ihrem Quellcode zu verwenden. https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/syntax-extns.html#unicode-syntax – MathematicalOrchid