Recentemente mi sono imbattuto in un bot su Twitter chiamato EmojiHaskell, che dichiara di twittare "codice Haskell interpretabile con nomi di variabili emoji". Un particolare Tweet ha attirato la mia attenzione, poiché mi sembrava una sintassi malformata, quindi ho deciso di dare un'occhiata più da vicino. Finora ho prodotto il seguente codice:Utilizzo di Emoji in Haskell
module Main where
:: [] -> Maybe
[] = Nothing
(:as) = Just
main = print $ "♥"
Dal momento che ho usato λ
a volte nel mio codice Haskell, mi aspettavo questo codice al lavoro, ma sembra che GHC non piace l'emoji a tutti .
Con $ runhaskell Main.hs
ottengo:
Main.hs: 4: 1: Errore di analisi su input ''
Ho già dato un'occhiata al UnicodeSyntax estensione, e provato usare solo alcune o singole emoji anziché tutte per vedere se una certa causa provoca il problema.
Ora la mia domanda è questa: C'è attualmente un compilatore Haskell che accetterebbe il codice? Posso ottenere GHC per lavorare con questo codice in qualche modo?
Non so se ti interessa molto ma potresti fare un preprocessore. Afaik GHC ha un flag per eseguire un preprocessore personalizzato di tua scelta. – MasterMastic
AFAIK, Unicode Syntax consente di sostituire '->' con '→', e così via. Non * è * richiesto solo per usare caratteri Unicode nel codice sorgente. https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/syntax-extns.html#unicode-syntax – MathematicalOrchid