Witam mam kawałek kodu:
-- Interfejs wiersza poleceń kalkulatora
{-| Główna funkcja main odpowiedzialna za wprowadzenie dowolnego wyrażenia arytmetycznego -}
main :: IO ()
main = do
hSetBuffering stdout NoBuffering
putStrLn "Wprowadz wyrazenie arytmentyczne ktore ma zostac obliczone"
forever $ do
W.putStr "> "
W.getLine >>= W.putStrLn . calculate . stripSpaces
stripSpaces :: Text -> Text
stripSpaces = W.filter (/= ' ')
{-| Analizuje dane wyrażenie, ocenia powstałe drzewo wyrażeń, a następnie wyświetla wynik. -}
calculate :: Text -> Text
calculate e =
case parseOnly uexp e of
Left e -> "Bledne wyrazenie! Sprobuj ponownie"
Right r -> prettyU r <> textEqu <> prettyR (evalU r)
Variable not in scope: textEqu :: Text
|
288 | Right r -> prettyU r <> textEqu <> prettyR (evalU r)
| ^^^^^^^
i nie wiem dlaczego tak się dzieje.
Ktoś może pomóc?
Dzięki.