5

Problemagenerare il codice finale dal modello di codice Haskell

E 'possibile generare il codice Haskell "pura" di quella comprese le funzioni Template Haskell?

Desidero ottenere il codice in cui vengono espanse tutte le qutazioni e le giunzioni di Haskell Template? (Per alimentare in un altro compilatore Haskell (Haste), che non supporta ancora Template Haskell.)

Esempio

modulo TupleReplicate:

tupleReplicate n = do 
    id <- newName "x" 
    return $ LamE ([VarP id]) (TupE $ replicate n $ VarE id) 

principale:

main :: IO() 
main = do 
    print $(tupleReplicate 3) "x" 
    return() 

può essere esteso a:

main :: IO() 
main = do 
    print (\x->(x,x,x)) "x" 
    return() 

risposta

0

Il modo più semplice è compilare (o interpretare in GHCi) con -ddump-splices.

+2

Per quanto ne so '-ddump-splices' NON genera codice Haskell funzionante. –