Haskell: Como analisar uma cadeia de entrada de entrada / saída em um Float (ou Int ou o que for)?

Eu estou tentando fazer um programa que leva um número de flutuação introduzido pelo usuário via teclado e faz coisas com ele.

No entanto, toda vez que tento analisar a String inserida em um Float, continuo recebendo erros. Cada método que eu tentei não me permitiu pegar dados inseridos pelo usuário e transformá-los em um Float, que é o que eu preciso.

Meu programa de prática (não o problema real que estou tentando resolver) é:

main = do
    putStrLn "Please input a number."
    inputjar <- getLine
    read :: read a => String -> a
    putStrLn( read inputjar :: Int)
Editar

Mais uma pergunta.

Como faço para pegar a string inserida e transformá-la em algo que eu possa usar em um cálculo?

Por exemplo, como faço para pegar a string inserida para que eu possa fazer algo como:

(var + var) / 2

questionAnswers(5)

yourAnswerToTheQuestion