Perl 6 - the future is here, just unevenly distributed

IRC log for #darcs, 2014-05-13

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

All times shown according to UTC.

Time Nick Message
00:05 whaletechno joined #darcs
00:06 mizu_no_oto joined #darcs
01:29 mizu_no_oto joined #darcs
02:52 alexei joined #darcs
03:09 alexei_ joined #darcs
04:16 mizu_no_oto joined #darcs
06:12 dolio joined #darcs
06:16 slyfox joined #darcs
06:16 slyfox joined #darcs
06:33 lelit joined #darcs
07:23 gal_bolle joined #darcs
08:13 slyfox joined #darcs
08:13 slyfox joined #darcs
09:39 edwardk joined #darcs
11:07 c74d joined #darcs
11:36 alexei_ joined #darcs
11:52 c74d joined #darcs
12:05 mizu_no_oto joined #darcs
12:10 kowey joined #darcs
12:10 kowey good UTC-4 morning!
12:14 edwardk happy UTC+10 evening!
12:17 edwardk so how long until darcs switches to homotopy patch theory? ;)
12:23 kowey :-)
12:24 kowey ah good, somebody updated http://darcs.net/Talks with a link to the paper
12:37 rieper joined #darcs
13:23 gal_bolle joined #darcs
13:44 kowey joined #darcs
14:41 mizu_no_oto joined #darcs
14:43 gh_ joined #darcs
14:44 slyfox^w_ who knows what fetchFileUsingCachePrivate is expected to do? :] does it download From subdir or To subdir?
14:51 Heffalump I don't know off the top of my head - could look at the code, but I don't know if that'll add anything to what you already know
15:04 alexei_ joined #darcs
15:17 slyfox^w_ (random fact: darcs has two identical catchall functions: in Darcs/UI/External.hs and in Darcs/Util/Exception.hs)
15:17 Heffalump and both are probably obsolete in some way
15:39 kowey1 joined #darcs
15:40 gh_ we ought to catch all the catchall's
15:52 Heffalump no, we ought to throw them away
15:58 kowey joined #darcs
16:38 kowey I seem to remember there being something about more user friendly exception messages from our catchalls
16:38 kowey *possible misinformation
16:39 kowey gah, I'm starting to think in git
16:41 kowey slyfox^w_: in case this helps, we have some dev docs on the cache system http://darcs.net/Internals/CacheSystem
16:42 kowey I tried looking in the source but didn't get anything from a quick glance, sorry (plus it's been a while)
16:44 kowey also fetchFileUsingCache seems to document subdir although not terribly convincingly
16:58 Heffalump what would a hypothetical replacement for the downloader need to do?
16:58 Heffalump particularly in regard to the cache
17:15 slyfox joined #darcs
17:28 lelit joined #darcs
17:58 c74d joined #darcs
18:11 mizu_no_oto joined #darcs
18:16 kowey joined #darcs
18:19 kowey hmm, well the darcs downloading system would need to have some sense of “do I have this file already?”
18:19 kowey so consult the cache, but that's not really something we'd expect of the hypothetical downloader
18:19 Heffalump and it needs to integrate with the existing cache folders
18:20 kowey (that and hash checking)
18:20 Heffalump and write to the cache
18:20 kowey right
18:20 Heffalump hmm, so  what api would a generic downloader have to support that optionally
18:21 kowey i wonder if we need to control where the tmp download-in-progress file goes (what dir)
18:21 kowey and then just do a local mv
18:21 Heffalump can it go in memory?
18:22 kowey oh yeah, that would be an option - what about very large files?
18:22 Heffalump hmm, true
18:23 slyfox darcs already stores all files in RAM when writes them in cache
18:24 kowey there's been all this CRDT talk on twitter over the past few months
18:24 kowey dunno if that's the same sort of stuff the collaborative editing people were talking about
18:24 kowey as "OT conflict resolution too hard, go CRDT!", if I recall correctly
18:25 Heffalump is it to do with downloading or darcs in general?
18:40 mornfall kowey: you mean something like logoot?
18:56 slyfox heh, fun data point: darcs with -O0 usually works, and darcs -O1 doesn't
18:57 slyfox and i think i've found another bad spot
19:00 carter slyfox: is this WRT 7.8?
19:00 slyfox yes
19:00 carter ohhh
19:00 carter i know what could be happening
19:00 slyfox testing a patch. if it works, i'll show you how dump it is
19:01 slyfox s/dump/dumb/
19:01 carter slyfox: any chance theres unsafeThaw/ unsafeFreeze / unsafe perform like things going that are getting too much sharing?
19:01 slyfox a bit worse, unsafePerformIO w/o noinline
19:01 carter EWS
19:01 carter that'd do it
19:01 carter 7.8 is a lot better at recovering sharing
19:02 slyfox *nod*, i've "unbroke" things when added some logging code and thus noticed
19:02 Heffalump is there anything on hackage that supports both pipelining and HTTPS without using an external library like OpenSSL?
19:02 carter Heffalump: .... vincent has something maybe... but he doesn't strictly do PVP
19:03 Heffalump I'm sure darcs depends on loads of things that don't use the PVP :-)
19:03 slyfox :]
19:03 carter no wonder i can never build it :)
19:03 Heffalump unless we're going to partition hackage we just have to live with that (and they with us!)
19:03 slyfox major darcs breakages are not the library issues, but ghc itself
19:05 Heffalump this is the first time I know of we've been screwed over quite this badly by a GHC upgrade (and it's entirely darcs fault on this occasion). The unicode handles in 7.2 weren't much fun either but at least the problem was clearly reproducible.
19:05 slyfox ladies and gentlemen, i have A Fix!
19:05 Heffalump *applause*
19:06 slyfox http://dpaste.com/1R7HEHR/ that's it
19:07 slyfox will send in some minutes
19:07 Heffalump carter: from what I've seen, there's http-client + derivatives which uses tls (i.e. Haskell native SSL) but doesn't do HTTP pipelining, and there's http-streams which does pipelining but needs OpenSSL
19:07 carter i suspect openssl has fewer bugs now than 2 months ago :)
19:08 mizu_no_oto joined #darcs
19:08 carter though static linking for crypto for an end app is tricky :)
19:09 Heffalump carter: the nuisance is really linking it on Windows
19:09 carter hrm
19:09 Heffalump slyfox: is that on top of your previous fixes?
19:10 slyfox Heffalump: yeah, on top of the one already in darcs.net. they are absolutely independent though
19:11 mornfall haha, unsafePerformIO FTW
19:12 carter slyfox: was that tripping it up on O1
19:12 carter or just O2?
19:12 slyfox -O0 -> -O1
19:12 Heffalump doh, _broken_ NOINLINE pragmas!
19:12 slyfox yep
19:13 Heffalump and this is why language extension by pragma is a bad idea
19:13 Heffalump especially when the pragmas look like comments
19:13 slyfox well, the code is complete crap :]
19:13 carter how was the pragma broken or was it just missing
19:13 carter Heffalump: whats a better design
19:13 slyfox i have editor to highlight those (thus was easy to notice)
19:13 Heffalump that too, but NOINLINE and unsafePerformIO is a fairly "standard" pattern even in uncrap code
19:14 Heffalump carter: it was broken by no #s
19:14 carter hah
19:14 Heffalump carter: I guess an explicit keyword to introduce them, so it's hard to make mistakes like that
19:14 carter keyword where?
19:14 Heffalump but also to integrate these things with the language properly
19:14 carter whts a good exmaple
19:15 Heffalump in this particular case I guess it would be 'pragma NOINLINE' on the line before
19:15 carter as a special function?
19:15 carter hrm
19:15 Heffalump no, a language extension to support the 'pragma' keyword
19:15 carter thats actually a reasonable proposal
19:15 carter would need CPP for older ghcs
19:15 Heffalump but it's tricky if other compilers don't need the hack
19:15 carter but reasonable
19:15 carter whcih compilers?
19:15 slyfox yep, wirth writing on tras
19:16 slyfox yep, wOrth writing on trac
19:16 carter Heffalump: this is a sound proposal
19:16 Heffalump jhc/uhc
19:16 mornfall I'm pretty sure it's a comment exactly to hide it from other compilers.
19:16 carter that too
19:16 carter :)
19:16 Heffalump right
19:16 Heffalump (re mornfall's point)
19:16 carter hence CPP is a thing :)
19:17 mornfall carter: that just re-introduces the trap
19:17 Heffalump and then you fuck up your CPP and you're back to square one
19:17 carter :))))
19:17 carter does darcs build with not ghc?
19:17 Heffalump not a chance
19:17 Heffalump type families and GADTs up the wazoo
19:18 mornfall mostly everything is GHC-only these days
19:18 mornfall but
19:18 Heffalump but the discussion is a general one - darcs is "fixed" now :-)
19:18 carter ok
19:18 carter well
19:18 mornfall optional pragmas are always going to be a problem
19:18 mornfall they are a problem in C, and have been for many decades
19:18 Heffalump right, the key problem here is that unsafePerformIO for this case is only 'correct' when used with the pragma
19:19 carter a good design is worth adding to ghc
19:19 mornfall carter: it's not entirely clear what a good design would be
19:19 carter :)
19:19 carter well
19:19 carter when you have one, share!
19:19 carter :)
19:19 mornfall most likely a GHC.Prim unsafeGlobalVariable or something like that
19:19 Heffalump I guess there's always the ACIO proposal from a while back
19:19 n-dolio First-class modules that can be produced via IO.
19:19 Heffalump but I was quite strongly against it :-)
19:20 n-dolio Is the good design.
19:20 Heffalump n-dolio: hmm, yes
19:20 n-dolio Good luck with that one, though.
19:20 Heffalump would backpack support it? Is backpack going to be implemented?
19:20 mornfall http://www.haskell.org/haskellwiki/Top_level_mutable_state
19:21 n-dolio I don't think backpack works at the level necessary.
19:22 c74d joined #darcs
19:22 slyfox 'Successfully sent patch bundle to: patches@darcs.net.'
19:24 carter whats ACIO?
19:24 carter @google  acio haskell
19:24 lambdabot http://www.haskell.org/haskellwiki/Top_level_mutable_state
19:24 lambdabot Title: Top level mutable state - HaskellWiki
19:25 mornfall carter: ... see above :-)
19:25 carter yeah
19:25 n-dolio It's a subset of IO that is order independent.
19:25 carter i just googled
19:25 carter http://www.haskell.org/haskellwiki/Top_level_mutable_state#Initialisation_and_the_ACIO_monad
19:26 n-dolio I think the problem with something like ACIO is that 'top level' too often is a lie.
19:27 mornfall well, toplevel is a dangerous thing
19:27 n-dolio Although it's better than people using unsafePerformIO and NOINLINE, I guess.
19:27 mornfall just like a GoF singleton is a dangerous thing :-)
19:28 n-dolio So you end up arguing about how people shouldn't do this, but if they do this is a better way than this other way, but if you give the better way aren't you condoning it, and so on.
19:35 mornfall actually, __attribute__-style extensions would probably work
19:41 carter how's that different from the pragma thingy
19:47 mornfall carter: well, it has *some* syntax
19:47 mornfall carter: so if you mis-spell it, you at least get an error/warning (depending on which bit you mis-spell)
19:48 mornfall carter: the idea in C was that __attribute__ can be defined to an empty macro on old compilers
19:48 n-dolio Can you write template Haskell that expands to a pragma?
19:48 mornfall (that's why you need to write __attribute__((noinline)) in C++)
20:08 kowey Heffalump: darcs in general (sorry, typical randomness on my part)
20:09 kowey mornfall: I'm not familiar with logoot, but I notice on a quick google Molli's name comes up
20:09 kowey eg http://hal.archives-ouvertes.fr/docs/00/34/59/11/PDF/main.pdf
20:50 Heffalump kowey: btw, I remember reading a while ago about a simplified form of English designed for computer generation, but I've forgotten the name and have failed to search for it repeatedly. Would you happen to know what I'm talking about?
20:54 kowey ah, Heffalump yeah that's called a controlled language
20:54 kowey I think aeroplane types (eg. Boeing, AirBus) use them for their manuals
20:54 kowey an example might be http://en.wikipedia.org/wiki/Attempto_Controlled_English
20:56 kowey there was neat piece of work in Open University using this as an ontology editing tool
20:57 kowey (not ACE specifically, but rather than make you think in ontologese, you write things in a guided English that is constrained by UI to things the ontology knows or can reason about)
21:04 Heffalump that's the one I was thinking of, thanks
21:06 mizu_no_oto joined #darcs
21:08 Heffalump hmm, sounds like humans need a bit of minimal training to understand how to disambiguate some sentences, which is a shame
21:21 nomeata joined #darcs
21:26 Heffalump nomeata: do I recall correctly that you are using the commandProgramName abstraction in the darcs command-line code?
21:27 nomeata Heffalump: you mean for my (stalled, if not abandonne) ipatch program?
21:27 Heffalump that sounds right
21:35 mizu_no_oto joined #darcs
21:36 nomeata Heffalump: well, I didn’t do anything about it or a year or two, I guess that voids any right to be considered :-)
21:36 nomeata Why are you asking?
21:36 Heffalump someone thought it was cruft and submitted a patch to remove it :-)
21:36 Heffalump I think it probably makes sense to keep for now, it seems like a logical thing to have
21:37 nomeata sounds sensible
21:40 sm slyfox^w_: APPLAUSE
21:58 kowey joined #darcs
22:28 siel joined #darcs
22:50 kowey joined #darcs
23:26 c74d joined #darcs
23:26 dolio joined #darcs

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