packages feed

derive-monoid-0.0.0: test/Build/Derive/List/Semigroup.hs

{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -ddump-splices #-} -- for debugging 
module Build.Derive.List.Semigroup where 
import Derive.List
import Data.Semigroup 

data Elisp
 = ElispAtom (Either String Integer)
 | ElispSexp [Elisp]
 deriving (Show)

deriveSemigroup ''Elisp 'ElispSexp

main = do
 putStrLn ""
 print$ toElispList (ElispAtom (Right 1))
 print$ ElispSexp [ElispAtom (Left "+"), ElispAtom (Right 1), ElispAtom (Right 2)] <> ElispAtom (Right 3)