15:43:13 <donri> morning
15:43:31 <donri> oh hey pipes 2.0
19:58:53 <serialhex> 'ello, i just wanted to file a (small) bug report:  on the crashcourse while doing the file uploads, all the way at the bottom of the file there is `p (string $ ...` lines, those dont work, but replacing `string` to `toHtml` does....  if there is a better place to post this let me know and i'll post it there
19:59:24 <stepkut> hmm
20:00:03 <serialhex> it's on this page: http://www.happstack.com/docs/crashcourse/RqData.html
20:00:19 <stepkut> yeah
20:00:23 <stepkut> probably because of the new blaze-html 0.5
20:00:47 <donri> yea i've had similar errors, i think string is either moved or gone
20:01:22 <serialhex> probably, b/c that's what i'm using
20:01:41 <donri> happstack was only very recently updated to support the new blaze-html
20:01:58 <stepkut> fixed in the repo, will be pushing an update shortly
20:02:13 <donri> (another thing scoutess could do eh, test lhs docs against new releases)
20:02:28 <stepkut> donri: yup
20:02:51 <stepkut> there is a make target that checks that everything builds. but it only works if (1) someone actually runs it now and then (2) you have all the dependencies installed
20:02:57 <stepkut> serialhex: thanks for the report!
20:03:05 <stepkut> serialhex: how do you find the crash course overall?
20:07:55 <serialhex> stepkut: i like it, as i was deciding between yesod, snap, happstack & rails (i know ruby better than i know haskell) and i'm liking happstack because it has better / more comprehensive docs than the others
20:08:18 <stepkut> serialhex: sweet!
20:09:14 <serialhex> rails basically throws you into learning 500k tools at once! snap, while minimalistic and interesting is almost useless to a newcomer, and yesod's tutorials are like 99% theory, and thus a pain if you wanna 'just build something'
20:09:51 <serialhex> i assume you're one of / the lead dev's @ happstack?
20:09:58 <stepkut> yes
20:10:30 <serialhex> well, thank you for building it!  i am enjoying it muchly!! :D
20:10:36 <stepkut> thanks!
20:10:50 <stepkut> I didn't start the project, but I am not the biggest contributor
20:11:01 <stepkut> I think I am somewhere between the 3rd and 5th maintainer
20:11:09 <serialhex> ...though now i have to figure out how to get haskell to interact with MS COM objects...  :-/
20:11:13 <stepkut> I am /now/
20:11:20 <stepkut> ooo. yuck!
20:11:28 <serialhex> ahh, cool cool, well let the rest of em know i appreciate it!
20:11:30 <luite> serialhex: sounds fun :(
20:12:13 <serialhex> yeah, i have to interface with quickbooks for all our customer data, and we're too cheap (for now) to upgrade so i can use the web interface (which would be *soooo* much easier!!!)
20:12:44 <serialhex> so, if anybody has any nifty suggestions, i'm open to them :D
20:14:20 <luite> serialhex: i guess you should start with the com package and update it to work with non-ancient ghc :)
20:14:41 <serialhex> luite: theres a com package!?!? hmm...
20:15:09 <luite> (perhaps it does work, but last update april 2009...)
20:17:27 <serialhex> well, i'll have to find out, thanks luite!!!
21:02:25 <donri> oh i so hate haddock markup
22:58:33 <stepcut> donri: Preprocessing library happstack-yui-7351.2.0...
22:58:33 <stepcut> Haddock coverage:
22:58:35 <stepcut> stack overflow: use -g +RTS -K<size> to increase it
22:58:42 <stepcut> >:(
22:59:47 <stepcut> maybe the happstack-yui should have a custom Setup.hs that downloads the yui source from somewhere else and unpacks it?
23:03:41 <donri> hm, why?
23:04:24 <donri> and why is it working fine for me
23:04:56 <stepcut> dunno
23:05:26 <donri> why would downloading change anything though?
23:05:31 <donri> isn't the problem the embedding?
23:06:17 <stepcut> oh you use file-embed on those files?
23:06:24 <donri> yep
23:06:35 <stepcut> wacky
23:07:10 <donri> it's faster, easier to deploy and simplifies the code... can't use sendfile since they need to be combined server-side
23:09:07 <stepcut> ah
23:11:23 <donri> (dynamically, that is)
23:11:48 <stepcut> ok. reform is released. And the documentation is on happstack.com
23:11:54 <donri> nice!
23:12:46 <stepcut> and very well documented at that!
23:13:02 <stepcut> complete haddock docs, and an in-depth tutorial
23:15:21 <donri> could it be a 64 bit issue? both me and travis run 32 bit, do you know what hackage runs?
23:15:42 <stepcut> I run 64-bit
23:15:47 <donri> kinda weird though since file-embed is just bytestrings... word8 is word8?
23:15:53 <stepcut> I think hackage is 32-bit
23:15:58 <donri> ah
23:16:35 <stepcut> not very sure
23:19:16 <donri> iirc sendfile used to fail on hackage due to 32 bit
23:19:32 <stepcut> yes
23:19:37 <stepcut> that is why I think it is 32-bit
23:30:37 <donri> the original formlets embeds the validators inside the view?
23:30:45 <donri> looks kinda cool
23:32:22 <stepcut> the original formlets what reform and digestive-functors <= 0.2 did
23:33:07 <donri> well in the paper it looks like it embeds validators inside xml literals via a preprocessor
23:33:44 <stepcut> oh, the ocaml version
23:35:30 <stepcut> could do that with a QQ now
23:35:59 <donri> i suppose it would be difficult to get that working neatly with labels bound to inputs while still using hsx literals?
23:36:02 <stepcut> [formlet| |]
23:36:17 <donri> why qq instead of hsx?
23:36:40 <stepcut> to do it with hsx would probably require changing HSE
23:37:37 <stepcut> though, maybe not
23:38:05 <stepcut> maybe there is some way to do, <div>Month: <% inputMonth %></div>, and transform that into what is needed
23:38:35 <stepcut> that doesn't require any new syntax, so you could use the existing HSE parser
23:39:00 <donri> if it can be done sanely without losing flexibility and composability it could be super-cute
23:39:08 <stepcut> trhsx would turn that into, genElement "div" [] [asChild "Month: ", asChild inputMonth]
23:39:37 <donri> ah so you're saying you'd need a separate preproc but could still use HSE/XmlSyntax?
23:39:40 <stepcut> now, keep in mind, that hsx imposes no requirements on the types of genElement or asChild
23:40:10 <stepcut> so, that gives us more flexibility
23:40:38 <stepcut> <div>Month: <% inputMonth :-> month %></div>
23:40:56 <stepcut> maybe something like that.. where month is a lens ?
23:41:00 <donri> :-> happy code is happy!
23:41:15 <stepcut> |->
23:42:02 <donri> i think there's a formatting bug in the docs
23:42:07 <donri> Using Proofs in unproven Forms
23:42:15 <donri> the text beyond that is big
23:42:51 <stepcut> hmm
23:43:04 <donri> ah yea <code>Proofs<code>
23:43:38 <stepcut> odd.. should have gotten an html validation error
23:43:57 <stepcut> bug in the Makefile
23:44:15 <stepcut> ooh lots of validation errors now
23:44:24 <donri> \o/
23:48:00 <stepcut> fixed
23:48:11 <donri> a problem with lenses is that you can't really use them to create new values without "undefined" or defaults
23:49:16 <stepcut> yeah
23:49:39 <stepcut> and you can't tell if you really updated all the fields
23:50:47 <donri> so, reform generates ids for inputs and binds the "for" attributes of labels to them right? does that compose too? like, nested forms
23:51:10 <stepcut> yup
23:51:47 <stepcut> well, depends what you mean by nested forms I guess
23:51:59 <donri> well i never used it but i recall it was a feature of digestive
23:52:37 <stepcut> then it is probably a feature of reform.. just not sure what your expectations are
23:52:46 <donri> like if you have a form for UTCTime and a field in another form for that type you can use that first form in place of some input function
23:53:10 <donri> i imagine that should maybe "just work" due to applicative, perhaps?
23:53:16 <stepcut> yeah
23:53:57 <stepcut> like: utcTime :: SimpleForm UTCTime,   Foo <$> label "start" ++> utcTime <*> label "end" ++> utcTime
23:54:28 <stepcut> of course, you want to validate that start time is before the end time