Camelia, the Perl 6 bug

IRC log for #darcs, 2011-04-18

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

All times shown according to UTC.

Time Nick Message
00:17 owst Igloo: Hmm, I've just installed the SVN latest version of Coq (r14021) but I encounter the same error. :(
01:05 owst left #darcs
01:08 twb joined #darcs
01:29 gwern left #darcs
01:34 twb left #darcs
01:46 twb joined #darcs
01:46 gwern joined #darcs
01:46 gwern left #darcs
01:46 gwern joined #darcs
02:56 intripoon joined #darcs
02:59 intripoon_ left #darcs
03:48 dons good time to talk about darcs methods, and why darcs cares about what it does. --> http://bramcohen.livejournal.com/74462.html
03:51 alexsuraci yeah, lots of dvcs talk on HN today
04:28 balor left #darcs
04:29 balor joined #darcs
04:34 gwern left #darcs
04:42 sm left #darcs
04:49 sm joined #darcs
04:54 kolmodin left #darcs
05:39 JaffaCake1 joined #darcs
05:41 JaffaCake left #darcs
06:04 lispy left #darcs
06:07 secorp left #darcs
06:15 exlevan left #darcs
06:17 exlevan joined #darcs
06:51 dankna left #darcs
06:55 jonkri joined #darcs
07:01 dankna joined #darcs
07:04 balor left #darcs
07:10 lelit joined #darcs
07:17 balor joined #darcs
07:32 dented42 joined #darcs
07:32 dented42 .
07:45 Weltraumschaf joined #darcs
07:58 balor left #darcs
08:05 dented42 left #darcs
08:09 secorp joined #darcs
08:11 balor joined #darcs
08:34 jeltsch joined #darcs
08:36 jeffz left #darcs
08:39 jderque joined #darcs
08:41 kowey joined #darcs
08:41 kowey dons rightly observes that all this Git is Inconsistent talk is a nice teachable moment
08:42 kowey it would be great if we could make sure that http://wiki.darcs.net/Mission really says what we want and says it the way that we want
08:43 kowey probably the best way to say something is to introduce a blog post of its own, one which is keenly aware of darcs' shortcoming, but one that shows another way is possible
08:48 sm left #darcs
08:48 sm joined #darcs
08:48 sm left #darcs
08:54 kowey not yet comfortable delivering a response myself because I'm not confident I understood the examples yet
08:55 kowey but I do have some sketchy thoughts/impressions
08:55 kowey notice attitudes we encounter, the sour grapes response (I don't care; or don't do that)
08:56 kowey which is actually quite healthy in a sense, but in another sense, wrong (fwiw our version of sour grapes/don't do that is maintain long term branches)
08:57 kowey we should demand more of our version control systems; we shouldn't be like people who say "well, 99% of the time, centralised version control system does what I want, why should I care about a DVCS for the 1% aeroplane use case?"
08:59 kowey but to tackle sour grapes, we need not chastise people for holding the attitudes; we need to be able to convey why we *do* care about merge associativity as users
08:59 kowey not because of some abstract theoretical purity (well, OK we do care a bit about that)
09:01 kowey but because (going out on a limb) it allows for simpler and easier workflows
09:01 kowey workflows that impose a lower cognitive cost on ourselves -- we want to think about hacking, not version control -- in anticipating the need for branches etc
09:02 kowey which is not to say that you shouldn't have branching discipline, but that actually being able to work in a uncertain branch undisciplined way can be a lot easier
09:07 kowey otherwise, I guess one form of response would have the following rough outline (1) why you care (2) how darcs gets it right and what Git needs to do to beat us at our own game - not about patch vs snapshot; they're really interchangeable, but about history-aware merging (3) where darcs goes wrong and (4) how we're trying to make darcs right
09:12 * kowey runs off to work but would be happy to comment on any drafts anybody else wants to write ;-)
09:12 kowey left #darcs
09:40 JaffaCake1 is now known as JaffaCake
09:58 balor left #darcs
10:03 kowey joined #darcs
10:08 twb left #darcs
10:10 balor joined #darcs
10:42 owst joined #darcs
10:49 jonkri left #darcs
11:06 * mornfall better stays out of politicking.
11:12 kowey haha, from the reddit comments "I'm surprised Eric Kow hasn't shown up yet to defend darcs."
11:13 owst haha, *BING* and let there be an Eric!
11:13 kowey (it's because understanding what I'm reading is a hard important first step for me)
11:14 * kowey is slow
11:14 kowey (much less to say figuring out what to say that wouldn't be misunderstood)
11:15 kowey the mornfall response is wise in a way, don't get bogged down in something as time-sapping as this; get shit done instead
11:15 owst Hmm, yes and no. A few more convinced developers working on Darcs wouldn't hurt, eh!
11:15 kowey but it's also nice to be able to have some clarity
11:16 kowey it's a bit unfortunate that Bram's simplified example opens up a different slightly unrelated can of worms for darcs
11:16 kowey namely the duplicate patch problem
11:16 owst That still exists?
11:16 kowey or the more general patch identity thing
11:17 kowey which is that his A(B,B) would be two different A->B patches in Darcs
11:17 kowey which in Darcs 1 theory is a conflict and in Darcs 2 is a fancy conflict called a "duplicate" patch
11:17 owst kowey: which reddit thread were you looking at?
11:17 shenshei joined #darcs
11:17 kowey and whose resolution is to say that the conflict is somehow "intangible" and the user doesn't notice anything went wrong
11:17 kowey http://www.reddit.com/r/programming/​comments/grqeu/git_is_inconsistent/
11:18 kowey but this new duplicate patch handling seems to cause headaches of its own
11:18 owst DannoHung: "Was the Camp project expected to create a non-exponential algorithm at the edges?"
11:19 owst Good question, was it? Does it?
11:20 kowey I seem to remember Igloo thinks so
11:21 kowey concision is extremely hard to achieve here
11:21 kowey or it's easy to achieve but at the risk of saying something subtly wrong
11:21 owst Yeah :-s
11:23 kowey I think the basic template is this: be very clear and upfront about our shortcomings, but paint very clearly what we're after, why it's important to us, and how we're trying to get there
11:23 owst and that we are there, with a *working* system right now!
11:24 kowey with some definition of there
11:24 kowey the state of our conflict handling makes it difficult/impossible to maintain long term branches with darcs
11:24 kowey darcs rebase will side-step this problem by allowing people to smooth away conflicts
11:25 kowey so we would encounter the problem a lot less in practice, but doesn't mean it's not there
11:25 kowey and our conflict handling is still buggy in Darcs 2 - we want to be very frank about this
11:25 kowey no need to be weepy and apologetic, just very matter of fact
11:25 owst "Allowing people to smooth away conflicts..." we shouldn't need people to manually intervene to ensure Darcs isn't going to slow down to an unusable lev el.
11:26 owst But yeah.
11:27 owst Darcs has a tiny core team - people can't expect miracles! Want to push us to our goals faster? Come jump in!
11:27 kowey see this is why I get slower and slower to respond every day
11:27 kowey the reason that may backfire is that people like a winner
11:27 kowey no excuses
11:27 kowey we need a more positive message
11:28 kowey and I think it's possible because we're all still here despite everything -- we all know that there's this one thing that we're trying to achieve
11:28 owst "world domination" shh :p
11:30 kowey Simon Marlow seemed to give some very good responses (from a user POV, especially)
11:30 kowey it's about enabling simple workflows
11:31 balor left #darcs
11:31 kowey (I'm not saying that's the whole story, just that we have to successfully navigate that "meaningless ivory tower purity" meme-trap)
11:32 kowey his comment also captures the kind of thing I was talking about, where it's hard to tell people that a DVCS is better than a centralised one due to our natural poverty of imagination, http://www.reddit.com/r/programming/com​ments/grqeu/git_is_inconsistent/c1pzdrl
11:32 owst mmm.
11:33 kowey remember how in the train station, I was idly trying to identify experience attributes for Darcs/Git (if Darcs and Git were a person?)
11:33 owst yeah
11:33 kowey the danger is that if we talk about the theory in the wrong way, we just reinforce the "out of touch" experience attribute that people assign to Darcs (cf Git "pragmatic")
11:34 kowey what we really want is to anchor the theory to an experience attribute that's more like "uncomplicated"
11:35 mornfall Git is a git.
11:37 mornfall Git is stupid, just like Linux is stupid. There's something about stupid that makes things successful. :P
11:38 kowey that's the exactly the kind of trap I'm talking about... as engineers we look up to a certain kind of stupid
11:38 kowey stupid is a nice cute word for what we really mean, not sure what we really want to say
11:39 kowey "wise" in the sense that it doesn't try to solve problems that are just going to be a quagmire
11:45 kowey ah, brilliant example of the sort of trap we want to avoid: "I'm not sure I always want my revision control system to try to "out-think" me about patch equivalencies with respect to merges. Sometimes simpler is better?"
11:45 kowey http://www.reddit.com/r/programming/com​ments/grqeu/git_is_inconsistent/c1pynv5
11:46 mornfall Worse is Better. :)
11:46 kowey ayup
11:47 kowey Darcs: a different kind of Worse
11:47 mornfall Well, I stay with Worse is Worse.
11:47 mornfall But Better is ever so slightly out of reach.
11:47 mornfall So we have to live with Worse for now.
11:50 kowey iiuc, if you ignore semantic patches (eg. replace) patch-vs-snapshot really are irrelevant and that all you really need to make merging better is to have history-aware merging
11:50 kowey darcs is history-aware because all patches have a context
11:52 kowey and the reason that hunt for LCA then do 3-way merge doesn't work is that you lose history
11:52 mornfall Yes.
11:52 kowey so I wonder if it's possible to have history-aware merging with Git proper, or if it's only something that you can do in theory with a snapshot based DVCSes (ie. but not implement it without writing a whole new DVCS)
11:53 kowey on the other hand, one reason patch-based world view can be useful is that it also enables these semantic patches, which allow a programmer to express intent in a way that's not possible with just a state representation
11:56 mornfall You can write a merge plugin for git that'll do it.
11:57 mornfall Likely, anyway.
11:57 kowey OK that'd be a good intro for a healthy response, one which benefits Git and Darcs fans alike
11:57 kowey which is "actually you can make Git merge-associative and here's how"
11:58 kowey "one of the nice things about Git is that it allows for arbitrary merge algorithms"
11:58 mornfall But it will only make the content associative, the commits will still be different.
11:58 kowey "the kind of merge algorithm that would make Darcs fans happier with Git is one which is history-aware"
11:58 mornfall Which is probably a much bigger problem anyway.
11:59 kowey "... more elaboration... this is one of the details we hope somebody will steal from Darcs and implement as a Git plugin"
11:59 mornfall Details? :)
11:59 kowey "meanwhile, why are we still hacking on Darcs on writing this magical Git plugin?"
11:59 kowey "didn't we just say that patch-vs-snapshot doesn't really matter?"
12:00 mornfall It's dual.
12:00 kowey "well, it doesn't really matter if you just want to do history aware merging... but we want to go a step further"
12:00 kowey "we want to have semantic patches"
12:00 mornfall Semantic patches aren't tied to patch-vs-snapshot either.
12:00 kowey "for example, one thing you can express in Darcs right now (file move or replace)"
12:00 kowey oh that's interesting
12:01 mornfall They *are* dual.
12:01 mornfall Really.
12:01 mornfall No buts. :)
12:01 kowey I mean, for me a Git commit which is annotated semantically would be essentially a patch-based view of the world
12:01 mornfall kowey: Oh, do you mean semantic patches that you actually write out?
12:01 mornfall You'll never sell that.
12:02 kowey if a snapshot says anything to the effect of "here's how we got there", it's not really a snapshot anymore
12:02 kowey mornfall: hmm, I dunno
12:02 mornfall But as long as you can compute the patch, it doesn't make a difference.
12:02 mornfall And if you can't, it's useless anyway.
12:02 kowey mornfall: I guess what I have in mind is that saying "R file1; A file2" and "mv file1 file2" are two ways to get to the same state
12:02 kowey and somehow being able to express these two differences
12:02 kowey and somehow store them
12:03 kowey is important
12:03 kowey so does that mean I mean semantic patches that you actually write out?
12:03 mornfall kowey: It's important, but for the places where it is important it is never done (not even by darcs).
12:03 mornfall kowey: Namely, you always do the R/A thing for text.
12:04 kowey you mean that we don't have  hunk-move patches?
12:04 mornfall I mean that even if we had, it won't help any unless you can compute them automatically.
12:04 mornfall Where semantic patches *do* make a difference is where you have a heuristic but not an algorithm.
12:04 kowey so far darcs mv and replace we don't compute them automatically
12:04 mornfall And you need the operator to decide which interpretation is correct.
12:05 kowey nor do we use a heuristic, we just rely on the human operator to make a judgement call what intent she wishes to express
12:05 mornfall So things like AST patches, it probably doesn't matter.
12:05 kowey and sometimes we have interesting cases, like our policy of "don't use replace patches to express Foo, because what you really mean is textual bar"
12:06 mornfall kowey: Right, but it's still only useful if you offer the rename/move patch automatically in the interactive selection.
12:06 kowey hmm, not completely caught up yet, too busy listening with my mouth... one moment
12:07 kowey ahh, so the utility of Darcs semantic patches is reduced in practice by our total lack of guessing/detection
12:07 mornfall So basically, darcs can (only) gain significant advantage when there is enough ambiguity from guesswork.
12:07 kowey if we were able to notice candidate mv patches and replaces, then Darcs becomes more useful
12:07 kowey and in the case of hunk move
12:07 kowey it's less and less reasonable to expect the human operator to tell darcs explicitly
12:07 mornfall Yes.
12:07 kowey you really want to introduce an heuristic
12:08 mornfall Well, for hunk move, there's simply no way to input the data reasonably.
12:08 mornfall But you still want to offer the choice of move versus remove/add.
12:08 kowey unless you were using some sort dont-even-bother-mentioning-it darcs-aware-editor
12:08 mornfall :)
12:08 mornfall How cute. :)
12:08 mornfall But yes, don't bother.
12:09 mornfall Git gets by with just doing guesswork, because they have very little to lose.
12:09 mornfall (They guess renames.)
12:09 kowey interesting avenue for a research topic if anybody wants to do a Darcs thesis
12:09 mornfall In this sense, they treat renames as algorithmic patches even if they aren't.
12:10 kowey detection of high-level operations, that is
12:10 kowey so they look at the state change
12:10 mornfall Right, it's a question of striking a balance.
12:10 kowey and if the state involves removing some content and adding the same stuff in a different location, they say "oh that must have been a move"
12:10 kowey whereas we say "huh, what? no way! those are two totally different patches"
12:11 mornfall Right. And that gives a nice mismerge opportunity.
12:11 mornfall (In the falsely assumed rename.)
12:12 kowey precision and recall error
12:12 mornfall Or it gives a nice misconflict opportunity in the opposite case (falsely assumed R/A).
12:12 kowey git has precision error here, and darcs (if the user doesn't know about darcs mv) has a recall error
12:12 kowey oh wait, I better not abuse the precision/recall concept here because there are more than 2 ways to be wrong
12:12 mornfall The recall error can be fixed by asking about the rename (and only asking about rm/add if the rename is rejected).
12:13 * kowey grabs lunch
12:13 mornfall Good idea.
12:20 mornfall One thing to remember: it's all about what and how well you can automate.
12:20 mornfall All VCSes are tar-complete. :D
12:36 mornfall Another thing: you could defer the heuristics, and more importantly, the questioning of the operator, to the merge time.
12:36 mornfall So in git, you could have an interactive merge that would ask whether any given operation was a move or whatever (if the change is needed in a merge).
12:36 mornfall You could even cache that info for later.
12:37 mornfall Storing the patches right away is better if you assume that doing some extra decisions that won't ever be used is worth the better understanding of the change at the time of its creation.
12:48 kowey hmm, the notion of deferred heuristics is helping me to see more clearly the no-ifs-and-buts duality of patch-vs-snapshot
12:48 kowey although interestingly there the difference is that you're asking two different human operators to make the same decision
12:48 mornfall Possibly, yes.
12:50 mornfall *However*: if you also want permutivity, you can only answer each question once and it has to stay that way for ever after.
12:50 mornfall But then, you don't need permutivity to just do merges.
12:50 mornfall Probably, anyway.
12:51 kowey argh, http://wiki.darcs.net/Theory/Permutivity got eaten by syntax conversion
12:52 mornfall *chomp* *chomp*
12:53 kowey hmm, then again the syntax looks right, must be something else
12:53 kowey sorry I forgot what permutivity was, even though Ganesh re-explained it at the sprint
12:53 mornfall It must be the conflictors. :P
12:53 * kowey checks his slides
12:55 mornfall It means that the order of patches doesn't matter.
12:56 mornfall I.e. you can commute all that you like within the constraints of the commute rules and you can always go back.
12:56 kowey and we tend to define it in terms of 3 patches because once we have 3 we can expand to N
12:56 mornfall Well, you can't show it with just 2. :)
12:56 mornfall And about N, I don't really know.
12:56 mornfall That depends on what your commute rules are.
12:57 mornfall If the only way to get a blueberry patch was to commute a strawberry past five apples, then you'd need more than three, I'd guess.
12:58 kowey outsiders must think we're insane
12:58 kowey I think as a Darcs user I want permutivity
12:58 mornfall Darcs absolutely requires permutivity.
12:59 mornfall But darcs does more than merging.
12:59 kowey because I don't want to think too hard about my repository
12:59 kowey but Git users and ever more so for Mercurial users, actually having to think about history is a feature, not a bug
12:59 mornfall Permutivity is what makes the "set of patches" abstraction feasible.
13:00 kowey well that's an interesting angle to look at too
13:00 kowey I think as a Darcs fan, I care about being able to use the "set of patches" abstraction
13:01 kowey and that Russell with his complaint about merge associativity does too
13:01 mornfall Right.
13:31 jeltsch left #darcs
13:33 jeltsch joined #darcs
13:35 jeltsch left #darcs
13:42 gbeshers joined #darcs
13:43 shenshei left #darcs
13:47 shenshei joined #darcs
13:48 copumpkin left #darcs
14:16 copumpkin joined #darcs
14:18 gwern joined #darcs
14:18 gwern left #darcs
14:18 gwern joined #darcs
14:23 balor joined #darcs
15:28 kowey http://twitter.com/#!/gregbu​rd/status/59999765114535936 "Git is popular, but broken. http://t.co/YMfA49x http://t.co/V41njh4 Whereas Darcs works, but is not popular. http://t.co/X"
15:29 kowey which alas is not entirely true :-)
15:34 jeltsch joined #darcs
15:34 dixie Darcs is broken and is not popular? :)
15:35 kowey Darcs breaks when you feed it complicated conflicts
15:35 kowey we have to be clear about this; we can't throw rocks (and we shouldn't even if Darcs were not broken)
15:36 Riastradh `Breaks' in the sense that it actually puts the repository into an inconsistent state and/or loses data, or `breaks' in the sense that you have to fix the conflicts before you can go on?
15:37 kowey http://bugs.darcs.net/issue?%40search_text=&ti​tle=&%40columns=title&topic=8&id=&​%40columns=id&creation=&creator=&activ​ity=&%40columns=activity&%40sort=activity&​amp;actor=&nosy=&priority=&%40group=pr​iority&milestone=&status=-1%2C1%2C2%2C3%2C​4%2C5%2C6%2C16%2C17&%40columns=status&reso​lvedin=&assignedto=&%40columns=assignedto&​amp;%40pagesize=50&%40startwith=0&%40query​name=&%40old-queryname=&%40action=search
15:37 kowey gah, I need to work on figuring out how to get short URIs out of roundup
15:38 dixie kowey: don't worry... copy&paste works well. I didn't see anybody to write URL manually :)
15:38 kowey so far I think it's breaks in the sense that darcs gives you a horrible error message
15:38 kowey eg http://bugs.darcs.net/issue1829
15:39 kowey and http://bugs.darcs.net/issue1699
15:39 kowey so these are *good* cases, nice bugs to have, where Darcs refuses to work
15:40 kowey I hope we don't have any of the bad cases, where Darcs "works" but does something subtly wrong
15:41 kowey and what's more disturbing is that nobody really has a clear idea how Darcs 2 conflicts work (except maybe Ian)
15:43 dixie once we had a code nobody knows how it work. it didn't :)
15:47 kowey (and what's encouraging wrt 3 years ago, is that we now have people who are now waist-deep in Darcs.Patch)
15:47 owst and some who want to be ;-)
15:47 kowey (and who do understand the darcs core a lot better...)
15:48 kowey so there are a lot of reasons to be optimistic
15:48 kowey but it has to be a violently realistic and very long-term kind of optimism
15:48 kowey no illusions
15:49 * owst needs to start learning Coq, to look at and understand the camp stuff.
15:49 kowey that's the spirit!
15:50 kowey and we also have two ideas about how to fix the theory
15:50 owst It does scare me when you say "no one truely understands how Darcs is doing it's thing"
15:50 owst Are they written down anywhere?
15:50 kowey sure! in Darcs.Patch.*.{l,}hs and in Haskell
15:50 owst I can't remember if I asked if Ganesh had written down his graphicators
15:50 owst or whatever
15:51 owst * whatever they were called.
15:51 kowey I believe the Camp writeup actually explains how Darcs 2 is supposed to work
15:51 kowey and also talks about how Camp deviates from it
15:51 owst Yeah, I found an old version, but wanted to build the up-to-date version but I got a Coq error :(
15:52 kowey the other reason to be optimistic is that basically anybody can learn basic patch theory (proof: me)
15:53 kowey it's the conflict handling that's the bear
15:53 owst Yeah. I need to read more on it.
15:55 jeltsch left #darcs
15:55 kowey I also suspect Ganesh's cleanups for rebase etc will make the structure of the src much more apparent
15:55 kowey which puts us in a much better position to study Darcs 2
15:58 dixie kowey: conflict handling isn't part of patch theory ?
15:58 Riastradh Conflict handling is the non-basic part of patch theory...
15:58 kowey I like to think of patch theory as having several layers
15:59 kowey you have the basic story: patch inverses and commutation
15:59 shenshei left #darcs
15:59 kowey this basic story is very easy to learn and to explain, and understanding the basic story tells you a lot about why you can trust the set-of-patches abstraction
15:59 kowey and why things like cherry picking work, why it's not magical
16:00 kowey just boring accounting-style work, click clack on the abacus and your patches are merged... nobody trying to invent magical AI here
16:00 kowey another layer is the story of what Darcs should do when two patches fail to commute
16:01 kowey the practical reality is that we have to force them to commute... how? by generating some sort of conflict representation as the result
16:01 kowey that conflict representation is the difference between darcs 1 and darcs 2 theory
16:01 kowey you could also say that conflict marking is yet another layer... conflict resolution and marking are two different things to Darcs
16:02 kowey and finally another layer is that of primitive patches
16:02 kowey so what's cool about Darcs is that you can work on these layers a bit independently
16:03 kowey one you understand the basic story, and once you have some sort of conflict layer that works... you can make any cool revision-control-like system by changing the primitive patch payload
16:07 dixie thanks for bird view explation :)
16:09 dixie ops, I mean explanation.
16:09 Riastradh And then some git can come along and ruin your day with something that scales nonsense to large repositories...
16:11 dixie Riastradh: but git is based on well established & common concept. It is hard to compare git with darcs.
16:16 sm joined #darcs
16:17 sm morning
16:21 secorp left #darcs
16:27 raichoo joined #darcs
16:31 lispy joined #darcs
16:35 raichoo left #darcs
16:48 Weltraumschaf left #darcs
17:02 secorp joined #darcs
17:14 kowey left #darcs
17:18 raichoo joined #darcs
18:06 gwern left #darcs
18:07 balor left #darcs
18:42 gwern joined #darcs
18:42 gwern left #darcs
18:42 gwern joined #darcs
19:25 lispy left #darcs
19:25 lispy joined #darcs
19:28 roconnor joined #darcs
19:28 roconnor if two people in two branches with idential contents make exactly the same patch an commit it each, are the two patches equal?
19:32 Heffalump no. But in a darcs 2 repo they will cleanly merge to give you one copy of the change.
19:32 Heffalump In a darcs 1 repo, you'll get a conflict.
19:32 Heffalump Equality of patches is one of the sticky points of darcs patch semantics - it's not a very well defined concept.
19:33 Heffalump oh, also, by "identical contents" that would need to mean "identical histories", i.e. not just the same working tree.
19:33 Heffalump where identical is up to patch reordering
19:40 kolmodin joined #darcs
19:40 kolmodin left #darcs
19:40 kolmodin joined #darcs
19:41 roconnor yes
20:13 kowey joined #darcs
20:13 kowey is this about Bram's example?
20:14 * kowey was reading the backlog
20:21 lelit left #darcs
20:27 copumpkin left #darcs
20:39 roconnor kowey: very vaguely related
20:39 roconnor well, maybe simply "related"
20:40 roconnor kowey: I found Bram's post as confusing as many people found my post
20:40 kowey it's unfortunate that his particular example just so happens to tangle with these darcs patch identity stuff, which is a bit irrelevant
20:41 roconnor kowey: the way I see his (first) example is that the outcome could be many things and I find each possibility has a consistent model
20:41 roconnor hardly an example of the impossibility of consistency.
20:43 balor joined #darcs
20:43 roconnor ah good, zooko responded to bram
20:48 roconnor anyhow, good night.
20:48 roconnor kowey: thanks for darcs :)
20:48 kowey good night! heh, thank #darcs, I'm just a cheerleader!
20:54 balor left #darcs
20:55 balor joined #darcs
20:57 kowey is it OK if I tweet "Any order of patches allowed by #darcs is equivalent. This is ultimately a usability issue; I don't want to care about patch orderings."? or would that just confuse things?
20:57 kowey too easy to say what you don't really mean
21:09 Riastradh Any total order consistent with the partial ordering of dependencies, anyway...
21:10 Heffalump that's what "allowed by" means
21:10 Heffalump how about "I don't need to" rather than "I don't want to"
21:12 kowey hmm, means different thing, but maybe the different meaning is a better one
21:14 Heffalump or "I can have any patch ordering I want"
21:14 Heffalump which is a different thing again
21:15 kowey maybe worth a blog post after all, phew I'm not sure if this is being seeking entertainment, or me working on Darcs
21:15 balor left #darcs
21:15 kowey I'm afraid it sounds more like the former :-/
21:15 kowey (what I really ought to do is to flesh out XXX and YYY in the sprint posting about what we aim to accomplish with sprint and relaxed review, respectively)
21:19 Heffalump I think publicity is important.
21:20 kowey I've become so afraid of harming us by saying the wrong thing lately
21:20 kowey maybe that's the wrong attitude, should relax a little bit more
21:21 Heffalump yeah
21:21 kowey think of this as iterative process of refining my understanding of things by saying the wrong thing over and over again (hopefully a different wrong thing each time) until I get it right
21:21 Heffalump also, though it doesn't matter if you fail to, I think it's best to focus on motivating people to contribute to darcs, than to getting users
21:21 owst Yes.
21:21 owst +1 on that.
21:22 kowey well, I'm not so interested in getting users but in sort of capturing people's imagination in a way
21:23 * owst is trying to understand definition 7.4 of Igloo's patch theory doc.
21:23 Heffalump is it online?
21:24 Heffalump kowey: btw, I mad a couple of small corrections to your sprint report, but otherwise it's fine.
21:24 Heffalump oh, and one correction was a comment
21:24 owst I found an old (dated '08) version, http://urchin.earth.li/~ian/theory.pdf
21:24 kowey thanks! I "solved" one of the issues by just deleting the stretch of text the comment was on
21:24 kowey I think I'll send it out now to have it done with
21:25 * owst takes one last peek
21:26 Heffalump a contexted patch is a patch with its minimal context, or some suffix of the minimal context
21:27 owst Right, but 7.4 confuses me a bit.
21:27 Heffalump I was just talking to myself really :-)
21:27 Heffalump but now I understand 7.4
21:27 owst Oh ;)
21:28 Heffalump hmm, or maybe not. I'll read the explanation
21:28 owst The explanation is what confuses me a bit.
21:28 * owst actually reads sprint report.
21:29 Heffalump ok, it's basically ruling something out from the "does not conflict with" relation
21:30 Heffalump in particular a patch and itself, or its dependencies, are excluded from the relation
21:30 Heffalump I think otherwise it is "can be merged"
21:30 Igloo That definition may well be wrong, incidentally. I think I fixed a bug in that area vaguely recently. The code now says http://paste.debian.net/114407/
21:31 Heffalump oh, so it is now just merging?
21:31 Heffalump how much time are you spending on camp/proofs at the moment, out of interest?
21:31 Igloo Yes, test if merging would succeed without introducing conflictors
21:33 Igloo Last commit was Dec 31 2010 AFAICS, although there may be slightly more recent stuff on my laptop. I'm unlikely to do anything more until at least June.
21:34 owst How complete are the proofs? Is there much more to do?
21:34 Heffalump can't think why :-)
21:34 Igloo Some proofs are complete, some are not started. There is much more to do.
21:35 Igloo The main thing to do, and what I'm in the middle of, for a confidence prespective is to show that conflictors meet the "patch-like" axioms
21:36 Igloo If that's provable, then I'm pretty sure everything else will just be a SMOP
21:37 Igloo And on the code side, the major hurdle is understanding how conflict marking should work
21:37 Igloo s/for a/from a/
21:49 zooko joined #darcs
21:49 zooko teratorn: arc` is trying to use darcs again to contribute to tahoe-lafs.
21:49 zooko Did you end up finding a stable modern darcs binary for Linux
21:49 zooko ?
21:50 Heffalump stable and static linked?
21:50 zooko I'm sorry, but I forget where we left off. It was that static linking mysterious fails but that dynamic linking could work?
21:50 zooko Heffalump: I don't care, just easy to deploy on Ubuntu Lucid 64-bit is the only thing that matters.
21:51 zooko I mean, besides stability, which is the other only thing that matters.
21:51 zooko And really good performance. :-)
21:51 lispy I recently tried to deploy a haskell program statically linked and had more issues than dynamically linked due to changes in kernel version.
21:51 Heffalump did you decide you preferred 2.4 or 2.5?
21:52 zooko Heffalump: I forget what I decided. On my new server I have ...
21:52 zooko I have $ darcs --version
21:52 zooko 2.5.2 (release)
21:52 zooko $ type darcs
21:52 zooko darcs is hashed (/home/zooko/.cabal/bin/darcs)
21:53 zooko And that is good performing and as far as I remember it is stable.
21:53 zooko The 2.5 that would hang on http operations was the statically linked one.
21:59 * Heffalump appears from his Lucid install
22:01 raichoo left #darcs
22:08 * Heffalump frees up disk space by deleting his darcs checkout of ghc :-(
22:14 teratorn zooko: sorry no, I don't know why the static binaries hate your tahoe-lafs repo
22:14 teratorn and I know very little about haskell or darcs internals or ghc, so the best I think I can do is complain to someone
22:14 teratorn but I don't know who to complain to :)
22:15 teratorn zooko: I would recommend you just have him apt-get ghc and cabal
22:16 zooko teratorn: okay, thanks!
22:16 Heffalump I just made a binary
22:18 Heffalump (waiting for it to upload)
22:19 secorp left #darcs
22:20 dcoutts Heffalump: oh btw, we were talking a couple weeks ago about using darcs rebase to help re-merge cabal and cabal-install repos.
22:20 dcoutts You may recall I got most of the way there and then had a problem with pulling one patch which took forever. I think you indicated that you might be able to have a look if I prepare the repos. Was that right? I think it'd be useful for us to have one repo in time for this year's GSoC projects since there will be a fair amount of refactoring going on.
22:21 Heffalump ok, I'll move that up my list.
22:22 Heffalump http://urchin.earth.li/~ganesh​/temp/darcs-2.5.2-lucid-x86_64
22:22 dcoutts Heffalump: that'd be great. So I guess I should tar up the two repos
22:22 Heffalump they're public, aren't they? Or do I need something special from you?
22:23 Heffalump I remember grabbing them to look at on a plane, but then having a nap instead.
22:23 dcoutts Heffalump: oh I meant the state of the repos just before doing a pull from one to the other
22:23 dcoutts with all the previous suspend steps done
22:23 Heffalump ah, right. Probably easiest if I just start from scratch.
22:23 dcoutts Heffalump: ok, check I wasn't doing anything stupid :-)
22:24 dcoutts just make sure you have something to do while all the previous patches are pulled
22:24 zooko Heffalump: thanks. I suggested to arc` that he grab that and then if he has more trouble with darcs-2.3.0 as packaged by Ubuntu he could try your binary instead.
22:24 dcoutts it works fine, just takes a long time
22:24 Heffalump dcoutts: ok.
22:27 Heffalump do you remember what date it was, and/or what irc nick you were using at the time?
22:27 Heffalump just trying to find the previous conversation in logs
22:27 dcoutts Heffalump: lemme check my logs
22:28 dcoutts Heffalump: I was just checking what sequence of darcs operations I'd done
22:28 dcoutts Heffalump: it'd have been the #ghc channel
22:28 Heffalump that's why I can't find it in #darcs logs :-)
22:28 Heffalump can you just mail me a copy, if you have logs yourself?
22:29 dcoutts Mar 06
22:29 dcoutts sure
22:29 Heffalump unless #ghc is publicly logged, I won't have it anyway
22:37 owst kowey: Is the blog post coming?
22:37 owst s/Is/How's/
22:37 kowey working on associating photos to sections
22:37 owst Cool.
22:38 kowey we have very few Ganesh photos because he was taking most of them :-)
22:38 owst Phew, that's a relief :-p
22:40 kowey http://blog.darcs.net/2011/04/da​rcs-hacking-sprint-6-report.html
22:40 owst Cool! :)
22:40 intripoon_ joined #darcs
22:40 JaffaCake1 joined #darcs
22:41 kowey hmm, I'd be happier with one more photo near the beginning I think
22:41 Riastradh left #darcs
22:42 JaffaCake left #darcs
22:42 intripoon left #darcs
22:53 owst Out of interest, when would the next Sprint be?
22:53 owst (thinking about places in Soton to stay, to see if it's feasable)
22:53 kowey around 6 months from now
22:53 kowey generally Oct/Nov-ish
22:53 Heffalump the schedule has been a bit confused by the European hackathon schedule going wrong
22:53 dcoutts Heffalump: ok, sent along with my recollection of what I did and what the eventual problem was
22:54 Heffalump normally that's in spring and we colocate, and then we have a darcs-only thing in Autumn
22:54 Heffalump (European Haskell hackathon, that is)
22:54 owst Right.
22:54 owst There was that MSR hackathon mentioned.
22:54 Heffalump I'm not sure what the darcs presence in Cambridge will be like. Would be silly for me not to turn up but I can't actually be sure of doing so :-)
22:54 owst Ah, one-and-the-same then :)
22:54 Heffalump dcoutts: thanks.
22:55 dcoutts Heffalump: thanks for taking a look, much appreciated.
22:55 owst I'd like to go, purely to see MSR and meet some people.
22:55 Heffalump we need to do something to keep our few remaining users happy ;-)
22:55 dcoutts heh
22:55 owst And do some Darcs hacking of course ;)
22:55 dcoutts Heffalump: I've been using darcs rebase more recently. I like it
22:55 owst I have a question regarding rebase, Heffalump.
22:56 dcoutts though I realised at one point I could have done the same with just darcs amend-record on someone else's patch
22:56 Heffalump ok, you have 5 minutes :-)
22:56 Heffalump 4.
22:56 * Heffalump is late for bed, as usual
22:56 owst Given ABCD, say I want to remove B, I suspend CD, then obliterate B. Does the effect of obliterating B get shuffled into just C, or something else?
22:57 Heffalump it doesn't get shuffled into either C or D
22:57 owst :-s
22:57 Heffalump it ends up as something separate
22:57 owst Ah.
22:57 Heffalump so the suspended state is implicitly <fixup>C<fixup>D
22:57 Heffalump where the fixups are all empty initially
22:57 Heffalump and it ends up in the latest fixup it can
22:57 Heffalump (according to commutation)
22:58 owst Right, and then, presumably, unsuspending converts non-empty fixups to patches?
22:58 owst Or something like that?
22:58 Heffalump well, it uses them to make conflicts
22:58 Heffalump you get the conflict between C and inverse(fixup-before-C)
22:59 owst Right.
22:59 secorp joined #darcs
23:00 Heffalump <gone>
23:02 zooko left #darcs
23:05 owst Shall I post the sprint report to /r/haskell?
23:05 owst Seems like a positive report to show to the world :)
23:07 kowey sure!
23:07 * kowey grapples with his personal blog post on the consistency stuff
23:08 kowey or maybe it's best to just leave it at the sprint report
23:09 owst The more, the better.
23:09 owst Perhaps :p
23:09 exlevan preformatted text in wiki doesn't seem to render correctly
23:10 * exlevan is looking on http://wiki.darcs.net/Internals/OptimizeHTTP
23:11 exlevan there supposed to be a table on the bottom
23:11 kowey obscure RST syntax problem fixed
23:11 kowey should be replaced with a proper table
23:12 owst http://www.reddit.com/r/haskell/comment​s/gt4s3/darcs_hacking_sprint_6_report/
23:18 sm " allows us to keep patches flowing, so that minor patches that don’t actually need any review are ^not^ jammed up"
23:19 kowey oh, of course we want patches to jammed up
23:19 kowey obstruction is the name of the game
23:19 kowey thanks, fixing now!
23:22 sm great report!
23:22 sm thanks a lot you sprinters (& other hackers & documentors)
23:24 sm guess I should say that on the reddit
23:38 balor joined #darcs
23:44 owst kowey: the link to URL.hs captures the "!)"
23:44 kowey gah! never understood the appeal of graphical rich text editors
23:45 kowey probably pinning the blame on the wrong thing
23:50 owst left #darcs
23:57 owst joined #darcs
23:58 Riastradh joined #darcs

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