00:28:41 <hpaste> donri pasted “data-lens + acid-state elegance :)” at http://hpaste.org/65370
00:28:50 <donri> stepkut: ^_^
00:32:16 <donri> i know, nothing special. just hit me as wonderfully elegant, the whole interaction of the state monad etc.
00:32:26 <alpounet> stepkut, pushed the new copyDir
00:32:30 <alpounet> (tested)
01:06:12 <alpounet> dcoutts, ping
01:15:45 <alpounet> stepkut, hah!
01:16:34 <alpounet> i commented out hackage in my cabal config, introduced a local repository there (corresponding to what's generated by LocalHackage), cabal updated, and installed boomerang that way :]
01:17:07 <alpounet> however it seems cabal wants a .tar, damn
01:17:28 <alpounet> i'll just keep the two for now
01:22:58 <alpounet> just pushed the fix
01:42:47 <alpounet> stepcut, also added an exception constructor "SourceAlreadyFetched pkg ver", where ver would be the version on hackage, or whatever we'd use to identify the package, and have taken that into account in fetchHackage. i haven't pushed it yet. just waiting for your opinion to push
08:31:06 <stepcut> alpounet: I'll get back to you on that when I am sober
08:31:47 <alpounet> hah
08:31:56 <alpounet> not sober would be fun too, but alright ;)
08:31:56 <stepcut> I had a *really* good night
08:32:18 <stepcut> but making technical decisions right now would be a poor idea
08:32:26 <alpounet> yeah
08:32:49 <stepcut> though, if I had to code right now, haskell would be a good choice, since it would catch many of the mistakes I would make :)
08:33:15 <stepcut> agda would be better.. but it does not have the performance of Haskell (as far as I know)
08:33:39 <stepcut> scoutess (or whatever we decide to call it) is pretty awesome though, IMO
08:33:50 <alpounet> hah
08:37:05 <stepcut> :)
08:37:16 <alpounet> just enjoy the rest of your night, you'll get back to scoutess later :p
08:37:26 <stepcut> indeed
08:37:57 <stepcut> though first I have to finish this gosh darn Happstack 7 website.. it's been dragging on too long
08:38:09 <stepcut> but I keep get interrupted by other really interesting questions
08:38:22 <stepcut> like improvements to boomerang, acid-state, etc
08:39:02 <stepcut> also, I really want to build an electric viola de gamba in the next few weeks :-/
08:39:40 <alpounet> *build* one?
08:40:41 <stepcut> yeah
08:41:47 <stepcut> 80% of it is believing that I can :p
08:42:23 <stepcut> I do also own some books on how to build an electric guitar -- which helps, since it includes useful information
08:43:01 <stepcut> and I can borrow other ideas from online resourcecs about building violins, banjos, and mandolins to supppliment that
08:43:40 <alpounet> there's a quite well known C++ expert that also builds electric guitars
08:43:44 <alpounet> that's awesome
08:44:13 <alpounet> playing on an instrument you have built definitely has to be awesome
08:44:17 <stepcut> :)
08:44:21 <stepcut> I hope so :p
08:45:11 <stepcut> on the way home tonight, I realized that Happstack (as well as snap and yesod) are mostly probably in the top 100 most popular web frameworks in the entire world...
08:46:09 <stepcut> which is a little disturbing.. given that there are currently an estimated 7+ billion people in the world today :-/
08:47:33 <stepcut> similarily.. it is disturbingly/intersting that there is really only one social network (facebook) and that G+ is really the only significant competitor to it..
08:47:50 <stepcut> seems like there should be a *lot* more compitition going on
08:49:17 <stepcut> anyway… it will be 4AM soon… so I should go to sleep
08:49:32 <stepcut> but I look forward to playing with the new scoutess functionality soon!
08:49:39 <alpounet> heh, go ahead
08:49:53 <stepcut>  I think the next key piece is to get sandboxing working
08:50:11 <stepcut> that is required for haddock docs and for testing that builds work
08:50:18 <alpounet> i won't be around until monday, so you can play around and shake the code and then bitch about bugs
08:50:21 <stepcut> k
08:50:43 <alpounet> i'll fix them by then if there are any
08:51:01 <stepcut> in theory I would like to leverage existing code like virthaulenv, etc. But, unfortunately, virthaulenv does not provide a library interface.. only an executable
08:51:31 <stepcut> so we will probably end up having to study the techniques used by virthaulenv, et al, and the implementing something scoutess specific
08:51:47 <stepcut> but… that should probably be less than 100 lines of code.. so that is not really that bad
08:52:45 <alpounet> well, we have to handle sandboxed cabal package database + multiple GHC versions
08:52:52 <alpounet> i wouldn't be surprised if it takes more than 100 LoC
08:52:53 <alpounet> :P
08:55:22 <stepcut> nah… Haskell is awesome like that ;)
08:56:04 <alpounet> hah hopefully we'll figure the answer out very very soon
08:56:07 <stepcut> :)
08:56:16 <stepcut> I hope so
08:56:30 <stepcut> I want to move faster (in everything thing I do)
08:56:53 <alpounet> yeah, that or extend the length of a day
08:56:59 <stepcut> yeah
08:57:39 <stepcut> i need to hire a butler/maid so that I have more time to be creative
08:58:00 <alpounet> haha
08:58:39 <alpounet> i'd really benefit from having one too, but that'd be quite surprising for a student right?
09:00:29 <stepcut> :)
09:00:38 <stepcut> depends on who your parents are ;)
09:07:44 <alpounet> well no they don't fall into that category :P
09:07:54 <stepcut> :)
15:38:12 <parcs`> alpounet: what is scoutess?
16:56:08 <stepkut> parcs`: scoutess is a new tool we are working on to automate a bunch of things and provide reports
16:56:35 <stepkut> parcs`: such as testing that 'cabal install happstack' works when dependencies are changed on hackage
16:57:05 <stepkut> parcs`: checking that the code from darcs builds after any commits are made
16:57:37 <stepkut> parcs`: automatically rebuilding the haddock docs (so you can get up-to-date haddock docs for the dev code)
16:58:07 <stepkut> parcs`: notifying us when a package is uploaded to hackage which is too new to be accepted by our .cabal build dependencies
16:58:39 <stepkut> parcs`: watching for tags stackoverflow and letting us know when there is a new post about happstack
16:58:43 <stepkut> parcs`: stuff like that
16:59:10 <stepkut> parcs`: it will also build against multiple versions of ghc/haskell platform and hopefully on multiple OSes
17:00:57 <parcs`> very neat
17:01:25 <parcs`> is there an online repo?
17:05:15 <stepcut> http://patch-tag.com/r/alpmestan/scoutess
17:05:44 <stepcut> it doesn't do much of use yet. but the pieces are slowly failing into place
17:06:07 <stepcut> the first goal is to get haddock docs and the builder working
17:07:23 <stepcut> for that we need the source code fetcher working, the local hackage server working, the sandboxer working, and then the haddock and builder themselves
17:07:55 <stepcut> and some glue code between them
17:08:15 <stepcut> the source fetcher, local hackage, and haddock builder are the closest to working
17:08:25 <stepcut> the sandboxer is next big blocker
17:16:05 <stepcut> patches happily accepted :)
20:34:43 <donri> stepkut: RouteT makes HSP go boom :(
20:37:27 <donri> i get stuff like, Couldn't match type `XML' with `Integer'; In the first argument of `asChild',
20:37:40 <donri> because I have <% anInteger %>
20:37:44 <donri> like, wtf, man
21:29:49 <donri> ACTION did the same thing over and over again and now it suddenly compiles
21:30:54 <donri> instance (Functor m, Monad m) => EmbedAsChild (RouteT url m) ((url -> [(Text,Maybe Text)] -> Text) -> Css) where
21:30:57 <donri>   -- oh haskell, you
21:40:05 <stepcut> donri: so.. it's all cool now ?
21:41:33 <donri> yea, i think so :)
21:41:47 <donri> now just to throw a Reader on top of this for the acid state handle and mess everything up all over again
21:41:57 <stepcut> :)
21:42:23 <stepcut> you might want to put the Reader inside the monad transformer or you will need to recreate the XMLGenerator instance
21:42:33 <stepcut> and all the EmbedAsChild / EmbedAsAttr instances :-/
21:43:29 <donri> is that what routet messed up, not recreating the Integer instance?
21:43:43 <donri> (i added it myself, asChild = asChild . show)
21:45:30 <stepcut> possibly
22:36:27 <donri> phew, got that working too
22:36:49 <donri> had to do, fmap (mapServerPartT (`runReaderT` st)) site
22:39:55 <donri> seems hell breaks loose if i make an EmbedAsChild instance for Show a => a
22:43:12 <stepcut> indeed
22:43:42 <stepcut> which is unfortunate, but the more you think about the more you understand why it doesn't work
22:46:35 <donri> not really :) i would understand if i got overlapping instances but i got other type errors too
22:47:12 <donri> not that i *really* understand the inner workings of this biznaz, anyway
23:00:21 <donri> stepcut: you didn't miss the new hpmor chapter today did you
23:11:21 <Lemmih> Any guesses on the identity of santa?
23:11:33 <Lemmih> Btw, that lens code was indeed very pretty.
23:12:58 <donri> :)
23:17:00 <donri> or for that matter, the identity of mr hat (same person?)