derive-monoid-0.0.0: test/Build/Derive/List/IsList.hs
{-# LANGUAGE TemplateHaskell, TypeFamilies, OverloadedLists #-}
{-# OPTIONS_GHC -ddump-splices #-} -- for debugging
module Build.Derive.List.IsList where
import Derive.List
import GHC.Exts (IsList (..))
data Elisp
= ElispAtom (Either String Integer)
| ElispSexp [Elisp]
deriving (Show)
deriveIsList ''Elisp 'ElispSexp
main = do
putStrLn ""
print$ toElispList (ElispAtom (Right 1))
print$ ([ElispAtom (Left "+"), ElispAtom (Right 1), ElispAtom (Right 2)] :: [Elisp])