Camelia, the Perl 6 bug

IRC log for #darcs, 2010-09-03

← Previous day | Index | Channel Index | Today | Search | Google Search | Plain-Text | plain, newest first

All times shown according to UTC.

Time Nick Message
00:01 lispy left #darcs
00:02 sm how long should it take for a sent patch to show up on the tracker ?
00:03 are they moderated ?
00:04 mornfall I don't think they are.
00:04 zooko joined #darcs
00:07 sm untrustworthy tools., an energy leak
00:08 how's keeping patches in the tracker working out ? is it providing a lot of value ?
00:09 mornfall I think it turned out for the better.
00:33 sm_ joined #darcs
00:35 isaacd joined #darcs
00:35 sm left #darcs
00:35 sm_ is now known as sm
00:37 lispy joined #darcs
00:37 sm I sent a patch to both patches and darcs-users, and there's absolutely nothing going on; I think there's moderation in there somewhere
00:38 mornfall Might be that Eric has to whitelist you.
00:39 Igloo Could be a message size thing too
00:50 lispy Igloo: that's disabled
00:50 Or at least, it was when I was list moderator
01:01 isaacd left #darcs
01:01 mornfall Igloo: Can you point me at a small OF repo somewhere public?
01:01 (http://)
01:04 Igloo Will something in http://darcs.haskell.org/ghc-6.12/packages/ do?
01:05 integer-simple is probably the smallest, but I'm not sure how small you want
01:06 mornfall Yes that works, thanks.
01:10 zooko left #darcs
01:11 sshc_ is now known as sshc
01:18 mornfall I don't actually see issue1942.
01:18 lispy sm: Well, I tried to investigate your issue with the ml, but I no longer know the password
01:18 mornfall Well, it is downloading, but only tags, not actual patches.
01:19 sm thanks lispy
01:20 Igloo I haven't tried to reproduce it
01:21 Have you tried reproducing it with http://darcs.haskell.org/cabal/ ?
01:22 mornfall Igloo: I tried couple repos from your list and every single patch it downloads is a tag.
01:22 So while annoying, it's not *so* bad.
01:23 It compounds with high-latency servers (like darcs.haskell.org likes to be), though.
01:23 lispy Igloo: BTW, where are you guys on the formal stuff?  Last I knew, you had some coq proofs of bits and you were investigating some other proof assistant (Isabelle? Agda?)
01:24 Igloo mornfall: Oh, have you tried pulling into both an OF and a hashed repo?
01:25 lispy: I was looking at Isabelle, but I've gone back to coq for now
01:25 Heffalump mornfall: patch373 and adventure are going to conflict badly :-(
01:25 lispy Igloo: I ask because when I listened to larrytheliquid's talk about Agda (the one he gave at the scottish ruby con), he mentioned somewhere that Agda has an FFI for calling Haskell.  So that actually makes Agda kind of attractive here.  Now, I realize we probably want to extract code instead of using Agda, but for doing proof of concept stuff it sounds like an interesting feature.
01:26 * Igloo isn't interested in code ATM
01:27 lispy Igloo: yeah, I get that
01:27 Igloo: I was actually thinking about things a bit side-ways to be fair
01:27 Heffalump also, what does "move the preferences system into IO where it belongs" mean?
01:28 mornfall Igloo: let me try with OF -> OF (I was trying OF -> hashed)
01:29 Heffalump: See my reply to Eric's review.
01:31 Igloo: As expected it is the same.
01:31 Igloo Oh. Well it certainly seems to download patches from the cabal repo for Dmitry
01:33 mornfall Hmm. Indeed.
01:34 It breaks for me with cabal repo, too.
01:35 Igloo Unclean tags, maybe?
01:36 mornfall Possibly.
01:36 Igloo Or maybe all patches since last tag
01:36 There probably aren't any in the 6.12 repos
01:37 mornfall Right, I didn't notice that.
01:38 lispy Heffalump: the thing I find confusing is the "return . unsafePerformIO", all I can figure is that the return is not IO.  So then, mornfall must have removed the primitive for changeprefs from ReadableDirectory and WritableDirectory
01:38 Heffalump: but I haven't read the patch
01:38 mornfall lispy: There never was a primitive for changeprefs.
01:38 It was just completely hokey.
01:39 lispy mornfall: I guess I don't get why you needed to add "return $! unsafePerformIO" (everything else on that line seems to be the same)
01:40 >> -           when b $ changePrefval p f t
01:41 >> +           when b $ return $! unsafePerformIO (changePrefval p f t)
01:41 You must have made that change for a reason, but I'm failing to grok it
01:41 mornfall lispy: Half of the stuff in Darcs.Repository.Prefs was in the WriteableDirectory monad, and not in IO.
01:42 lispy: Writing into _darcs.
01:42 Which breaks the contract on the monads.
01:43 lispy mornfall: okay, so if I take your word on that part, I still don't see how that is related to unsafePerformIO
01:43 mornfall lispy: Well, patch application is not in IO. Changing preferences is.
01:44 (I have moved the things in Prefs to IO, if that wasn't clear enough.)
01:47 Heffalump I'm not really any the wiser from that. preferences are a patch type. Why is forcing application of that into IO a good idea?
01:47 mornfall Heffalump: Well, applying setpref will change things inside _darcs.
01:48 Heffalump which is weird, and could be changed, but not to an implicit side-effect
01:48 mornfall Heffalump: It just so happened, that the WriteableDirectory allowed you to change things inside _darcs.
01:48 Well, *some* WriteableDirectory instances did.
01:50 Heffalump I'm still lost. WriteableDirectory is supposed to be an abstraction over a repository tree, right? Previously it was capable of being simulated purely (AFAIK), and now it's not.
01:51 mornfall Heffalump: Well, no non-IO instance will ever let you look into _darcs. So the guard never fires.
01:52 And arguably, the IO instance shouldn't let you either.
01:53 * Heffalump goes back to bed, but I don't think this can ever be the right approach. WriteableDirectory could just insist that any instances model the prefs separately, outside the FS tree.
01:53 mornfall That's nonsensical. The pref system is completely broken. The commutes are incorrect, too.
01:54 I am not saying this is the right approach. But at least it doesn't pretend to be correct.
01:55 As I said in that review reply I pointed to before, I think that applying ChangePref patches should be a noop in the Apply Prim instance.
01:56 And we should just scan the applied patches post-fact in pull.
01:58 (And carry out their effects in IO.)
03:08 lambdabot left #darcs
03:13 lambdabot joined #darcs
03:30 _ilbot2 joined #darcs
03:30 Topic for #darcs is now can't talk? see -> | http://wiki.darcs.net/IRC | http://darcs.net/ | latest is 2.4.4 | sprint! http://wiki.darcs.net/Sprints/2010-10
03:33 isaacd joined #darcs
03:33 SecondOrderSalad left #darcs
03:33 felipe left #darcs
03:33 Jaak left #darcs
03:33 thorkilnaur left #darcs
03:34 JaffaCake left #darcs
03:34 alpounet left #darcs
03:34 ezyang left #darcs
03:34 knewt2 left #darcs
03:34 lambdabot left #darcs
03:34 lispy left #darcs
03:34 tmug left #darcs
03:34 sm left #darcs
03:34 sshc left #darcs
03:34 alexsuraci left #darcs
03:34 mornfall left #darcs
03:34 lpsmith left #darcs
03:34 darcswikibot left #darcs
03:34 Gracenotes left #darcs
03:34 gbeshers left #darcs
03:34 int-e left #darcs
03:34 preflex left #darcs
03:35 C-Keen left #darcs
03:35 kosmikus left #darcs
03:35 burp left #darcs
03:35 kolmodin left #darcs
03:35 npouillard left #darcs
03:35 Igloo left #darcs
03:35 dino- left #darcs
03:35 isaacd left #darcs
03:35 pierreee left #darcs
03:35 darcscommitbot left #darcs
03:35 Korusef left #darcs
03:35 Heffalump left #darcs
03:36 drksd left #darcs
03:36 dons left #darcs
03:36 dleverton_ left #darcs
03:36 idnar left #darcs
03:37 _ilbot2 left #darcs
03:37 dcoutts joined #darcs
04:27 twb joined #darcs
05:15 Heffalump I don't understand why it's nonsensical to just model the prefs separately. In a simulated tree, just keep a separate data structure to manipulate. In a real tree, just poke _darcs/... since that's where the prefs do actually live.
05:19 * lispy thinks that Heffalump is right
05:19 Heffalump how are the commutes broken, btw?
05:24 alpounet joined #darcs
05:37 lispy Heffalump: so that part was stated (and I think documented) by David years ago
05:37 Heffalump: it would be nice to review it, but one that happens is the pref that is active is the most recent one
05:39 twb left #darcs
05:55 twb joined #darcs
06:14 twb left #darcs
06:14 twb joined #darcs
06:49 lelit joined #darcs
07:02 darcscommitbot joined #darcs
07:03 darcswikibot joined #darcs
07:04 mornfall Heffalump: commutes are broken because changeprefs to the same value commute freely
07:04 Heffalump: It's nonsense to model the prefs because they are a broken concept and it is definitely not worth complicating all the patch-application-related code for them.
07:09 twb left #darcs
07:21 mornfall What you could do, if you really wanted, was to add mChangePref to ApplyMonad and make its default implementation be const $ return () and just never implement it (and keep it in IO only).
07:42 devdos joined #darcs
07:42 devdos left #darcs
08:25 twb joined #darcs
08:25 Heffalump joined #darcs
08:38 Heffalump left #darcs
08:45 kowey joined #darcs
08:48 kowey still around, sm?
08:49 @tell sm I don't see you in the moderation queue (and you've been sending stuff for quite a while)
08:49 lambdabot Consider it noted.
08:50 mornfall Morning Eric.
08:50 kowey @tell sm very sorry to point you to this new-darcs-hacker stuff, but could we just double-check the stuff in http://wiki.darcs.net/Development/Patches ? maybe some config change lately?
08:50 lambdabot Consider it noted.
08:53 kowey and good morning!
08:54 I was excited because I thought I'd found a workflow for submitted (tagging the context and then pushing --from-tag), but it turns out we don't support range matchers in push/send/pull
08:55 mornfall kowey: I think all reasonable solutions will revolve around a --bundle or similar matcher (--hash-list file, whatever).
08:55 kowey: --bundle is good because you don't need an extra file
08:55 kowey yeah
08:55 it may even generalise well
08:56 mornfall Well, bundle is basically a [PatchInfo] interspersed with patch data.
08:56 So you could have --bundle that scans for the PatchInfos and ignores the inbetween stuff, so it'd generalise to partial context files too, kind of.
08:57 (Well, it'd actually generalise to a full context file too, so you could say pull --context... kind of.)
08:58 The --bundle/--context difference is if you take the patchinfos before Context:\n\n or after.
08:58 kowey right... so the kind of generality I was hoping for was, for example, the fact that matchers do something sensible everywhere, or interactive mode
08:59 sort of a darcs-ish generality
09:00 ie. few concepts but widespread and which combine very well with each other
09:00 mornfall But --bundle/--context is a regular matcher.
09:01 match everything whose patchinfo is in this list
09:01 kowey so we'd enable it wherever we enable --context
09:01 mornfall I.e. just like --match 'hash x or hash y or hash z'
09:01 kowey hmm, darcs get --bundle
09:01 mornfall (--matches actually)
09:01 kowey oh actually, darcs get --bundle would do what we'd want
09:02 darcs get --bundle /tmp/foo.dpatch http://darcs.net/submitted
09:02 mornfall It definitely seem sso.
09:02 -s
09:02 +s :)
09:03 kowey :-) s! s!s ! - yeah pointing that out (well, a second time to that it sunk in) makes me happier
09:10 mornfall Btw. I don't think we currently allow pull --context.
09:48 iago joined #darcs

← Previous day | Index | Channel Index | Today | Search | Google Search | Plain-Text | plain, newest first