
What package do need to upgrade to get away this problem ?
Thanks.
2011/4/29 Greg Weber
As an alternative to orphan instances, given the recent refactoring it should be easy to now make Julius (and Coffee) a separate package (with the aeson dependency).
On Fri, Apr 29, 2011 at 7:45 AM, Michael Snoyman
wrote: On Fri, Apr 29, 2011 at 5:32 PM, JP Moresmau
wrote: Right, found it.
instance (ToJSON a)=> ToJavascript a where toJavascript =toJavascript . toJSON
That used to work but now seems to go into an infinite loop. I've replaced it by:
instance (ToJSON a)=> ToJavascript a where toJavascript =fromLazyText . decodeUtf8 . encode . toJSON
Unfortunately, that's the best we can do here, since Javascript only works with Text, and aeson only works with ByteString.
and everything works again. Not very elegant, have I missed something? Shouldn't that instance be part of Yesod somewhere? I mean if we standardize on Aeson, and we want variables in Javascript, it makes sense to serialize ToJSON instances in a Julius template.
Good catch, it's supposed to be in yesod-json, but it's commented out right now. It was probably part of the changeover from json-types to aeson and got forgotten. I'm not a huge fan of the placement of this instance (it *is* an orphan), but the alternative is adding aeson as a dependency to hamlet.
Michael
JP
On Fri, Apr 29, 2011 at 4:06 PM, JP Moresmau
wrote: juliusFile, I'm not running any scaffolded site, I've built everything with 1s and 0s. (-: Changing to juliusFileDebug results in the same behavior.
JP
On Fri, Apr 29, 2011 at 3:56 PM, Michael Snoyman
wrote: Are you running juliusFile or juliusFileDebug? (The scaffolded site uses the latter by default.)
Michael
On Fri, Apr 29, 2011 at 4:52 PM, JP Moresmau
wrote: Hi all,
I've just upgraded to Yesod 0.8. I've changed all my Strings into Texts, and all my Data.JSON.Types into Data.Aeson.Types. I use these JSON objects in julius templates, by adding the orphan instance: instance (ToJSON a)=> ToJavascript a where toJavascript =toJavascript . toJSON
(Removing that instance causes compilation error, and I had it when I was using json-types). addJulius works fine when it contains Javascript code. However on one page I use juliusFile to load an external template. This eats all my memory and never returns under Warp when I launch the compiled exe (I see "thread killed" messages in the console, though), and in GHCi crashes with "out of memory". The code hasn't changed and was working fine in yesod 0.7 before the upgrade. If I remove juliusFile the page displays instantly.
Any idea? I'm a bit stumped. I suppose I'm going to remove each of my variables in the julius file to narrow it down, but if anybody has any insight...
Thanks!
-- JP Moresmau http://jpmoresmau.blogspot.com/
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel
-- JP Moresmau http://jpmoresmau.blogspot.com/
-- JP Moresmau http://jpmoresmau.blogspot.com/
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel
-- Best regards, Cheshkov Anton Phone: +7 909 005 18 82 Skype: cheshkov_anton