01:28:02 <Gracenotes> hm.. if you pass a rather large argument to an Update function, is it going to have to be serialized? 03:28:26 <fxr> happstack tutorial is the worst tutorial I ever read... 03:43:54 <stepcut> Gracenotes: yep 03:44:07 <stepcut> fxr: tutorial.happstack.com or the happstack crash course ? 03:44:32 <fxr> former 19:11:36 <McManiaC> stepcut: ping 19:11:51 <stepcut> McManiaC: what's up ? 19:12:01 <McManiaC> stepcut: could you help me with some template haskell? 19:12:08 <stepcut> possibly 19:12:16 <McManiaC> ok 19:12:23 <McManiaC> what I want to do is: 19:14:26 <McManiaC> basicly, I have some "foo :: Int -> ExpQ" 19:14:58 <McManiaC> now I want to generate "enduser" functions with "$(map foo [1..10])" in my library 19:15:06 <McManiaC> how can I add a type to these functions? 19:15:43 <McManiaC> and, is there a list on what "syntactic sugar" TH offers? like [|..|] [d|..|] '' stuff etc? I only found the haddock pages... 19:18:22 <stepcut> you want to add a type signature ? 19:18:42 <McManiaC> yep 19:18:55 <stepcut> there is a way to do that.. 19:20:05 <McManiaC> is $(map ...) even correct? I think I have to use some FunD stuff (since I'll need a name), but I dont know how to "run" a DecQ ? 19:20:45 <stepcut> I dunno.. 19:20:56 <stepcut> it's been a long time since I did any real TH coding 19:21:02 <McManiaC> hm ok 19:21:41 <stepcut> http://old.nabble.com/splices-in-type-signatures-td4869603.html 19:22:04 <stepcut> you use SigD to create a type signature I think 19:23:27 <McManiaC> what exactly is ''Int ? 19:27:19 <stepcut> beats me :) 19:27:31 <McManiaC> ok 19:27:58 <aavogt> it's the name of the type Int 19:31:25 <McManiaC> ''Int :: Name 19:31:26 <McManiaC> ah 19:31:26 <McManiaC> :) 19:55:29 <McManiaC> http://npaste.de/dp/ ← how could I get this to work? :S 19:56:08 <McManiaC> oh wait nvm 20:12:50 <McManiaC> Ferry/Combinators.hs:189:2: 20:12:50 <McManiaC> Type constructor `Q' used as a data constructor 20:12:50 <McManiaC> In the pattern: Q a1 20:12:51 <McManiaC> In the definition of `tuple_4[a3R3]': 20:12:51 <McManiaC> tuple_4[a3R3] Q a1 Q a2 Q a3 Q a4 = Q (TupleE a1 a2 [a3, a4]) 20:12:56 <McManiaC> any ideas? aavogt? 20:14:01 <McManiaC> the function should be something like "tuple_4 (Q a1) (Q a2) ... = Q (TupleE a1 a2 [...])" (this Q has nothing to do with the TH Q!) 20:20:27 <McManiaC> geee thats a lot of work, just to generate a tuple 20:20:27 <McManiaC> :O 20:21:16 <McManiaC> http://npaste.de/dq/ :O 20:21:21 <McManiaC> spot the mistake lol 20:34:30 <aavogt> McManiaC: use 'Q instead? 20:39:10 <McManiaC> woah 20:39:11 <McManiaC> thx 20:39:19 <McManiaC> tuple_4 20:39:20 <McManiaC> :: (QA a1, QA a2, QA a3, QA a4) => 20:39:20 <McManiaC> Q a1 -> Q a2 -> Q a3 -> Q a4 -> Q (a1, a2, a3, a4) 20:39:21 <McManiaC> :)) 21:31:06 <McManiaC> hmm TH is a pain to debug :S 21:44:03 <stepcut> yeah 21:44:10 <stepcut> though ddump-splices helps 21:45:32 <McManiaC> ddump?