Недавно я наткнулся на бот в Twitter под названием EmojiHaskell, который утверждает, что чирикает "интерпретируемый код Haskell с именами переменных emoji". Особый Tweet привлек мое внимание, поскольку это выглядело как неправильный синтаксис для меня, поэтому я решил поближе рассмотреть. До сих пор я выпустил следующий код:
module Main where
🙏 :: [🍳] -> Maybe 🍳
🙏 [] = Nothing
🙏 (👽:as) = Just 👽
main = print $ 🙏 "♥"
Поскольку я использовал λ
иногда в моем коде Haskell, я ожидал, что этот код будет работать, но похоже, что GHC вообще не нравится emoji.
С $ runhaskell Main.hs
я получаю:
Main.hs: 4: 1: ошибка синтаксического анализа на входе '🙏
Я уже рассмотрел расширение UnicodeSyntax, и пытались использовать только некоторые или отдельные эможи, а не все, чтобы увидеть, вызвал ли какой-то вопрос проблему.
Теперь мой вопрос таков: Есть ли в настоящее время компилятор Haskell, который бы принял код? Могу ли я заставить GHC работать с этим кодом каким-то образом?