<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi all,<div class=""><br class=""></div><div class="">Does anyone know why this code:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Menlo" class="">module Language.P4.UtilTest where</font></div></div><div class=""><div class=""><font face="Menlo" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Menlo" class="">import Language.P4.Util (mkShow)</font></div></div><div class=""><div class=""><font face="Menlo" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Menlo" class="">data Dummy = Bogus    Char</font></div></div><div class=""><div class=""><font face="Menlo" class="">           | Nonsense Int</font></div></div><div class=""><div class=""><font face="Menlo" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Menlo" class="">$(mkShow ''Dummy)</font></div></div></blockquote><div class=""><br class=""></div><div class="">is producing this error:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Davids-Air-2:P4 dbanas$ stack ghc -- UtilTest.hs -ddump-splices</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">[1 of 1] Compiling Language.P4.UtilTest ( UtilTest.hs, UtilTest.o )</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">UtilTest.hs:24:3-16: Splicing declarations</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">    mkShow ''Dummy</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">  ======></span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">    instance Show Dummy where</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">      show (Bogus x) = show x</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">      show (Nonsense x) = show x</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo; min-height: 14px;" class=""><br class=""></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">UtilTest.hs:24:3: </b></span><span style="font-variant-ligatures: no-common-ligatures; color: #c33720" class=""><b class="">error:</b></span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">    Conflicting definitions for ‘show’</b></span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">    Bound at: UtilTest.hs:24:3-16</b></span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">              UtilTest.hs:24:3-16</b></span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo; color: rgb(83, 48, 225);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">   |</b></span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo; color: rgb(195, 55, 32);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #5330e1" class=""><b class="">24 |</b></span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> $(</span><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">mkShow ''Dummy</b></span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">)</span></div></div><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo; color: rgb(195, 55, 32);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #5330e1" class=""><b class="">   |</b></span><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">   ^^^^^^^^^^^^^^</b></span></div></div></blockquote><div class=""><div style="margin: 0px; font-size: 12px; line-height: normal; font-family: Menlo; min-height: 14px;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""></span></div></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class=""><br class=""></b></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">?</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class=""><br class=""></b></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">The TH splice expansion looks correct to me.</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">If I comment out the second constructor (Nonsense Int), the code compiles without error.</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Thanks,</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">-db</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div></body></html>