Camelia, the Perl 6 bug

IRC log for #darcs, 2011-04-17

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 owst Using annotate, I see that a certain was last modified by patch A. Can I see the annotate state pre-A?
00:04 owst certain line*
00:04 gbeshers left #darcs
00:07 shenshei left #darcs
00:11 lispy_ owst: hmm not that I know of
00:11 owst Ah, hey lispy.
00:11 owst Damn.
00:12 owst I'm looking at that patch-bundle hash issue - 1521.
00:13 lispy_ oh yeah?
00:13 * lispy_ doesn't recall that issue
00:14 owst It was the one you said you thought would be good for me to look at.
00:14 lispy_ ah, that one
00:14 owst Although it was a couple of days ago ;)
00:14 owst It seems the hash is only taken over the patches to be sent, not the context.
00:14 lispy_ yeah
00:14 owst And to check the hash, it *appears* that you have to fully parse the patch - that seems odd to me.
00:15 lispy_ that makes sense
00:15 lispy_ I guess that hash is like clear signing an email
00:16 * owst doesn't know what clear signing is.
00:16 lispy_ okay
00:16 owst Ah
00:16 lispy_ So bad analogy :)
00:16 owst googling told me ;)
00:17 lispy_ Anyway, i wouldn't be surprised if you have to parse the patch and throw away the context before you can hash it
00:17 lispy_ Our handling of emailed patches is a bit wonky
00:18 lispy_ We don't handle mime in the general case so some email clients (notably Mail.app on OSX) tends to corrupt bundles
00:18 lispy_ I don't know if that's relevant to what you're working on, but I thought I'd throw it out there
00:19 owst I expect it could be.
00:19 lispy_ oh
00:19 lispy_ I read Petr's reply and I see what the bug is now
00:20 lispy_ so you want to check the hash before you parse?
00:20 lispy_ Is that right?
00:20 owst Sort of
00:21 owst I want to be sure that the context I read in hasn't be mangled.
00:21 owst been*
00:22 owst But the current hash doesn't give me that assurance.
00:22 lispy_ I'm reminded of what I dislike about roundup...
00:22 lispy_ ah
00:22 Riastradh Email is *always* wonky.  (Also, Mail.app botching MIME?  Surely you jest!)
00:23 lispy_ owst: so darcs can check that the patch is valid, but the context could be munged and then you fail in get_extra?
00:23 lispy_ Riastradh: AFAICT, Mail.app is not doing anything that violates the MIME spec though.  Darcs really only handles a subset of MIME.
00:24 owst lispy_: it looks that way.
00:24 * owst peers more.
00:25 lispy_ owst: so that would make this bug trickier than I thought
00:25 lispy_ owst: if you need to start including the context in the hash then I *suspect* that would require a format change
00:26 owst Yeah, I was thinking the same.
00:27 lispy_ owst: refactoring the patch bundle parser would be a nice result though.  I suspect no one has done it because it's hard to test.
00:27 lispy_ I looked into doing it and the lack of tests was a huge turn off for me
00:29 * owst wants the fast annotate, now! :)
00:29 owst Even after a couple of runs, it's really irritatingly slow.
00:29 Riastradh I want a fast annotate whose output I can read...
00:30 owst Well, yeah, that too.
00:35 owst lispy_: have you ever noticed the end of one function definition running into the start of the next in Darcs source? I've seen it a couple of times - is it "normal"?
00:35 owst It's bloody hard to read...
00:35 lispy_ owst: can you send me a link and a line number?
00:36 owst Sure, one sec.
00:36 lispy_ I'm leaving in like 5 minutes though
00:36 lispy_ So it will have to be quick :)
00:36 owst heh ok
00:37 owst Err, well, it's in src/Darcs/Patch/Bundle.hs starting at line 177. I can't find a link to browsable source online - am I being dim?
00:38 lispy_ probably :)
00:38 lispy_ let me try
00:39 lispy_ the url http://darcs.net/src/Darcs/Patch/Bundle.hs
00:39 lispy_ works for me
00:39 owst Gah! Yep - I only tried as far as darcs.net/screened, then gave up.
00:40 owst Now you don't have line #s though...
00:40 owst Search for the getContext definition
00:40 lispy_ Well, my browser forced me to download the file so I have it in a vim buffer
00:40 lispy_ But, yeah that is sucky
00:40 lispy_ owst: feel free to send in patches that add whitespace when you see stuff like that
00:40 * owst does so.
00:41 lispy_ thanks!
00:41 lispy_ the darcs source is in a state of paper cuts
00:41 lispy_ Right now when you read it, you get death by 1000 paper cuts
00:41 owst I just wasn't sure that there was some crazy reasoning for it :-p
00:41 owst heh
00:41 lispy_ So ever little thing you do to clean it up helps a ton
00:41 lispy_ owst: sending in haddock style comments is the next step :)
00:42 lispy_ owst: Once you think you know what it does then you, or someone else, can submit some QC properties or HUnit tests
00:42 owst Well, I'd look to haddock-ise and apply whitespace together, to give a not-completely-pointless patch ;)
00:42 lispy_ owst: if we do this often  enough then eventually we transform to good claean code :)
00:43 owst And then, world domination is simple :)
00:43 lispy_ hehe :)
00:43 lispy_ man, sillyLex really is silly
00:44 lispy_ It should probably let the caller unpack if that's desired
00:44 lispy_ Oh I see how it's used
00:44 lispy_ parseBundle is gross :)
00:44 owst Yeah.
00:44 lispy_ case of case of case of case of ...
00:44 lispy_ ad nauseum
00:44 owst Although I'm not sure my Haskell-fu is good enough to improve it :-s
00:45 lispy_ owst: I would be willing to bet $$ that mulitple bugs live in that one function
00:45 lispy_ owst: well using a parser monad that supports failure and then breaking it into pieces is the direction I would move in
00:45 lispy_ owst: but to do that I feel like we need some good automated tests for it
00:45 lispy_ So that I would know if I break it
00:45 owst Yeah.
00:46 lispy_ Okay, my alarm went off.  Gf will be grumpy if I'm late.  Gotta run!
00:46 lispy_ Good luck
00:46 owst Ok, thanks lispy :)
00:46 lispy_ and I'm excited to see you trying to send patches :)
00:46 owst Well, it's more fun than Uni work at the moment!
00:53 iago left #darcs
02:09 ManateeLazyCat joined #darcs
02:28 owst lispy_: Well, I just spent a long time trying to figure out what exactly 'Bracketed' is for, and failed I think :). Could you checkout parsePatches and getPatches - I don't see why both exist (they appear almost identical - is there some crucial difference I'm missing?)
02:28 ManateeLazyCat left #darcs
02:42 lispy_ left #darcs
02:57 intripoon_ joined #darcs
03:00 intripoon left #darcs
03:17 jeffz joined #darcs
03:32 secorp left #darcs
03:37 owst left #darcs
03:54 secorp joined #darcs
04:30 sm left #darcs
04:46 diml left #darcs
05:23 JaffaCake joined #darcs
05:24 JaffaCake1 left #darcs
05:45 jeffz left #darcs
06:01 secorp left #darcs
06:07 secorp joined #darcs
06:38 secorp left #darcs
07:00 secorp joined #darcs
07:16 balor joined #darcs
07:48 lelit joined #darcs
08:08 raichoo joined #darcs
08:25 balor left #darcs
08:34 shenshei joined #darcs
09:01 balor joined #darcs
09:12 balor left #darcs
09:14 owst joined #darcs
09:20 Heffalump hi owst
09:20 Heffalump Bracketed should be documented in the module it's defined in
09:20 Heffalump it's quite recent
09:24 balor joined #darcs
09:41 owst Hi Heffalump. Yeah, I understand its purpose, just not sure I understood the implications of its use in PatchBundle - perhaps you could shed some light?
09:43 owst Particularly, that getPatches and parsePatches are almost identical, yet getPatches is able to say that it's a FL of Bracketed patches, rather than just a FL of patches.
09:44 owst Heffalump: also, I shall take another look this morning, I was a bit tired at 3:30 this morning :)
09:47 Heffalump owst: that looks like it might be a bug
09:47 Heffalump I think the different cases in parseBundle are accounting for different orderings in the patch file
09:47 owst Yeah, I think so too.
09:48 Heffalump I'm not sure when darcs produced context first, then patches
09:48 owst perhaps older versions?
09:48 Heffalump yes, I mean which older versions
09:48 owst Oh sorry, I misread.
09:51 jeffz joined #darcs
09:52 balor left #darcs
09:54 owst I don't think I fully understand how Sealed helps us. It's existentially quantifying the context of a patch, but how does that help us? What does it prevent us doing that we could do otherwise?
10:06 Heffalump it allows us to do things that otherwise wouldn't typecheck
10:06 Heffalump well, sort of
10:06 balor joined #darcs
10:06 Heffalump it's saying to the type system "now I'm going to explicitly forget about the context"
10:07 Heffalump one example of where it does allow us to do things we couldn't do otherwise is if you're returning a patch from a function, where the function, rather than the caller, determines what the context of the patch should be
10:08 Heffalump if you didn't have the sealed or some other existential quantifier, the type signature of the function would have the context as a free variable, which implicitly means universal quantification, i.e. the caller gets to choose the context.
10:12 owst Right, that makes more sense, thanks.
10:14 Heffalump Sealed2 Patch is like not having added witnesses to Patch in the first place
10:17 owst In C(x y) x is the intial context, and y the final context - right?
10:18 Heffalump yes
10:20 owst So, Sealed allows us to hide our inital state, but doesn't say anything about the final state?
10:21 Heffalump yes, and FlippedSeal does the opposite
10:31 owst Hmm, I'm a bit confused by seal_up_patches then :).
10:33 balor left #darcs
10:37 owst In the case where the context isn't based on a tag, it seems simpler. The signature suggests that we'll return a Sealed PatchSet that goes from context 'Origin', but I don't see where the end context is supplied...
10:39 exlevan left #darcs
10:39 Heffalump the end context is 'y', but that's irrelevant in a sense since it gets Sealed
10:40 npouillard left #darcs
10:40 owst Ah, and y comes from the end context of 'patches'
10:40 Heffalump yes
10:40 npouillard joined #darcs
10:41 Heffalump hi npouillard
10:45 balor joined #darcs
10:49 owst Am I right in thinking that unsafeCoerceP is needed in unavailablePatches since we don't actually have the context of the context patches, so it allows us to fixup the types?
10:53 Heffalump sort of. Actually, doing that just for the NilRL case is a bit of a code smell, so I suspect the whole thing could be structured a bit better.
10:55 owst Could unavailablePatches just return a RL for all C(x y)? Then the caller would chose the context?
10:56 Heffalump that's what it does
10:57 owst Oh.
10:57 owst So why is the unsafeCoerce required there?
11:01 Heffalump because NilRL is C(x x)
11:03 Heffalump if the full list of unavailble patches was empty, then the x for seal_up_patches would actually be Origin, but we don't have a proof of that, so we have to use unsafeCoerceP to assert that.
11:03 Heffalump that's ultimately why it's needed there
11:06 Heffalump in fact, we never have a proof that x is actually the end context of the unavailable patches, but the fact that Darcs.Patch.PatchInfoAnd.unavailable is happy to make a patch with any witnesses itself, means that we can cheat without an unsafeCoerceP. That's the code smell here, in a sense.
11:09 balor left #darcs
11:22 jderque joined #darcs
11:24 kowey joined #darcs
11:24 kowey hey all
11:24 kowey today's kowey-mission is to write up that sprint report
11:25 owst hi kowey.
11:25 owst Cool :)
11:25 kowey we also have HCAR report due on 1 May, but I asked for a week extension
11:44 owst Well, that's enough fun Darcs hacking for one day, back to boring uni report writing/researching :(.
11:46 kowey I do wonder how often we get patches from people avoiding work
11:55 balor joined #darcs
12:12 owst kowey: how goes the blogpost?
12:12 owst I want something to read instead of work :-p
12:52 kowey hmm, got started, then stopped, got lunch instead
12:53 owst Mmm lunch is tempting :)
12:53 kowey getting myself to concentrate and push this out the door is the tricky bit
12:54 * kowey shifts desk to standing mode, maybe that will help
12:55 owst Well, if you want me to proof-read or anything else, just shout.
12:56 kowey_ joined #darcs
12:59 kowey left #darcs
13:00 kowey_ left #darcs
13:06 kowey joined #darcs
13:32 jderque left #darcs
13:50 kowey I'll dump sections/paragraphs as I feel they are reasonably complete: https://docs.google.com/document/pub?id=1O​OBvxd1f1pplQ0QrhvR5xnzu2JEn1AK1l9oGENSEENA
13:50 kowey note that they risk being written over completely
13:50 jeffz left #darcs
14:17 jderque joined #darcs
14:19 npouillard Heffalump: hi
14:41 jeltsch joined #darcs
14:47 owst hello
14:47 owst oops wrong window
14:50 jderque left #darcs
15:10 sm joined #darcs
15:24 sm morning all
15:32 jeltsch left #darcs
15:34 jeltsch joined #darcs
15:40 jeltsch left #darcs
15:42 jderque joined #darcs
15:48 jeltsch joined #darcs
16:13 thorkilnaur_ left #darcs
16:27 thorkilnaur joined #darcs
16:40 exlevan joined #darcs
16:41 exlevan hello
16:44 kowey hey exlevan
16:44 kowey thanks for your interest in the matchers! I don't really have the headspace to think about it at the moment, but I hope you find a way to push the discussion forward a bit
16:45 kowey (part of the issue is that there may be a lot to take on at the same time)
16:49 exlevan agreed, there's a lot of small inconsistencies here and there
16:49 exlevan иге гтшмукыфд тщешщт ащк фдд ерщыу ьфесрукы шы ф тшсу ерштп ещ рфму
16:50 exlevan whoops
16:50 exlevan but universal notion for all those matchers is a nice thing to have
16:51 exlevan the reason I raised these issues now is that I'm trying to solve a more general issue
16:51 exlevan that one about having a command-line stuff in a seperate library
16:51 kowey the flag processing stuff?
16:52 exlevan yup, that one
16:52 kowey you've seen the cmdlib work?
16:52 kowey it's a nice large-ish satisfying project to take on, the one you're working on :-)
16:53 exlevan yes, I looked at cmdlib, along with other libs
16:53 kowey satisfying because cleaning this up will be a huge itch scratched
16:53 exlevan but it seems to me that it can't be done in one step
16:54 exlevan so for now I'm just working to make cmdline stuff just to be good enough
16:55 kowey what do you mean?
16:55 kowey by the way, it could be worthwhile to assign yourself to the ticket for the cmdline stuff
16:55 kowey fixing the current inconsistencies, you mean?
16:56 exlevan those too, but also working on some "intermediate" form of cmdline code
16:57 exlevan not yet library-ready, but already modular and with cleaner interface
16:57 exlevan I think of it like a step in the right direction
16:58 kowey sounds good, having an idea where to go and moving them in small steps
16:58 kowey incrementality can be useful because reviewers may have an easier time keeping up
16:59 kowey part of open source lore is the notion of avoiding "power plant" patches, these massive changes that no reviewer could possibly hope to look at
17:00 exlevan my personal itch I'm scratching is all those [DarcsFlag], which I consider a bad thing
17:01 exlevan there's just too much logic hidden in them, and they are everywhere
17:01 exlevan making code hard to work with sometimes
17:01 kowey yep!
17:01 kowey there's also a ticket for that
17:02 kowey I seem to remember that we agree on the incremental step of squashing these in favour of more granular types, eg. Compression
17:03 kowey so much to do in that darcs source code
17:03 exlevan any idea how to find that ticket?
17:04 kowey search for DarcsFlag
17:04 exlevan i just did...
17:05 exlevan ok. i see it now
17:05 balor left #darcs
17:05 kowey huh, what was the issue?
17:05 exlevan issue1157
17:05 kowey I got a one-ticket search result out of that
17:05 kowey oh I meant with the BTS
17:05 kowey heh, sorry for sloppy language
17:05 exlevan heh:)
17:06 exlevan search field on the front page doesn't return eny results
17:06 kowey and how did you successfully dig up issue1157?
17:07 exlevan oh, it's case-sensitive
17:07 kowey AH!
17:07 exlevan it sholdn't be IMO
17:07 knewt2 left #darcs
17:07 exlevan I've gone to the "Search issues", and did full-text search
17:08 kowey hmm, seems to be a roundup issue from 2010
17:08 kowey don't know if they've fixed it (reported in 2010, may have been incapable since beginning)
17:11 kowey http://bugs.darcs.net/issue2064
17:22 kowey hmrph, part of the reason this is so slow going (the sprint wrap up post) is that I can't seem to resist editorialising
17:23 kowey always wanting to throw in a comment of my own I am
17:28 owst left #darcs
17:34 owst joined #darcs
17:40 lelit left #darcs
18:06 balor joined #darcs
18:07 balor left #darcs
18:10 copumpkin left #darcs
18:10 copumpkin joined #darcs
18:25 balor joined #darcs
18:38 Riastradh Nothing new, but -- Darcs 1, Git 0:  http://r6.ca/blog/20110416T204742Z.html
18:39 Heffalump shame about all the real wins for git in usage :-)
18:40 kowey been hoping to study the discussion on that a bit, seems to be that the Git argument is "so what?"
18:40 owst or at least "in practice, it doesn't come up often enough for us to care".
18:41 kowey (not saying that this is anything a Git developer would say, just users, interesting ones to watch out for would be Darcs emigrants - "you know, I thought I would care, but actually I don't")
18:44 Riastradh Hypothetical:  Suppose I had a giant, twenty-year-old CVS repository, multiple gigabytes.  I want to convert it to Darcs because, well, duh.  Can I somehow preserve all of the CVS revision numbers, so that in ten years, I can stumble across a reference to a change in revision 1.23 zarquon/gaggleblot.c and ask Darcs efficiently what revision 1.23 was and how it differed from 1.22?
18:45 kowey maybe something lelit could comment on?
18:46 Heffalump the cvs2darcs script I hacked on didn't do it
18:46 Heffalump it's fiddly given that each file has its own revision number
18:47 Riastradh (This is hypothetical because the developers of the project in question can't seem to agree on whether CVS or Git or Fossil is worse.)
18:48 owst I wonder if somehow the output of cvsps could be used to aid the translation...
18:49 Heffalump that's what cvs2darcs did
18:49 Heffalump s/did/does/
18:49 owst Ah, I'll be quiet then :)
18:49 Heffalump it's just that including the file-by-file revision info would be ugly, precisely because it's file-by-file
18:51 Riastradh It would be OK if Darcs presented a single patch for simultaneous commits of multiple files with common comments, as long as I can still ask the question I want to ask and get an answer in reasonable time.
18:53 Heffalump the point is that the info wouldn't be preserved at all
18:53 Heffalump you certainly want to infer changesets when migrating CVS to darcs
18:56 mornfall Still, you can embed all the version numbers in patch long comment.
18:56 mornfall As you can with any other system.
18:56 Riastradh Can that be made to be quickly queryable?
18:57 Heffalump how quickly?
18:57 mornfall If you build in a cache, maybe.
18:57 Heffalump darcs doesn't have any standard metadata API
18:57 mornfall Otherwise it's going to be O(N).
18:58 Riastradh As fast as `cvs diff -u -r1.22 -r1.23 foo.c', assuming a reasonable network connection to the CVS server.
18:58 mornfall No chance. :)
18:58 Heffalump I think to do that sanely inside the darcs world, we'd first need a whole framework for handling metadata.
18:59 mornfall Well, you would need an external cache file (which would be fortunately immutable) and an external tool to query it.
18:59 mornfall That could be fast.
18:59 mornfall But within darcs, no.
19:00 mornfall With current format, you effectively have to parse all of your repo history to get that diff. More or less.
19:01 kowey there's also the current Darcs policy of saying that we don't recommend using Darcs for large repositories to consider
19:02 Riastradh I'm having trouble parsing that, kowey.
19:02 * kowey needs to fix his generator
19:02 kowey that's the 2nd time this week I've emitted something hard to parse
19:03 kowey it may be worthwhile to take into consideration that the Darcs team have a policy of not recommending Darcs for large projects
19:03 Riastradh That's a pity.  Have you just given up on making Darcs scale?
19:04 kowey I'll tack a "...yet" to that
19:04 Riastradh OK.
19:04 kowey we care about making Darcs scale, but this work will take time
19:04 kowey the way I understand it (from my superficial-cheerleader-ish standpoint mind you)
19:05 kowey is that we're making quite a lot of progress in making Darcs a lot more usable for the current small size repositories we handle (think GHC)
19:05 mornfall Well, at this rate it will definitely take a while.
19:05 kowey but to make darcs properly scalable would take a lot of effort, and a Darcs 3
19:06 Heffalump perhaps we should just rewrite it..
19:06 mornfall :)
19:06 * owst doesn't know if Heffalump is being serious ;)
19:07 Riastradh (Darcs is already not an option for this project because Haskell, so my question is entirely hypothetical; I was just wondering whether Darcs could satisfy one of the constraints that nothing else seems to be able to.)
19:08 Heffalump I'm not actually sure any more. Arguably a ground-up rewrite for darcs 3 (perhaps adopting camp), along with a bridge ( ;-) ) would be a more efficient strategy
19:08 owst Bridge, woo! :-p
19:08 kowey I guess one concern would be the issue of necessary complexity
19:09 kowey ie. that Darcs is problematic because it introduces a lot of unnecessary complexity that a rewrite would fix
19:09 mornfall I don't think rewrite is a significantly less work than going from where we are. Maybe significantly more, but that's hard to tell.
19:09 mornfall But we kind of don't use work very efficiently.
19:09 kowey but the reason one tends to note want a rewrite is stability because real world software also involves accommodating a lot of fiddly issues that result in complex systems
19:10 mornfall Which is something a ground-up rewrite could help fixing.
19:10 Riastradh One thing Darcs *can* do which Fossil and Git can't is let you separate work in one part of the repository from work in another part of a repository -- that is, pushing and pulling separately without scary dangerous command such as `git rebase' and `git cherry-pick' and lots of irritating superfluous merge commits cluttering up the log.
19:10 mornfall not want*
19:10 kowey nod
19:11 kowey ah because even if you commit separately, you still have the false dependencies
19:11 Riastradh (And that's why Fossil and Git are not really options either, together with the CVS revision problem.)
19:11 mornfall And bazaar is *slow*.
19:11 kowey I always forget that; it's just a baked-in assumption for me that commits/records to non-touching files are obviously cherry-pickable without darcs
19:11 mornfall I guess you are kind of stuck there.
19:12 Riastradh (not to mention Git's obscenely baroque UI, and Fossil's performance and general lack of readiness)
19:12 kowey the Git UI issue could be "fixed" by people saying it's not Git's problem
19:12 kowey use a good GUI instead
19:12 kowey one with a hypothetical "cherry pick" UI
19:12 Riastradh I don't want a GUI, unless you mean `Git user interface'...
19:12 mornfall kowey: There's no hypothetical cherry pick UI.
19:12 mornfall kowey: It's ruled out by the model.
19:12 Heffalump in reality with darcs, you quickly find that single patches that cross subtrees exist, and end up in the middle of the dependency graph in a way that destroys separate cherry picking
19:13 mornfall Heffalump: Which is at least fixable in the darcs model, but not in the git one.
19:13 Riastradh Heffalump, yes, but you can avoid that.
19:14 * kowey saw a nice-looking screenshot for a cherry pick UI out there (without really questioning it)
19:15 Riastradh With Darcs, workable and safe cherry-picking is a matter of policy.  With Git, workable and safe cherry-picking is ruled out by design.
19:15 mornfall Anyone ever noticed how the term "cherry picking" sucks?
19:16 owst Yes.
19:16 Heffalump hmm, O'Caml is getting GADTs, perhaps we should switch :-)
19:16 mornfall Heffalump: That'd be definitely tempting.
19:16 owst Really? Interesting - why?
19:16 Riastradh Is OCaml getting type classes too, by any chance?
19:16 Riastradh I never understood GADTs.
19:16 kowey http://twitpic.com/4cs9qw
19:16 owst The why was "why would you want to switch"
19:17 mornfall Heffalump: On the downside, it seems that non-86 support for ocaml is about as bad as it is for GHC.
19:17 mornfall (I couldn't get a simple ocaml program working on my armel box...)
19:18 mornfall If not worse, even.
19:18 Heffalump I think these days, the Haskell community is much larger than the OCaml community, though I think the latter is experiencing a bit of a resurgence at the moment.
19:19 mornfall Yeah, it's just the laziness. And, well, GHC. Fix those and it's a win-win. :P
19:20 Heffalump what's wrong with GHC?
19:20 Riastradh GHC's bootstrapping process is a nightmare and it won't run on many platforms.  E.g., NetBSD/macppc.
19:22 mornfall That could get better with LLVM. One'd hope.
19:22 kowey there are tahoe-lafs contributors out there who'd like to use darcs on OpenBSD/sparc64, I recall (just adding to the eg)
19:22 mornfall The RTS could be a lot better, too, though.
19:22 Heffalump how does one bootstrap gcc, OOI?
19:22 mornfall There was a (probably out of date) manual somewhere.
19:22 Heffalump mornfall: in what way?
19:22 Igloo It's proper cross-compilation support that'll really
19:23 mornfall Heffalump: Not related to darcs, but entering/leaving Haskell is extremely expensive. And mutexed.
19:24 Heffalump mornfall: doesn't that depend on whether you use safe or unsafe foreign calls?
19:24 Riastradh Heffalump, I don't know any details, but NetBSD can cross-compile all its tools from every supported architecture to every other supported architecture, and that includes cross-compiling GCC.
19:24 mornfall Heffalump: The other way around.
19:24 mornfall Heffalump: From non-Haskell to Haskell.
19:25 mornfall So writing modules in Haskell for other software is a pain.
19:25 Heffalump ah
19:25 Heffalump jhc needs more love, I guess.
19:25 mornfall (Also due to portability issues.)
19:25 Riastradh And that's how every NetBSD build works: you run `build.sh tools' to build the cross-compiling tools, and then `build.sh distribution' cross-compiles NetBSD.  It's not so nice with GHC.
19:30 Heffalump mornfall: how should we use work more efficiently?
19:35 kowey I think I'm now 2/3rd of the way to a first draft for the sprint report
19:35 owst \o/
19:35 kowey still to discuss: the darcs bridge, the Future of Darcs, rebase discussion, growing pristine problem
19:35 dixie please do not say about moving from haskell! it is my silver bullet! :)
19:36 kowey current mode is write everything first, then trim later (probably with some outside help to keep me honest)
19:36 owst kowey: should I proof read the google doc you sent earlier?
19:36 kowey you could probably skim it, but let me paste in some more stuff first
19:36 owst Ok.
19:37 kowey pasted
19:37 * owst does some reading.
19:42 owst "hobby-hacking hackers" :-)
19:43 owst kowey: just asked for permissions to edit...
19:55 exlevan pulling from screened: "Welcome to the darcs submitted repository." So, is it screened or submitted?
19:56 kowey it should be screened
19:56 kowey will fix in a moment
19:57 kowey "unstable
19:57 kowey "
19:57 kowey should be reviewed
19:58 exlevan kowey: I recall there were plans to review design of "optimize --http" on the sprint, did it result in something concrete?
20:00 dixie the darcs.net is now http://darcs.net/reviewed ?
20:01 exlevan dixie, reviewed is just a name, the location didn't change
20:05 kowey the Getting Started page now tells people that there is a http://darcs.net/reviewed and a http://darcs.net/screened
20:05 kowey at the moment http://darcs.net points to reviewed
20:05 kowey but in the future, we're going to flip it so that it points to screened
20:05 exlevan oh, didn't know about that one
20:06 kowey (this was stuff we decided at the sprint because the screened/reviewed distinction was causing confusion)
20:07 kowey motd fixed
20:07 kowey exlevan: I don't recall any design discussion about it; we'd mostly concluded that we needed to turn packs back on and do lots of minor finishing-up type stuff
20:08 kowey like making sure it was documented, advertised, benchmarked; gh_ also fixed some minor issues, if I understand correctly
20:08 kowey but the overall idea is that we need to push for packs happening in Darcs 2.8
20:10 exlevan it may be good idea to give them real-life testing to find issues before release
20:12 exlevan maybe enabling them back for the darcs darcs repos
20:12 kowey we flipped the switch, I think
20:12 kowey we did some testing with darcs itself and also a guest repository ( smallish one )
20:13 kowey one idea is to have a Darcs 2.8 alpha
20:13 kowey and get some key users (Agda, xmonad, eg) to use packs
20:13 * kowey doesn't want to dredge up an old discussion, but...
20:13 kowey I kind of wish we were using Markdown due to network effects :-)
20:15 owst kowey: what's stopping us from just using Markdown from now on?
20:16 kowey there's a bit of inertia, for example, our wiki uses RST because we thought the documentation was going to be in RST
20:16 kowey I don't think we have anybody really advocating for RST anymore
20:17 kowey earlier it was an essentially do-cratic decision: people that wanted to work on splitting the doc off from literate haskell wanted to do it in RST
20:19 kowey owst: do you think you'd be able to send me a paragraph on the technical issues we'd like to solve for a darcs bridge?
20:20 owst Yeah sure, let me condense my application into a paragraph :)
20:20 owst s/application/proposal/
20:20 kowey great! I'll post my 1st two paragraphs to give you a bit of context
20:20 kowey pasted (second section)
20:20 kowey thanks
20:20 owst Yep, gotcha.
20:24 sm the wiki could be mass-converted (again)
20:25 sm I agree that markdown is more of a winner these days
20:26 sm can't you convert the pages you're actively editing, to start with
20:27 aculich left #darcs
20:29 aculich joined #darcs
20:32 kowey the last mass-conversion was a bit painful
20:33 kowey mostly due to minor issues with the moinmoin parser (for which thanks, by the way! classic example of worse-now being better than better-later)
20:33 kowey one example of things going wrong is nested bullets
20:34 kowey I don't think an incremental switch is going to be practical, would have to be flag day
20:37 kerneis IMHO, markdown is a big pile of crap, with no logic or consistency, many things lacking and a lot of extensions that nobody agrees on
20:37 kerneis but I don't edit the wiki, so I won't fight for it
20:38 kowey is RST better?
20:38 ezyang I find it makes a bit more sense.
20:38 kowey I just I'm just operating out of fashion: I see GitHub, Reddit, StackOverflow using MD
20:39 Heffalump I find the current wiki hard to edit, FWIW
20:40 kowey the `description <url>`_ syntax gets a bit on my nerves
20:40 kowey although that said, it's a lot more memorable than the [description](url) one
20:41 kowey because I never remember if descr or url goes first, and which one gets which brackets
20:41 kowey so I try a few out of the 4 combinations before I give up and look at the help
20:43 sm RST is better specified and more semantically expressive. It's better when that's important. It's also more complicated (I defy you to remember the various linking markups in practice), less widely used and supported than MD, and it makes breaking out to HTML really inconvenient, where MD makes that really easy
20:43 * sm used RST as primary markup for a few years
20:44 kowey does MD have a nice way to cope with random extensions like RST seems to? the directives thing
20:44 kowey another thing is that I'd probably be happy if we were to use gitit-Markdown
20:44 sm I don't think so, it just does less
20:45 kowey I think gitit Markdown has some non-standard features that makes life easier, plugins and tables
20:46 sm tables are standard I think
20:46 lispy_ joined #darcs
20:49 jderque left #darcs
20:51 mornfall I like markdown (and always liked it).
20:57 lispy_ owst: ping
20:57 owst 'lo lispy_
20:58 lispy_ mornfall: the thing that turned me off from markdown is the === and --- style headers.  To me it's a bit silly that they have to go at least as far as the header text.  Otherwise it seems okay
20:58 lispy_ owst: I just saw your question.  Did that get answered yet?
20:58 balor left #darcs
20:59 sm lispy: you meant RST there right
20:59 lispy_ sm: ah, maybe I mixed them up because they both support that
21:00 lispy_ I prefer the # style
21:00 lispy_ or the media wiki style
21:00 lispy_ http://daringfireball.net/pro​jects/markdown/syntax#header
21:00 lispy_ I guess that does say "any number"
21:01 sm oh. Well I liked RST's under (and over)lined headers for readability, but it's bad that you pick whatever character you want - it's hard to tell what level headings are
21:01 sm so now I prefer MD's # prefixed headers
21:02 sm it's also a lot easier to write a parser for MD than RST, I think
21:02 balor joined #darcs
21:03 sm (which doesn't affect darcs wiki users, but helps explain and predict MD's greater popularity)
21:03 owst lispy_: Yeah, with Heffalump's help and a bit of not-so-tired-eyes looking at the code, I made sense of it :)
21:03 owst lispy_: I didn't split the parsing out as we started discussing, but just Haddocked where I could, and removed an almost-duplicate function.
21:04 lispy_ sm: Overall, I think my favorite is media wiki syntax, but it seems that only media wiki uses that.  Even trac's syntax diverges from it quite a lot.
21:04 lispy_ owst: cheers
21:04 lispy_ owst: that's great
21:06 lispy_ owst: did you already send your patch in?
21:06 owst yeah, it's needs-screening
21:06 owst it's in*
21:06 lispy_ owst: so then I can find it on one of the mailing lists?
21:07 * lispy_ is not subscribed to any of the MLs
21:07 owst http://lists.osuosl.org/pipermail/​darcs-devel/2011-April/012550.html
21:07 owst http://bugs.darcs.net/patch593 is possibly easier
21:08 lispy_ thanks
21:22 Heffalump has gh disappeared on holiday?
21:22 Heffalump I'm confused about why he has a bunch of patches in "needs-screening". Sort of likewise for kowey, though he did give an explanation in one case.
21:23 Heffalump I'm with galbolle about wanting a "discussing" category or similar.
21:23 lispy_ Sounds like the project infrastructure has changed a lot recently.  there is the main repo, screening, and now needs-screening
21:23 lispy_ ?
21:23 lispy_ or is needs-screening a roundup thing?
21:24 owst needs-screening is a roundup category
21:24 owst status*
21:25 lispy_ ah
21:25 balor left #darcs
21:28 owst left #darcs
21:28 owst joined #darcs
21:30 balor joined #darcs
21:39 kowey needs-screening : screened :: needs-review : reviewed
21:39 shenshei left #darcs
21:39 kowey I could create needs-discussion or discussing as a status
21:41 Heffalump yeah. I wonder if followup-in-progress, followup-requested and clarification-requested should be squeezed into one
21:41 Heffalump (that being an independent question to discussing, but one which might help counter the status proliferation)
21:43 kowey clarification-requested could actually be renamed to in-discussion
21:43 owst left #darcs
21:44 owst joined #darcs
21:45 Heffalump yeah
21:45 Heffalump I guess one possible ambiguity could be over whether the patch is already in screened or not.
21:45 Heffalump But I guess the submitter should track that.
21:46 kowey implementation so far: rename clarification-requested to in-discussion (and promote it to pre-needs-screening)
21:47 owst left #darcs
21:47 kowey leave followup-requested vs followup-in-progress distinction for now (on assumption that it's useful to tell at a glance what the current status is)
21:47 owst joined #darcs
21:47 kowey unless it turns out that tracking this state change is actually not helpful to anybody
21:47 balor left #darcs
21:48 Heffalump I'd have in-discussion below followup-in-progress, FWIW. I use the ordering to tell me what I should do most urgently.
21:48 Heffalump but it's not a big deal, I can do the translation in my head :-)
21:48 kowey in general, we *could* nix foo-in-progress
21:49 kowey like review-in-progress because sometimes it's a bit of a lie (or it may have been in progress for a while, but then the progressor went awol)
21:49 kowey OK, I was worried about discussions that need to happen... not...
21:50 Heffalump I think when something is in-discussion, it's down to the proponent to push it forward
21:50 kowey changed (and maybe this is better to favour action over talk)
21:52 kowey I still kind of suspect our _darcs/index creation is being systematically created g-w despite umask etc
21:52 kowey haven't had time to investigate, though
21:53 kowey this makes it tricky for people to implement multi-user-push workflows if it's true
22:00 dankna joined #darcs
22:04 balor joined #darcs
22:04 Heffalump I'm sure we'd have had more complaints if that was the case.
22:11 balor left #darcs
22:12 kowey I think the only two sections left to draft are the Future of Darcs and the Rebase Design discussion
22:13 owst That reminds me, I did talk about writing up that rebase talk with some diagrams.
22:14 kowey would love linking to that from the post
22:15 kowey ah! thanks for the Git paragraph
22:23 owst Not sure it really flows, but I didn't know how else to write it...
22:23 kowey I've cut the elaboration in favour of just bang bang bang
22:23 kowey and will link to your proposal
22:24 owst Good idea.
22:24 balor joined #darcs
22:26 jeltsch left #darcs
22:32 kowey I still think there's something to the world-view issue, something I've been trying to pin down
22:32 kowey one example is (in writing about rebase) how we like to say "darcs is great because X is easy"
22:33 kowey but if you're used to Git etc, you just implicitly know that X should be hard (because it's a complicated rebase/cherry-pick etc), and so it never really occurs to you that X being easy would be appealing
22:33 kowey why do I want to do Thing-I-never-do-anyway-because-its-complicated?
22:33 owst You don't have to work around the tool?
22:34 kowey and so saying "X is easy" is unconvincing because you don't think of X as something you should expect to do easily
22:34 kowey "so what, I don't use X"
22:34 kowey well you don't use X because X is too hard for you to use
22:34 kowey hence the futility of talking in terms of features :-)
22:35 owst X is useful (it might not be in Git if it wasn't), so now you can painlessly use it!
22:35 owst Blergh, I'm no good at this :p
22:35 kowey well I guess it's a matter of figuring out that actually people don't want to do X
22:35 kowey they want to do Y
22:35 kowey they just do X because that's a way of doing Y
22:35 kowey so what you don't want to say is "hey, we make X really easy" because you'll just get a blank stare
22:36 owst It comes down to good old usecases then.
22:36 kowey hmm maybe
22:37 kowey from a Design standpoint, I'd like to learn what a "usecase" is and how it differs from a Scenario
22:37 raichoo left #darcs
22:37 kowey oh I guess a use case is "I'd like to be able to do Y"
22:37 owst Oh, I didn't know there was any difference.
22:38 kowey well a Scenario is a bit technical jargon I've been throwing in from this one big design book I've been reading
22:38 kowey Personas and Scenarios are two tools used in the Cooper design process, and they seem very useful
22:39 kowey typically the product of some design research process, not making some stuff up
22:40 kowey book says "scenario describes the future not the present", and "scenario describes from user's point of view, not the systems" (deliberately eschew behind-the-scenes work system does)
22:41 kowey and difference with use case, I suspect is "scenario is a story with a beginning and an end"
22:50 Riastradh left #darcs
22:51 Riastradh joined #darcs
23:16 owst Anyone tried to build the camp doc recently? I just tried in the repo and it failed with "Error: Illegal application (Non-functional construction):..." I wanted a bit of light reading before bed :)
23:17 owst Maybe it'd be a good idea to ping Igloo on this one.
23:19 owst http://hpaste.org/45794 the error message.
23:25 kowey RAH!  /me sends draft one
23:26 Igloo owst: You probably don't have a new enough coq
23:26 owst Just installed on Arch, I'll check what version.
23:26 Igloo It's probably not particularly readable, incidentally. It's very much a work-in-progress
23:26 owst I'm interested enough to dig through it though :)
23:27 owst [owen@OWEN-DTL camp-paper]$ coqc -v
23:27 owst The Coq Proof Assistant, version 8.3pl1 (January 2011)
23:27 owst compiled on Jan 30 2011 17:36:49 with OCaml 3.12.0
23:28 Igloo coqtop says I have "v8.3 (13693)", which I think means revision 13693 from the 8.3 branch
23:33 owst kowey: where did you send the draft?
23:33 kowey just sent, just to participants for now (it's on the doc as well)
23:34 owst haha, just got it, as I sent that ;)
23:34 kowey phew, big sense of relief... the guilt was starting to become overwhelming
23:34 owst Are there some pictures somewhere?
23:34 kowey not that I can scratch this off the list yet
23:34 kowey I'll include those on the blog
23:35 kowey picking from what Ganesh and Guillaume sent me
23:35 owst Cool.
23:35 owst Did you not copy my original tweaks from the google doc?
23:35 owst (I made some in the opening para.)
23:35 kowey oh no! I may not have
23:35 kowey I thought I did
23:35 owst I can remake them
23:36 owst probably easier.
23:36 kowey I think the last sentence of that first paragraph looks like your tweaked version
23:37 owst I don't think so :)
23:37 owst Must've got lost somewhere
23:37 owst :)
23:37 kowey darn
23:37 owst I'll just edit the googledoc
23:37 kowey there really is an irony to this!
23:38 kowey (the reason we're not using version control is that Google Docs makes some aspects of collaboration (highlighted/attributed feedback) really easy)
23:38 kowey (if somebody were to combine something like Gitit with the same sort of Etherpad-ish real time collaboration plus the feedback system, I'd be a happy camper)
23:39 owst Hmm
23:39 kowey oh the *opening* paragraph
23:39 owst I may just edit in Vim, then paste in
23:39 kowey which is what I've been doing
23:39 kowey saving to a local darcs repo
23:39 owst this is _so_ efficient :p
23:39 kowey if we had something like gists for darcs, would probably have used that instead
23:42 kowey thanks for the patient editing, owst
23:42 kowey good night!
23:42 kowey left #darcs
23:48 jeffz joined #darcs

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | summary