12:52:56 <etarasov> is there a way to collect all licenses and copyrights from a tree of used libraries to put in distribution of a program?
12:53:52 <etarasov> as it said in BSD3 I should put copyrights of all libraries used in project somewhere in documentation
15:40:13 <HugoDaniel> hi
15:40:19 <HugoDaniel> where can i learn to use macid ?
15:58:00 <etarasov> maybe here http://acid-state.seize.it/
16:02:39 <Lemmih> HugoDaniel: I can teach you.
16:02:42 <Lemmih> (:
19:02:28 <balor__> Is there an acid-state IxSet example out there?
19:02:43 <balor__> my google-foo is failing me
19:12:35 <HugoDaniel> :D
19:17:31 <Lemmih> balor__: I don't think so. But it should be fairly straight forward.
19:53:03 <balor__> Lemmih, It should be.  But I'm a bit shit.  I'd love to see an IxSet version of HelloDatabase
19:53:10 <balor__> in http://mirror.seize.it/acid-state/examples/
19:55:36 <balor__> So far I've got http://hpaste.org/48364  Which I know is totally wrong...but
19:56:06 <balor__> I keep thinking that Database should be an IxSet
19:56:06 <Lemmih> It would be a wonderful exercise for you to write such an example. Who am I to take such an opportunity away from you. (:
20:09:15 <balor__> How do you make an "Indexable Foo" acidic?  i.e. How do you make an instance of a typeclass acidic? (I think)
20:13:09 <balor__> Or maybe I'm doing the wrong thing
20:14:40 <balor__> I've got an "instance Indexable Message".  And I think I want to store this instance in acid-state
20:35:23 <balor__> Lemmih, http://hpaste.org/48367 is wrong, but is it in the right ballpark?
20:40:48 <stepcut> balor__: I will update the meta package dependency. Thanks for the heads up.
20:41:35 <balor__> stepcut, np.  I run into n00b issues, because I'm a n00b :)
20:41:56 <stepcut> the incorrect dependency in happstack.cabal has nothing to do with n00bness
20:42:14 <stepcut> we need to get our buildbot back online
20:42:25 <balor__> buildbot rocks
20:43:07 <stepcut> it would be nice to build once a day, even if no source in happstack changed, just to make sure everything still builds due to other dependency changes
20:43:57 <stepcut> to use IxSet with acid-state, you need an SafeCopy instance for IxSet. The problem right now is where to put that dependency
20:45:48 <stepcut> the instance itself is very simple, I added it to your paste, http://hpaste.org/48367
20:45:53 <stepcut> you'll need some extra imports
20:46:27 <stepcut> and then you need to use $(deriveSafeCopy 1 'base ''Message), etc, to create safecopy instances for your types
20:55:11 <stepcut> for happstack 7, I want to rename happstack-ixset to just IxSet and change it from Happstack.Data.IxSet to just Data.IxSet, and then the safecopy instances can go in that package
20:55:23 <stepcut> but we are at an inbetween phase at the moment
20:56:40 <balor__> Looks like I also need an instance of Message
20:59:30 <stepcut> yup
20:59:35 <balor__> So is IxSet simpy a set of indexes into another structure, or should it also store the Messages?
20:59:51 <stepcut> it will also store the messages
20:59:54 <stepcut> it is self contained
21:06:00 <balor__> I assumed that much, but it wasn't especially obvious from the docs.
21:08:38 <stepcut> yeah, that is also part of making it happstack 7 ready -- adding better docs
21:13:58 <balor__> If Message is simply a "data" i.e. not a typeclass, does it make sense to have an instance of it?
21:16:42 <balor__> http://hpaste.org/48373 is what I've got so far.
21:17:49 <balor__> AcidIxSetEg.hs:21:18:
21:17:49 <balor__>     No instance for (Data.Data.Data Message)
21:17:49 <balor__>       arising from a use of `ixGen'
21:17:56 <balor__> gah...sorry for flooding
21:26:16 <stepcut> the typeclass Data comes from scrap-you-boilerplate, http://hackage.haskell.org/packages/archive/base/4.2.0.2/doc/html/Data-Data.html
21:26:56 <stepcut> it allows you to write functions that work over any value that has a Data instance, with out the code having to know the names of the contructors, etc, in advance
21:27:16 <stepcut> you just need to add, Data to the list of type classes your are deriving
21:34:34 <balor__> cool
21:38:14 <balor__> So just my query method broken now
21:40:37 <stepcut> yeah
21:44:17 <balor__> Lemmih, Here's your IxSet/acid-state example http://hpaste.org/48377
21:45:43 <balor__> mind you, it just returns everything in the query
21:54:49 <balor__> Lemmih, Here it is updated with working query http://hpaste.org/48378 Could you add it to http://mirror.seize.it/acid-state/examples/ ?
22:37:04 <Lemmih> balor__: Heh, I like the version numbers (:
22:45:21 <Lemmih> Woot, my new SSD rocks. Executing events went from 13k/s to 15k/s, rerunning events went from 200k/s to 370k/s.
22:58:54 <balor__> In the guestbook example the GuestBook is a component.  I've read (somwhere) that this is unecessary boiler plate.  Is this no longer recommended?
22:59:14 <balor__> And if so, how does one concat the AppState and a non-component GuestBook?
23:00:47 <balor__> Or is it just recommended to not carry around AppState?
23:03:44 <Lemmih> I'm not familiar with the GuestBook example.
23:05:43 <stepcut> Lemmih: nice
23:06:20 <balor__> happstack new project foo, will create it in the foo directory.  So I assumed it was the happstack-on-rails thing to copy and modify
23:06:37 <stepcut> balor__: the guestbook example uses happstack-state. in acid-state the Component class is removed.
23:07:08 <stepcut> balor__: in happstack-state, you were forced to have one global acid store. With acid-state, query and update take an explicit handle to the store, so you can have as many as you want
23:07:19 <balor__> stepcut, Ah
23:07:28 <balor__> hence the concat :+: operation
23:07:55 <stepcut> not sure what you mean by that. :+: was part of the old happstack-state Component stuff
23:08:16 <balor__> So is AppState important at all?
23:08:48 <stepcut> in happstack-state is was a dummy state that was used to chain all the other state components into a single state component
23:09:16 <balor__> ok, that might explain the "simon.meier@inf.ethz.ch: I currently don't know what this is used for!" comment :)
23:09:17 <stepcut> in acid-state, you would start a different store for each of the different state components
23:09:20 <HugoDaniel> i really dislike that when i do cabal install happstack, the missingh package goes missing :/
23:09:29 <stepcut> HugoDaniel: :-/
23:09:33 <HugoDaniel> i have to do "cabal install happstack missingh" in order for it to install correctly
23:09:38 <stepcut> odd
23:09:43 <stepcut> any idea why?
23:10:00 <HugoDaniel> i dont know, cabal strangeness maybe
23:10:07 <stepcut> damn you cabal!
23:10:14 <HugoDaniel> heehehe
23:10:28 <stepcut> still, things are much better than the pre-cabal days
23:10:43 <HugoDaniel> eheh true
23:10:57 <HugoDaniel> im a post-cabal haskeller
23:11:13 <stepcut> heheh
23:11:18 <HugoDaniel> but i can imagine doing runhaskell Setup.hs for all the packages and dependencies...
23:11:25 <stepcut> back in my day, we didn't even have hierachical modules!!
23:11:33 <Lemmih> Oh main, it was so much worse than that.
23:11:35 <HugoDaniel> ouch
23:11:37 <Lemmih> s/main/man/
23:13:43 <stepcut> HugoDaniel: Setup.hs is still part of cabal. In the really bad days, you just got Makefiles with absolute paths to the maintainers home directory, and no list of build dependencies. The source would import modules you had never heard of and you had to go on google and try to find the source repo that seemed like it was the right thing..
23:14:23 <dsfox> I can't see any relationship at all between happstack and MissingH
23:14:40 <stepcut> hslogger maybe?
23:14:44 <dsfox> maybe
23:15:09 <dsfox> no
23:16:14 <balor__> What replaces Happstack.Data.deriveAll in Data.Acid?
23:16:15 <stepcut> happstack and missingh both depend on hslogger
23:16:20 <stepcut> balor__: nothing
23:16:56 <balor__> stepcut, so just don't use deriveAll anymore?
23:17:17 <stepcut> until just recently, happstack-server did not use the latest version of network, because at the time hslogger did not work with the new network. But now it does.
23:17:44 <stepcut> balor__: yeah.
23:19:26 <stepcut> installing an OS security update, brb.
23:27:33 <HugoDaniel> how do i match the "/" dir ?
23:27:50 <HugoDaniel> dir "/" $ return . toResponse $ "YES"
23:27:54 <HugoDaniel> this doesn't seem to be working
23:29:43 <balor__> HugoDaniel, <<dir "/" $ handler>> is the way I normally do it
23:30:13 <stepcut> I would think that dir "/" would never match
23:31:24 <balor__> methodM GET >> return . toResponse $ "YES" then?
23:31:48 <HugoDaniel> :D
23:32:02 <HugoDaniel> let me try using methodM
23:33:30 <stepcut> what is the question?
23:33:53 <stepcut> nullDir
23:34:04 <stepcut> which is a horrible name, but I didn't pick it :)
23:38:33 <balor__> Do people use patchtag or darcsden in general?
23:40:47 <HugoDaniel> :)
23:56:45 <balor__> If anyone is interested, this is what I'm working on -> https://patch-tag.com/r/balor/Folder/
23:56:49 <balor__> ACTION goes to bed
23:56:50 <stepcut> I use patch-tag
23:57:23 <HugoDaniel> let me check