As far as I could figure out, it's ReaderOptions and WriterOptions that need to be derived from Data and Typeable. Thanks a lot! P.S. Please let me know the commit that adds this. I'm curious to know how you make WriterOptions derive from Data. On Fri, Feb 27, 2015 at 12:02 AM, Matthew Pickering < matthewtpickering-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > Could you perhaps give me a list of what we are currently missing and I > can add them in. There's no reason for us not to derive them as they can be > derived for all types.. > > On Thu, Feb 26, 2015 at 6:56 PM, Shahbaz Youssefi > wrote: > >> @Matthew, so is that what's going to happen? Should I just wait for the >> next release of pandoc and those types would be derived? >> >> On Tue, Feb 24, 2015 at 4:00 PM, Shahbaz Youssefi >> wrote: >> >>> P.S. libpandoc derives LibPandocSettings from those types because it >>> uses a Data.Generics.Rep.toRep function on it. >>> >>> On Tue, Feb 24, 2015 at 3:51 PM, Shahbaz Youssefi >>> wrote: >>> >>>> I would imagine it would. I can't say I really understand what they >>>> are, but bottom line is that [`LibPandocSettings` in the libpandoc >>>> implementation]( >>>> https://github.com/ShabbyX/libpandoc/blob/master/src/LibPandoc/Settings.hs#L10) >>>> contains `ReaderOptions` and `WriterOptions` and wants `deriving (Data, >>>> Typeable)`. >>>> >>>> Again, I wouldn't know why `LibPandocSettings` wants to be derived from >>>> those two types. I'll try to play around in the meantime, see if I can just >>>> remove this requirement. >>>> >>>> On Tue, Feb 24, 2015 at 3:44 PM, Matthew Pickering < >>>> matthewtpickering-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: >>>> >>>>> Would it just be easier if we derived Data and Typeable instances in >>>>> pandoc? >>>>> >>>>> On Tue, Feb 24, 2015 at 2:39 PM, Shahbaz Youssefi >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I'm updating libpandoc to align with pandoc 1.13, but I'm currently >>>>>> having a compilation issue that is beyond my understanding. >>>>>> >>>>>> In [LibPandoc/Instances.hs]( >>>>>> https://github.com/ShabbyX/libpandoc/blob/master/src/LibPandoc/Instances.hs), >>>>>> there is the following code, that had been working with pandoc 1.11: >>>>>> >>>>>> {-# LANGUAGE TemplateHaskell #-} >>>>>> >>>>>> module LibPandoc.Instances where >>>>>> >>>>>> import Data.Data >>>>>> import Data.DeriveTH >>>>>> import Text.Pandoc >>>>>> import Text.Pandoc.Shared >>>>>> import Text.Highlighting.Kate.Types >>>>>> >>>>>> $( derive makeTypeable ''ReaderOptions ) >>>>>> $( derive makeData ''ReaderOptions ) >>>>>> $( derive makeTypeable ''WriterOptions ) >>>>>> $( derive makeData ''WriterOptions ) >>>>>> ... >>>>>> >>>>>> From what I understand, `derive makeData` does some magic, so that >>>>>> later one could say `deriving (Data)` for a type that contains >>>>>> `ReaderOptions` and `WriterOptions`. With newer pandoc, it seems that some >>>>>> types were added. With `TrackChanges` used in `ReaderOptions`, I can add >>>>>> similar `derive makeTypeable/makeData` lines and everything is ok. With >>>>>> `MediaBag` used in `WriterOptions` however, I can't do this. >>>>>> >>>>>> Without `derive makeData` for `MediaBag`, I get the following error >>>>>> for `$( derive makeData WriterOptions )`: >>>>>> >>>>>> No instance for (Data MediaBag) arising from a use of `k' >>>>>> Possible fix: add an instance declaration for (Data MediaBag) >>>>>> In the expression: >>>>>> ... A VERY LONG EXPRESSION WITH A LOT OF `k` INFIX CALLS ... >>>>>> >>>>>> If I add `$( derive makeData MediaBag)` before, I get this error on >>>>>> it: >>>>>> >>>>>> Not in scope: data constructor `MediaBag' >>>>>> >>>>>> I have `import Text.Pandoc.MediaBag`. >>>>>> >>>>>> From what I could make out, the reason is probably that others, such >>>>>> as `TrackChanges` are defined with the `data` keyword, but `MediaBag` is >>>>>> defined with the `newtype` keyword. Is that so? How then, can I make `$( >>>>>> derive makeData ''MediaBag)` work? If not possible, how can I make `$( >>>>>> derive makeData ''WriterOptions )` work? >>>>>> >>>>>> Thanks for the help, >>>>>> Shahbaz >>>>>> >>>>>> On Sunday, June 30, 2013 at 8:30:37 PM UTC+2, fiddlosopher wrote: >>>>>>> >>>>>>> Thanks for doing this. I've updated pandoc-extras. >>>>>>> >>>>>>> +++ Shahbaz Youssefi [Jun 30 13 13:04 ]: >>>>>>> > Hi again, >>>>>>> > I updated libpandoc (for C bindings) to the current version of >>>>>>> pandoc >>>>>>> > and made some improvements. I sent a pull request to toyvo, but >>>>>>> it has >>>>>>> > been left unanswered (he's probably not so active on github). >>>>>>> In the >>>>>>> > meantime, you could >>>>>>> > [refer]([1]https://github.com/jgm/pandoc/wiki/Pandoc-Extras) >>>>>>> to my fork >>>>>>> > at: >>>>>>> > [2]https://github.com/ShabbyX/libpandoc >>>>>>> > Have a nice day, >>>>>>> > Shahbaz >>>>>>> > >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "pandoc-discuss" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>>>> To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/pandoc-discuss/01aacd0c-291e-455d-9fc0-0673a904671c%40googlegroups.com >>>>>> >>>>>> . >>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "pandoc-discuss" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>>> To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/pandoc-discuss/CALuQ0m_3c63CN4VLEqMM953bxi%3Dmou4M7%2Brukbdo9H1%3D7em7sQ%40mail.gmail.com >>>>> >>>>> . >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "pandoc-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/pandoc-discuss/CALeOzZ8xyQC6w3xadF4q7szJW7XhXwGytHuvS1oX8S_b2AzKHA%40mail.gmail.com >> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "pandoc-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To view this discussion on the web visit > https://groups.google.com/d/msgid/pandoc-discuss/CALuQ0m980cpfsfEd2ugnwydg7jdqtdV44VLgNYhY8SX8-bpfoA%40mail.gmail.com > > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "pandoc-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CALeOzZ85gD98v54g70R9Ez%2BjMgTg3rvtTJ6h4L%2BT%3DkeupPs75w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.