13:37:47 <donri> stepcut: http://darcsden.com/dag/happstack/patch/20120415133652-6eb02
13:38:13 <donri> it would probably be a good idea to move HSP.Identity out of happstack-hsp
15:03:50 <stepkut> donri: neat!
15:06:01 <stepkut> move HSP.Identity into a package that does not depend on happstack/
15:24:31 <donri> stepkut: was / a "?" ?
15:25:00 <donri> if so, exactly. this patch makes hsx-jmacro depend on the whole of happstack which is a little unnecessary.
15:25:07 <stepkut> yeah
15:25:24 <stepkut> HSP.Identity should be in the hsx library itself or something
15:25:33 <donri> yea
15:25:41 <stepkut> well, right now it is all a bit messed up
15:26:17 <stepkut> the XML type and renderAsHtml/renderXML functions are in the HSP library. But the HSP library also forces a dependency on HJScript/HJavaScript, even though that type and those functions do not require it
15:26:40 <stepkut> so, those functions and type should be moved into the hsx package, or moved into a package sike, hsx-xml that only depends on hsx
15:27:07 <stepkut> but, if we are going to make a big change like that... then we should also switch to Text (or figure out if it should switch to text at least)
15:27:37 <stepkut> in your text/jmarco stuff, have you experiment with Text vs the Text Builder ?
15:28:00 <donri> i used wl-pprint-text which is a pretty printer combinator lib
15:28:04 <stepkut> ah
15:28:21 <donri> (jmacro was already using 'pretty' and this was mostly compatible)
15:29:49 <donri> stepkut: another possibility is rendering via blaze-html... that's what hamlet does.
15:30:39 <stepkut> rendering javascript via blaze-html?
15:30:46 <donri> no, hsp :)
15:30:47 <stepkut> or blaze-builder?
15:31:00 <stepkut> oh, i tried that once.. didn't seem to help
15:31:06 <donri> ah ok
15:31:19 <donri> could help in making the two more compatible... duno
15:31:28 <stepkut> dunno
15:32:41 <donri> blaze is about twice as fast as hsp in my tests, but that might be the serverpart xmlgenerator problem reported in the happstack bugs
15:32:51 <donri> haven't compared identity hsp with blaze
15:34:18 <donri> actually, that was benchmarking rq/s not rendering times...
16:36:15 <stepkut> donri: seems like a plain old, ToJExpr HTML.XML, instance would be useful
16:36:34 <stepkut> then I could generate the XML in any monad
16:39:30 <alpounet> ACTION just comes back from a karting race
16:40:07 <donri> stepkut: good point
16:42:30 <stepkut> donri: the Ident instance is a useful special case of course
16:42:49 <stepkut> though, since you can't do, `(<div>wheee~</div>)`, it is less exciting
16:43:10 <stepkut> but still useful
17:33:21 <donri> stepcut: http://darcsden.com/dag/happstack/patch/20120415172517-6eb02
17:34:45 <donri> also http://darcsden.com/dag/happstack/patch/20120415173207-6eb02
20:27:07 <tazjin> Do IxSet key types need to be unique across multiple data structures as well? Or just within one?
20:31:26 <stepkut> just one
20:32:09 <stepkut> if you have, IxSet Foo, and IxSet Bar, they could both have an Integer key
20:32:16 <tazjin> Thought so. We'd been using unique ones everywhere for readability though :p
20:33:28 <stepkut> ah
20:33:52 <stepkut> I find that useful
20:34:21 <stepkut> do you use the unique key name in the types themselves? Or just for the key generation functions themselves?
20:38:36 <tazjin> The latter
20:41:02 <stepkut> cool
20:41:19 <stepkut> I like to do that sometimes just for clarity
21:02:19 <stepkut> donri: pulled all your patches
21:02:58 <stepkut> donri: do you have anything else in the pipeline? I am planning to make a new release to hackage in the next 1-3 days
21:26:51 <donri> hm, don't think so
21:26:58 <donri> clientsession is a separate package anyway ...
21:27:32 <stepkut> yeah
21:31:09 <donri> if my jmacro patches are accepted upstream and released we'll have to update our jmacro packages...
21:31:31 <stepkut> k
21:31:40 <stepkut> so, we should wait a few days then?
21:31:44 <donri> but haven't even spoken with the author yet; want to investigate more if i can get rid of even more strings
21:31:51 <stepkut> k
21:31:59 <stepkut> there is no real urgency
21:32:06 <stepkut> especially on the hsx-jmacro stuff
21:32:17 <donri> no reason to hold off a release either
21:32:18 <stepkut> I could release a new happstack-server for the file serve stuff and do the hsx-jmacro stuff later
21:32:29 <stepkut> k
21:32:33 <donri> "release early, release often" :)
21:32:49 <stepkut> yeah.. just wondered if releasing too early and too often could result in cabal issues
23:20:26 <stepkut> there should be a function like this:
23:20:27 <stepkut> ixFunS :: (Ord b, Typeable b) => (a -> b) -> Ix a
23:20:27 <stepkut> ixFunS f = ixFun $ \a -> [f a]
23:20:31 <stepkut> but.. that name is terrible
23:26:04 <donri> ixFun1 ?
23:26:49 <stepkut> better!
23:27:02 <stepkut> S was was singleton (in case that is not obvious)
23:27:11 <donri> i thought "single" :)
23:27:23 <stepkut> close!
23:27:54 <donri> ixFunButNotAList
23:28:37 <stepkut> but... with out the context, I doubt you would have guessed what ixFunS was supposed to mean... ixFun1 seems a bit more clear
23:30:22 <donri> ixGen/ixFun could probably have a prettier names anyway
23:30:42 <stepkut> :)
23:30:45 <stepkut> such as ?
23:31:20 <donri> like, ixFun could be something like makeIndices and then ixFun1 would simply be makeIndex
23:32:08 <stepkut> makeIndices sounds like a template haskell function to me
23:32:10 <stepkut> like, makeAcidic
23:32:12 <donri> the whole ixSet/ixGen/ixFun stuff just looked weird and cryptic to me before i learn it
23:32:34 <donri> hasIndices, hasIndex?
23:33:40 <stepkut> those sounds like classes..
23:33:42 <sbenitezb> wasn't there a binary to create new projects? Like happstack create project?
23:33:52 <donri> sbenitezb: it's in happstack-init now
23:33:54 <stepkut> 'has' sounds like something that returns a 'Bool' to me
23:33:59 <sbenitezb> ahh thanks
23:34:14 <stepkut> sbenitezb: but happstack-init is only available in darcs.. because no one is currently working on it
23:34:23 <donri> oh
23:34:43 <sbenitezb> does it generate up to date code?
23:34:58 <stepkut> sbenitezb: possibly?
23:35:46 <stepkut> happstack-init is desirable.. but it needs a loving maintainer to adopt it
23:36:12 <stepkut> someone needs to modify it so that it asks you questions and generates code based on your responses
23:36:27 <stepkut> right now it is basically just a 'cp -a' of the guestbook project
23:38:02 <sbenitezb> Right now I lack the knowledge to maintain it, but if I finally build a working web service in haskell, I might adopt it
23:39:12 <sbenitezb> Any first hand experiences in using acid-state to maintain < 100000 "objects"?
23:40:06 <stepkut> sbenitezb: yes
23:40:29 <stepkut> (regarding acid-state)
23:40:56 <dsfox1> >100000?
23:41:01 <sbenitezb> how performant is it regarding memory footprint?
23:41:08 <sbenitezb> I know 100000 is not much
23:41:21 <donri> it's over 9,000
23:41:33 <stepkut> sbenitezb: acid-state itself does not really add any memory overhead. It depends entirely on the data structure you store in it
23:42:01 <sbenitezb> Ok
23:42:15 <stepkut> sbenitezb: if you have a database like, AcidState a, the 'a' value is, internally, just stored inside an IORef
23:42:25 <stepkut> sbenitezb: so, it depends entirely on how efficient your 'a' type is
23:43:08 <stepkut> sbenitezb: one thing we are working on developing in the next few months is some better tools for figuring out if you are using a (memory) efficient representation for your data type
23:43:10 <sbenitezb> it should be fine then
23:43:18 <stepkut> yeah
23:43:52 <stepkut> The #1 source of trouble is using the String type -- which is horribly inefficient (and hence the creation of ByteString and later Text)
23:44:21 <sbenitezb> I'm really interested in graph like databases. I was using neo4j and really liked it. The J is the problem
23:44:35 <stepkut> using strict (aka !) or {-# UNPACK #-} might also help.. but that is where we need better tools to confirm the results
23:57:18 <donri> stepkut: ixset test-suite uses detailed-0.9. this is not available in my cabal ...
23:58:10 <stepkut> yes..
23:58:12 <stepkut> ACTION ponders
23:58:44 <stepkut> seems you need a new cabal ?
23:59:44 <donri> yes