Skip to content

Instantly share code, notes, and snippets.

@laughedelic
laughedelic / Printf.hs
Created November 15, 2011 20:33
printf с помощью Template Haskell
{-# LANGUAGE TemplateHaskell #-}
module Printf (printf) where
-- Импортируем инструментарий Template Haskell
import Language.Haskell.TH
-- | Шаблон для функции printf
-- Пример использования:
-- > putStrLn ( $(printf "Number %d is %s of %d.") 327 "square" (327^2) )
@laughedelic
laughedelic / TH+SYB_substNames.hs
Created November 1, 2011 23:29
Names substitution in declaration templates (TH + SYB)
{-# LANGUAGE TemplateHaskell #-}
import Language.Haskell.TH
import Language.Haskell.TH.Lib hiding (rename)
import Control.Monad (liftM)
import Data.List (lookup)
import Data.Generics.Aliases (mkT)
import Data.Generics.Schemes (everywhere)
----------------------------------------------------------------