Haskell:
Interpolando uma string

Como Fazer:

Haskell não tem interpolação de strings nativa como outras linguagens, mas podemos chegar lá com a biblioteca text e sua função printf ou a biblioteca interpolate. Aqui está como você pode usá-las:

-- Usando a biblioteca text
import Text.Printf (printf)

main :: IO ()
main = do
    let nome = "Mundo"
    let boasVindas = printf "Olá, %s!" nome
    putStrLn boasVindas
    -- Saída: Olá, Mundo!

-- Usando a biblioteca interpolate
{-# LANGUAGE OverloadedStrings, QuasiQuotes #-}
import Data.String.Interpolate (i)

main :: IO ()
main = do
    let nome = "Mundo"
    let boasVindas = [i|Olá, #{nome}!|]
    putStrLn boasVindas
    -- Saída: Olá, Mundo!

Aprofundando:

Historicamente, Haskell não incluiu a interpolação de string porque se baseia em uma abordagem minimalista e genérica para a manipulação de strings. Enquanto linguagens como Ruby ou JavaScript têm interpolação de string embutida, Haskell utiliza bibliotecas que proveem essa funcionalidade. Além de printf e interpolate, você pode usar bibliotecas alternativas como formatting para uma abordagem mais funcional e poderosa. A implementação envolve geralmente extensões da linguagem, como OverloadedStrings e quasiquoters para integrar sintaxe de interpolação na linguagem puramente funcional.

Veja Também: