03:08:50 <stepcut> Lemmih: perhaps you should remove Primitive entirely in 0.7 ?
03:10:11 <stepcut> and add some header at the beginning of the file that allows you to identify different files formats in case there are future incompatible changes?
03:10:24 <stepcut> though perhaps making Checkpoint not a primitive would accomplish that just as well
18:05:44 <notsmack> the blaze-html tutorial says, "the user would probably be pulled out of a reader monad instead of given as an argument in a realistic application"...  does anybody know of any examples of this?
18:07:16 <stepkut> hmm
18:08:22 <donri> http://happstack.com/docs/crashcourse/AcidState.html#acid-state-advanced has such an example
18:09:10 <notsmack> i saw that...  i'm having trouble making "ReaderT X HtmlM ()" work elegantly with composed Html templates
18:09:32 <donri> also https://github.com/dag/kibr/blob/master/src/Text/Kibr/Html.hs
18:09:58 <donri> yea try Reader Html instead, and you'll need to sprinkle some returns
18:10:28 <stepkut> I wonder if you can even do, "ReaderT X HtmlM ()", since HtmlM is not a real monad
18:10:47 <notsmack> yeah, that's another question in my mind
18:11:41 <notsmack> donri, i'll give that a try, thanks
18:12:01 <stepkut> but, Reader Html should definitely work
18:14:02 <donri> also https://github.com/dag/kibr/blob/master/src/Data/Kibr/Environment.hs
18:18:43 <notsmack> ok, a little better...  thanks.
18:54:02 <stepkut> new section on HSP + I18N. Comments appreciated: http://happstack.com/docs/crashcourse/Templates.html#hsp-i18n
19:09:29 <donri> cool, will read
19:09:57 <donri> s/processing/process/
19:10:11 <donri> s/usuable/usable/
19:18:00 <donri> http://www.haskell.org/haskellwiki/I18N broken link
19:18:46 <donri> did you mean http://www.haskell.org/haskellwiki/Internationalization_of_Haskell_programs_using_Haskell_data_types ?
19:23:40 <donri> nice, you got some lojban in there :D
19:24:07 <donri> you know donri is lojban and the happstack app i'm writing is for the lojban site?
20:10:41 <Lemmih> Why did you learn lojban?
20:24:29 <stepcut> I only learned enough to write that doc ;)
20:25:15 <stepcut> any more thoughts on multimaster ?
21:12:51 <stepcut> Lemmih: what it CompactMap also compressed the values using a shared dictionary?
21:13:27 <stepcut> here is a version that compresses without a shared dictionary, and is therefore useless, http://hpaste.org/63836
21:18:06 <Lemmih> What?
21:18:35 <stepcut> uu
21:18:39 <stepcut> sorry, compact-map
21:18:49 <stepcut> wait
21:18:53 <stepcut> now I am confused
21:19:13 <Lemmih> Data.CMap isn't compact-map.
21:19:16 <Lemmih> Is it?
21:19:19 <stepcut> no
21:19:21 <stepcut> similar idea
21:19:31 <stepcut> but it also compresses the values
21:19:36 <stepcut> I think compact-map just converts them to binary?
21:19:48 <Lemmih> Yeah.
21:20:02 <Lemmih> I'm not sure compression is worth it.
21:20:12 <stepcut> it would only be worth it with a shared dictionary
21:20:22 <stepcut> certainly not the way I have done in that demo
21:20:46 <Lemmih> Shared dictionary?
21:21:30 <Lemmih> Won't GC times explode way before you hit your RAM limit?
21:22:40 <stepcut> the way I wrote the code right now, each ByteString is compressed by itself. So, if the same string appears in 10000 entries, you get no benefit. But if all the values had a common dictionary then the could all be compressed using the same code
21:22:57 <Lemmih> Ah.
21:23:13 <Lemmih> Still don't think compression is worth it.
21:23:30 <stepcut> Lemmih: I don't see the GC problem.. hackage2 seems to do ok and is currently using 6GB of RAM (though there is a plan to reduce that drastically)
21:24:03 <Lemmih> Whoa.
21:24:43 <Lemmih> I've felt GC time as O(n).
21:24:56 <stepcut> I guess an easy way to find out would be to take some checkpoint files and compress them
21:26:03 <stepcut> checkpoint files have more redundency due to the version tags I guess
21:26:20 <stepcut> so if they don't compress well, a IxSet will compress even worse :)
21:28:16 <Lemmih> Remote has made multimaster much less of a priority.
21:28:33 <stepcut> >:(
21:28:48 <stepcut> would you be interestin in mentoring multimaster as a GSoC project?
21:29:07 <Lemmih> Yes, absolutely. That would be awesome.
21:29:10 <stepcut> k
21:29:18 <stepcut> I can do a write up
21:29:32 <Lemmih> My last GSoC tshirt is from 2006. Need a new one.
21:29:34 <stepcut> I am putting together a wishlist for acid-state/ixset/hsp/happstack related things
21:29:39 <stepcut> heh
21:29:39 <Lemmih> GSoC is now?
21:29:50 <Lemmih> ACTION is completely out of the loop.
21:30:25 <stepcut> I think they just started accepting proposals
21:30:33 <stepcut> so it is a good time to start hyping things
21:30:40 <Lemmih> Oh hey!
21:30:52 <stepcut> so, the one checkpoint file I tested is 115MB uncompressed and 26MB compressed
21:30:55 <Lemmih> I'm a god damn student now!
21:30:59 <stepcut> haha
21:31:05 <Lemmih> Fuck yeah, I can apply for GSoC!
21:31:10 <stepcut> I can mentor you on multimaster :P
21:31:24 <Lemmih> lol
21:32:39 <stepcut> more seriously though.. if you do end up needing a mentor (because it's the rule) for acid-state related stuff I am happy to offer
21:33:23 <Lemmih> Ah man, this is great. Totally made my night.
21:33:31 <stepcut> :)
21:33:55 <stepcut> here is the list I have started, http://code.google.com/p/happstack/wiki/GoogleSummerOfCode
21:34:04 <stepcut> but it is mostly notes to myself at this point in time
21:40:23 <Lemmih> HiggsSet looks amazing.
21:40:54 <stepcut> yeah
21:41:27 <stepcut> one of the IxSet tasks should be 'decide if we should just use HiggsSet instead'
21:52:56 <stepcut> added a bug in case someone wants to look into a compressed ixset sometime, http://code.google.com/p/happstack/issues/detail?id=171
21:58:27 <Lemmih> Isn't HiggsSet universally better than ixset?
21:58:38 <stepcut> Lemmih: could be
21:59:01 <stepcut> Lemmih: I wish someone would tell me :)
21:59:23 <stepcut> I am happy to update the crashcourse and promote HiggsSet over IxSet if it is
22:00:07 <Lemmih> The more I read the code, the more excited I get.
22:00:23 <stepcut> you could be that person who tells me!
22:00:31 <stepcut> I did look at the code a bit, and it did look nice
22:00:34 <stepcut> and more type safe
22:00:42 <stepcut> though type-safety could be fixed in Ixste
22:00:48 <Lemmih> "yes, yes, this is obviously correct," I keep muttering to myself.
22:00:52 <stepcut> haha
22:01:13 <stepcut> I have certainly never muttered that when reading the IxSet source :p
22:01:26 <Lemmih> The query system is way better in HiggsSet. And the indices.
22:01:32 <Lemmih> Ha, exactly.
22:01:53 <stepcut> well. I guess I will write a tutorial on HiggsSet then
22:02:09 <stepcut> but probably not until March
22:02:22 <Lemmih> And what lovely documentation. I tip my hat to you, Lars Petersen.
22:02:33 <stepcut> :)
22:03:57 <Lemmih> lars-petersen.net doesn't exist /-:
22:04:04 <Lemmih> Who is this mystery man?!
22:04:58 <Lemmih> The Satoshi Nakamoto of Haskell.
22:05:11 <stepcut> Lemmih: though he is in this channel as lpeterse
22:05:40 <lpeterse> ha, I'm here :-)
22:05:54 <Lemmih> Oh, mystery solved.
22:06:09 <stepcut> lpeterese: should we offically disfavor IxSet and switch to HiggsSet ?
22:06:43 <stepcut> blah. OS X Lion broke my tab  completion in x-chat
22:07:54 <lpeterse> did a quick read on the last half hour of conversation. i feel honoured
22:08:37 <lpeterse> mhh, higgsset has some weaknesses as well
22:09:01 <donri> i'm still curious if the way enum and bounded are used can be rid of
22:09:13 <lpeterse> donri: good point
22:09:32 <donri> or is it needed by triemap or something?
22:09:39 <lpeterse> it's dirty and it should be replaced by some template haskell code i think
22:09:41 <stepcut> lpeterse: it would be great if you could write a little comparison of when you might  want to use IxSet and when to use HiggsSet !
22:09:47 <donri> yea
22:10:46 <lpeterse> i could write up my ideas on what the advantages are and what points are still critical
22:11:52 <lpeterse> recently i came to the conclusion that one might want to have several index classes, like lookup index vs. enum index
22:12:06 <stepcut> lpeterse: great!
22:12:36 <stepcut> lpeterse: and then write a paper for ICFP :p
22:13:00 <Lemmih> enum index?
22:14:10 <lpeterse> i though an enum index to be an index where you can pick a position and then go left or right
22:15:21 <Lemmih> Ah, interesting.
22:15:32 <lpeterse> I'll write up something over the weekend
22:16:06 <donri> bedtime
22:16:12 <Lemmih> Indeed.
22:16:35 <Lemmih> ACTION fades into the shadows.
22:16:38 <stepcut> lpeterse: awesome!