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!