5

Vấn đềTạo mã cuối cùng từ mẫu mã Haskell

Có thể tạo ra "tinh khiết" Haskell mã ra của một bao gồm các chức năng Template Haskell?

Tôi muốn lấy mã nơi tất cả các qutations và mối nối của Mẫu Haskell được mở rộng? (Để nuôi nó thành một trình biên dịch Haskell (Haste), mà không hỗ trợ Template Haskell được nêu ra.)

Ví dụ

mô-đun TupleReplicate:

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

chính:

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

có thể được mở rộng đến:

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

Trả lời

0

Cách dễ nhất là biên dịch (hoặc giải thích GHCi) với -ddump-splices.

+2

Theo như tôi biết '-ddump-splices' KHÔNG tạo mã Haskell đang hoạt động. –