04:20:11 <purefn1> i'm having a bit of trouble with web-routes-boomerang
04:20:26 <hpaste> purefn1 pasted “Simple routing with Web-Routes-Boomerang” at http://hpaste.org/75519
04:20:45 <purefn1> not sure exactly what the type problem is
04:21:24 <adnam> seems like you're missing an argument
04:21:31 <adnam> i know nothing about boomerang btw :)
04:22:46 <purefn1> ya, i'm just not sure what argument. afaict this is close to the same as the usage in the crash course
05:57:03 <purefn1> ug ok. figured it out. i wasn't hiding (.) from Prelude and importing the Category (.)
05:57:06 <purefn1> duh
11:12:18 <Lemmih> dcoutts_: I'll move to 'binary' once it uses the builder from ByteString.
11:12:30 <Lemmih> dcoutts_: Do you know when that'll be, btw?
15:57:02 <Palmik> Hi guys, I though I would show you a working example of inserting into the multi-key multi-value store: http://hpaste.org/75546 insert takes a key, value and old store and resturns (new store, insert result) where insert result depends on how many auto-increment dimensions the key has.
15:59:37 <Palmik> The reason why, for key with only one auto-increment dimension of type 'a', we get 'a :. ()' instead of just 'a' is that I could not think of a way to define the insert result type without this () artefact. I will push the code on github shortly.
16:06:36 <Palmik> Here it is https://github.com/Palmik/data-store
16:24:59 <stepcut> nice
16:25:30 <stepcut> from the code it looks like example throughs away the newStore, but the they signature indicates otherwise..
16:25:35 <stepcut> I am a bit confused at the moment
16:27:39 <Palmik> Yes, I made a type when I modified the test from here https://github.com/Palmik/data-store/blob/master/tests/Test/Data/Store.hs
16:27:42 <Palmik> *typo
16:29:13 <stepcut> k
16:29:36 <stepcut> looks pretty sweet so far
16:29:44 <donri> random idea: how about instead of nextValue, generalize it to Enum and succ?
16:30:00 <donri> newtype PersonID = PersonID Int deriving Enum
16:30:06 <stepcut> so in this system, the id is not stored in the Person type itself
16:30:16 <stepcut> oh right
16:30:25 <stepcut> it is calculated via the personKey function
16:30:54 <donri> i guess Bounded for initValue as well, but that forces there to be a maxBound
16:30:54 <stepcut> no..
16:31:29 <donri> could use Default though ;)
16:32:15 <Palmik> It's stored inside the Store and calculated when inserting (Data.Store.insert). I could use Enum instead of Auto, or just provide instance Enum a => Auto a ...
16:32:46 <donri> wouldn't that require overlapping
16:34:26 <Palmik> Hmm, I'm not sure... what would it overlapp with? But it might require undecidable instances (the head on rhs is not smaller). The reason I did not use Enum right away is because for some time Auto might make sense but Enum would not.
16:34:42 <Palmik> s/time/type
16:35:39 <Palmik> The advantage of Enum is, as you noted, the automatic deriving.
16:53:47 <donri> well, deriving works for newtypes around types that are already Auto, too
16:54:09 <donri> and yea enum means there must be a pred
16:54:13 <donri> which we're not using
16:55:42 <donri> otoh with enum we can do in e.g. unit tests, [PersonID 1 .. PersonID 10], or with Num also derived just [1..10], and not have to map the constructor on that
17:01:41 <donri> also whether we use enum or not is probably the least interesting thing to worry about at this stage :)
18:38:05 <alpounet> stepcut, how's the pipes based http server going?
20:34:19 <donri> alpounet: http://hub.darcs.net/stepcut/hyperdrive
23:25:15 <alpounet> donri, happstack-yui is yours right?
23:25:47 <donri> alpounet: correct
23:26:19 <alpounet> it's eating, just by itself, an insane amount of memory
23:27:21 <donri> alpounet: are you compiling with -fembed or an old version?
23:27:34 <alpounet> oh, sorry
23:27:38 <alpounet> i talked out of context
23:27:43 <alpounet> i meant the cabal file
23:27:48 <alpounet> in a hackage2 context
23:27:50 <donri> ah :D
23:27:53 <alpounet> see #ghc