Camelia, the Perl 6 bug

IRC log for #darcs, 2008-10-27

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

All times shown according to UTC.

Time S Nick Message
00:09 beschmi left #darcs
00:29 sm joined #darcs
00:43 dons cabal install darcs, woo
00:46 dons http://galois.com/~dons/images/darcs.svg
00:51 kpreid_ joined #darcs
00:54 nwf joined #darcs
02:08 twb joined #darcs
02:46 dcoutts joined #darcs
02:46 dcoutts @arr!
02:46 lambdabot Arrr!
02:49 lispy dcoutts: hey
02:49 lispy did you see what I just wrote in #haskell?
02:49 * dcoutts looks
02:50 lispy dcoutts: I made it to link errors
02:50 lispy dcoutts: yeah on windows
02:50 dcoutts hmm
02:50 dcoutts lispy: what was the problem with autogeneration?
02:50 dcoutts which autogeneration in particular?
02:51 lispy I don't have 'darcs'
02:51 lispy so auto generation fails
02:51 lispy anything that needs to call darcs
02:51 lispy because I don't have it installed!
02:51 lispy So I just commented out that autogen stuff...it's like ThisVersion and Context
02:51 lispy who cares
02:51 dcoutts ohhh
02:52 dcoutts right, my bad
02:52 lispy dcoutts: http://hpaste.org/11499
02:52 dcoutts yeah, so it should be catching those
02:52 lispy dcoutts: right it should catch those and do whatever autoconf does when darcs isn't built yet
02:52 dcoutts yep
02:53 dcoutts ok, so the first link error is related to hslibwww.c I presume
02:53 lispy right
02:53 lispy let's focus on the other one
02:53 lispy zlib
02:53 dcoutts aye, so are you building with external-zlib true or false?
02:53 lispy let me check
02:54 lispy hmm...I didn't change it, I'll re-run config with verbose
02:54 lispy False
02:54 dcoutts hmm it should fail by not finding -lz
02:54 dcoutts run with build -v and check if it's passing -lz
02:55 lispy dcoutts: I don't see a -lz
02:56 lispy I haven't installed much on this machine
02:56 dcoutts lispy: and you've got the recent patch to use extra-libraries: z when flag external-zlib is false?
02:56 dcoutts if flag(external-zlib)
02:56 dcoutts build-depends:    zlib == 0.5.*
02:56 dcoutts cpp-options:      -DHAVE_HASKELL_ZLIB
02:56 dcoutts else
02:56 dcoutts extra-libraries:  z
02:56 lispy oh, I missed that one
02:57 dcoutts ok, with that patch I expect it'll fail by not finding -lz
02:57 dcoutts which is good
02:57 lispy you're correct
02:57 dcoutts you then need the external C zlib
02:57 dcoutts or the zlib binding package
02:57 lispy I have zlib package because I needed it for cabal-install
02:58 dcoutts hmm, I wonder why it did not select it automatically
02:58 dcoutts oh, I know, because you've got 0.4.0.4
02:58 lispy maybe because I tweaked the .cabal file
02:58 dcoutts and darcs now needs 0.5.x
02:58 lispy I upgraded cabal
02:58 dcoutts you'll need the darcs version of zlib
02:58 lispy oooh
02:58 lispy hmm
02:58 lispy how do we get that?
03:02 lispy one thing I can do is grab zlib dll from zlib.net
03:02 lispy but I'm not sure how I make the build use it
03:03 dcoutts lispy: I've no idea about making it use an external zlib.dll
03:03 dcoutts lispy: but the darcs version of my zlib binding is pretty easy
03:03 dcoutts darcs get http://code.haskell.org/zlib/
03:03 lambdabot Title: Index of /zlib
03:03 dcoutts cd zlib && cabal install
03:04 lispy I don't have darcs :(
03:04 lispy I need a zip file
03:04 sm the sprint continues!
03:05 sm go, portland, go!
03:05 dcoutts lispy: well you can always get an old darcs binary
03:06 dcoutts sm: heh
03:06 Jerri joined #darcs
03:06 * sm got the cold shoulder from gf tonight, BACK TO WORK...
03:07 sm lispy: yeah. and since I have strangely become windows binary emissary, here's http://wiki.darcs.net/index.html/CategoryBinaries
03:07 lambdabot Title: CategoryBinaries - DarcsWiki
03:07 sm I mean http://wiki.darcs.net/index.ht[…]cb62712589b392074
03:07 lambdabot Title: CategoryBinaries - DarcsWiki, http://tinyurl.com/4wlxe2
03:08 lispy dcoutts: nah, I tar'd it on another machine
03:10 adu joined #darcs
03:10 lispy dcoutts: weird.  I have that copy of zlib, 0.5, I run configure then I try to build and build tells me .\zlib.cabal has been changed, please re-configure.
03:11 dcoutts hmm
03:11 lispy my system clock is wrong, hang on
03:11 dcoutts lispy: right I was going to ask about timestamps
03:11 lispy yup, that fixed it
03:12 lispy dcoutts: okay, just need libwww now
03:13 lispy actually, I want libcurl
03:23 lispy building libcurl is going to be hard
03:23 lispy using curl.exe would be easy though
03:23 lispy well, if darcs supports that I mean
03:24 dcoutts lispy: it does doesn't it?
03:24 dcoutts lispy: curl or wget
03:25 lispy maybe, I'm trying to figure out how that's hooked up so I can change the build to not care about linking in libwww
03:26 lispy maybe I should use HTTP
03:34 dcoutts lispy: use configure -f-libwww
03:34 dcoutts configure -f-libwww -fhttp
03:34 lispy right, and then I added, build-depends: network, after build-depends: HTTP
03:35 lispy now I need to fix some sort of autogeneration issue
03:35 dcoutts lispy: oh does it need network in addition to HTTP?
03:35 * dcoutts tries
03:35 lispy I need to set PACKAGE_VERSION
03:36 lispy in HTTP.hs
03:36 dcoutts ohh
03:36 dcoutts that should really be using a different method
03:36 dcoutts like using ThisVersion.hs and passing the user agent in as a param
03:38 lispy So we need to do a fair bit of cleanup before this "just works" on windows, but it's not tha far really
03:39 dcoutts lispy: pushing a patch...
03:39 lispy oof
03:40 lispy darcs.exe get http://darcs.net/
03:40 lambdabot Title: darcs
03:40 lispy darcs failed: handleToFd not supported!
03:41 dcoutts lispy: pushed the package version and network thing
03:41 lispy whoa
03:41 dcoutts I've no idea about the handleToFd thing
03:41 dcoutts src/win32/System/Posix.hs:handleToFd _ = fail "handleToFd not supported!"
03:42 lispy dcoutts: http://hpaste.org/11499#a1
03:43 dcoutts heh, looks like a utf16 decoding problem
03:43 lispy it's totally hosed
03:44 lispy dcoutts: I should stop here.  I don't even know here to begin
03:45 lispy using HTTP really should have worked
03:45 lispy I should have just had problems with transparent proxies
03:46 dcoutts aye
03:46 dcoutts lispy: what does it normally use on windows ?
03:50 lispy not sure
03:51 lispy but, HTTP should work as far as I know
03:51 clanehin joined #darcs
03:51 lispy http://hpaste.org/11500
03:51 lispy those are my notes
03:52 lispy but of course hpaste cut me off :(
03:52 lispy stupid hpaste
03:52 lispy with it's silly limit
03:52 * lispy reboots
03:58 lispy dcoutts: my hunch is that the way we detect windows doesn't like the lack of cygwin/mingw
04:00 sm why don't we use ghc --make for darcs, would anyone know ?
04:01 sm it seems to work, given all the extra flags
04:03 dons sm: it can't pick packages very well
04:03 dons of course, we could do it that way. cabal does that, after picking all the flags
04:04 lispy dons: did you see that FastPackedStrings (now ByteStringUtil) is marked: Stability: experimental, all the more reason to remove it :)
04:04 sm it's come up because I'm trying to rebuild automatically with sp.. something is breaking on the huge command line
04:04 lispy sp?
04:06 sm http://searchpath.org . It has the ability to watch all your app's modules and re-run ghc --make when anything changes. Optionally run your tests too. It's extremely useful when hacking
04:06 lambdabot Title: SearchPath — Automatic import chasing across the Internet for Haskell modules
04:07 lispy dcoutts: ah, the problem with that windows build was that use_mmap = True, and on windows it needs to get defined as False
04:07 sm really shrinks the feedback loop from code change to ghc error
04:08 lispy ah.  I'm not found of those types of programs, eclipse is like that, but yeah some people really like that
04:08 lispy sm: can it be taught to use cabal instead of ghc --make?
04:09 dons searchpath is dead. long live cabal install!
04:09 sm lispy, maybe
04:09 sm I'm using searchpath strictly for this auto-recompile/run-on-change feature
04:10 sm nothing else does that yet, afaik
04:10 lispy dons: looks like what we need next on for windows support is industrial strength http that can be cabal-installed
04:10 lispy dons: either, adding pipelining and transparent proxy support to HTTP or make a hackage package for libcurl
04:11 dons or use the galois curl package
04:11 dons http://hackage.haskell.org/cgi[…]ipts/package/curl
04:11 lambdabot Title: HackageDB: curl-1.3.2.1
04:14 lispy dons: excellent, any idea if that builds on windows yet?
04:15 lispy dons: also, does that API support pipelining?
04:15 dons a) yes, b) not sure.
04:15 dons but it is a full binding
04:15 dons we originally wrote it so we could get windows support
04:15 dons its just a binding to the underlying api, and the code is online, so we could merge in the darcs stuff to it
04:16 dons http://code.galois.com/cgi-bin[…]url.git;a=summary
04:16 lambdabot Title: code.galois.com Git - curl.git/summary
04:17 lispy okay
04:17 lispy modulo the licensing
04:17 dons bsd?
04:17 dons oh, darcs.
04:17 lispy yeah, gpl :(
04:18 dcoutts lispy: hmm, that's pretty odd, take a look at Setup.hs, it's using:
04:18 dcoutts subst "USE_MMAP"
04:18 dcoutts | isWindows = show False
04:18 dcoutts | otherwise = show True
04:19 lispy dcoutts: I had to kill Setup.hs
04:19 lispy and I likely killed too much of it
04:19 dcoutts lispy: heh
04:19 lispy (i've since rebooted so hard to test)
04:19 dcoutts lispy: so how did you generate Autoconf.lhs ?
04:19 dcoutts by hand?
04:20 dcoutts lispy: and why did you need to kill it? what was not working?
04:20 lispy I forgot that it needed to be generated so it was the one from osx
04:20 dcoutts ah
04:20 lispy I didn't have a darcs.exe
04:20 lispy So I kept getting that error from runInteractiveProcess
04:20 dcoutts ah
04:20 lispy and I started commenting out anything that looked like autogeneration
04:20 lispy I just wanted to see what would work
04:21 dcoutts hmm, it should have been ok
04:21 dcoutts oh, no, ok
04:22 lispy where did you push your patches to?
04:22 dcoutts lispy: it's the two uses of rawSystemStdout
04:22 lispy ah
04:22 dcoutts I changed it from using exceptions to using exit codes
04:23 dcoutts but of course if darcs does not exist it still throws exceptions
04:23 dcoutts so we should have been using that all along
04:23 dcoutts though it'll be harder to make that work with 6.10
04:23 lispy that sucks
04:30 lispy dons: if we could modify that curl library to package libcurl the way the zlib package does, then it could become usable for what I want.
04:31 lispy dons: but as is, the package needs autotools and it doesn't come with the curl source
04:37 dcoutts lispy: pushing another patch to your repo
04:37 dcoutts lispy: should make it work on windows without darcs installed
04:44 lispy dcoutts: cool, thanks
04:49 dons mm.
05:31 * Heffalump appears
05:34 twb Phew, I finally finished the basic translation of .tex to reST .txt
05:34 twb I still haven't even STARTED doing copy editing
05:50 * sm hacks, hacks through the jungle that is sp
05:50 sm go twb
05:50 sm how are you liking reST ? used it much before ?
05:51 twb Yes, I've used reST a lot
05:51 twb To me, it acts the way word processors claim to
05:51 sm me too. I can't say I love it. I can't think of anything much better either
05:51 twb i.e. it gets most the syntax out of my face, but still has a straightforward mapping to syntactic objects
05:52 twb Compared to everything else I've used, reST is definitely less painful.
05:52 sm have you got a repo to look at ?
05:53 twb Yes, but I don't have push access yet :P
05:54 sm that's ok, I'm just looking forward to seeing a big darcs doc in reST, to compare
05:55 twb I can send you the patches in just a moment.
05:55 sm darn.. just retired my darcs-sm repo, which would have been the place I could have pushed them to see on the web
05:57 twb I just sent output examples to darcs-users
06:03 sm there it is.. thx
06:04 twb sm: what's yer address?  I'll bounce you the patch bundle
06:04 sm simon@joyful.com
06:04 twb sm: just don't apply it to a repo you care about, because it'll fuck it up
06:04 sm ok.. don't send it to me please :)
06:05 twb sent
06:05 sm aieeee
06:05 twb Oh.
06:05 twb When I say "fuck it up" I mean "make pdf will fail, and probably you'll get lots of merge conflicts."
06:05 sm AIEEEEE
06:06 * twb is embarrassed.
06:06 lispy twb: hmm...I prefer single column
06:06 sm don't worry.. I'm just trying to avoid more pain
06:06 twb sm: if it's any help, From: doesn't match your address.
06:06 twb lispy: that's easy to do
06:06 lispy twb: overall, I think the latex pdf is prettier, like the same color bg in the commands and whatnot instead of a yellow bg
06:06 twb lispy: I actually jumped through some hoops to get two-column, because I prefer it to having huge margins or really wide body text
06:07 twb lispy: the good news is that both work, so it doesn't matter which we prefer
06:08 sm actually that two column is neat.. I haven't seen that from rst before
06:09 sm do stylesheets for rst also control the style of the pdf ? I guess not
06:10 twb sm: you have json stylesheets for rst2pdf
06:10 sm I see
06:10 twb e.g. {"styles": [["base", {"fontSize": 12}]]}
06:11 twb Ugly, but the presentation is certainly separate from the source file's markup.
06:11 sm and for all those file includes, you'll use sphinx ?
06:12 twb Personalyl I'm not sold about using sphinx
06:12 twb Partly because that'll break rst2pdf and rst2odt.
06:12 sm I see
06:13 twb I'd rather just have .. include:: command-apply.txt
06:13 twb And then command-%.txt: src/Darcs/Commands/% preproc
06:13 twb \t./preproc $< >$@
06:13 sm oh yes.. I forgot rst can do that
06:13 twb So preproc would just generate reST instead of TeX, and the static reST files would include the generated files
06:14 sm and how do you fit the included files within the section hierarchy ? or did you just say that ?
06:15 sm I guess they can just all follow a consistent heading style and it will work
06:15 twb Yep
06:24 nwf joined #darcs
06:26 sm twb: I can see this is a big job
06:26 sm a question, why move the .tex files to .txt, rather than just leaving them where they are ?
06:30 sm yesss.. sp rebuilding darcs when I edit any module
06:31 sm now, how to deploy..
06:32 clanehin joined #darcs
06:33 sm yessss.. works in emacs compilation mode
06:33 sm mine, anyway
06:57 sm argh.. 3 minutes of sprint left here
06:58 balor joined #darcs
07:10 sm patch sent. What's a few minutes between friends, clocks are so imprecise
07:12 sm end of sprint, here. I don't know if we have anyone further west..
07:18 sm night all
07:19 * sm dims the lights and tiptoes out
07:26 mornfall Hm.
07:26 mornfall lispy: I think you want cabalised-2, not cabalised-morn.
07:26 mornfall Gotta go anyway... see ya.
07:29 kowey joined #darcs
07:32 kowey morning
07:33 mmorrow joined #darcs
07:42 kowey twb: nice work on the manual
07:42 kowey not there :-)
08:01 njbartlett joined #darcs
08:03 sm morning eric
08:03 sm oops, typo - "this change will be bring"
08:03 sm envigorating -> invigorating
08:04 sm vigorous
08:05 sm long-term
08:05 gh_ joined #darcs
08:06 sm "by the default" -> by default
08:06 gh_ hi
08:07 kowey sm: thanks!
08:08 sm thanks
08:09 njbartlett_ joined #darcs
08:14 lispy mornfall: ah
08:14 lispy kowey: good morning
08:14 lispy kowey: feeling chipper?
08:15 kowey pleased to see all that work done :-)
08:15 C-Keen good morning
08:15 lispy kowey: yeah, now the hard work for you (us?) starts
08:15 kowey lots of things to set into motion
08:15 lispy yeah
08:16 lispy we may have to change the pace, but we need to maintain the momentum
08:16 kowey some of the work is scattered across different branches
08:16 lispy I've been assuming you'll stream patches to darcs-users at a rate you deem appropriate and then delegate to authors as feedback comes in?
08:16 kowey so need to get that polished off and also merged in
08:17 lispy so, one thing that needs to happen is that we need to fix ghc6.6 support in the stuff we did
08:17 kowey yep
08:17 lispy so what are the logistics on that?
08:17 lispy We need to be careful about diverging
08:17 kowey right now I'm waiting for droundy to respond to the first salvo of patches
08:17 lispy and it's going to be painful to amend or recreate all the patches
08:17 kowey I'm thinking of fast-tracking twb's work
08:18 kowey which may have conflicts with the sprint branch, will have to see
08:18 kowey what needs to be done for fixing GHC 6.6?
08:19 lispy two things, near as I can tell
08:19 lispy 1) Adjusting the LANGUAGE pragmas so that 6.6 stops throwing errors
08:19 kowey (salut, gh_!)
08:20 lispy 2) Doing *something* about the possible Data.ByteString incompatibility on ghc6.6 (this may be fixed now due to cleaning up the api usages)
08:20 lispy we have to fix (1) before we can check (2)
08:20 gh_ salut kowey :)
08:20 kowey is this what you personally are working on?
08:21 lispy I started on that, but it was a bad task
08:21 lispy I could pick it up again
08:21 kowey a bad task?
08:21 kowey as in boring?
08:21 kowey or not appropriate to the sprint
08:21 lispy as in, it was wasting valuable sprint time
08:21 kowey right
08:21 gh_ kowey:  I have requested an account on code.haskell.org , but i'm interested in that darcshub project also
08:22 kowey gh_: you mean as a user?
08:22 gh_ is there anything I could do to help ?
08:22 lispy kowey: the other thing I looked at was using duncan's cabal file to build on windows (it works if you use HTTP)
08:22 lispy kowey: but it's not polished and ready for general consumption
08:22 gh_ yes as an user, but also if I could help (a little)
08:22 gh_ i have tried github this weekend, and it's so simple...
08:22 kowey gh_: do you think you would be willing to become an administrator?
08:23 lispy kowey: no autoconf/make required with his cabal file :)
08:23 gh_ freehg.org (for mercurial) is better , because simpler
08:23 gh_ but also very slow
08:23 kowey lispy: :-)
08:23 kowey there is also bitbucket for hg
08:23 gh_ kowey: frankly, i'm not sure i will have time
08:24 gh_ yes, it's good also, much faster, but a little too complicated for my needs
08:24 * kowey wonders if we need a darcs-hosting mailing list
08:24 kowey because there are a lot of folks interested in this problem!
08:24 gh_ i really liked hreehg in fact
08:24 gh_ and if i remember well, the code of this website is available
08:25 gh_ *freehg
08:25 kowey gh_ : one big missing piece of the puzzle is automatic account creation
08:25 gh_ http://www.selenic.com/mercuri[…]/HowToSetupFreeHg
08:25 gh_ kowey: on darcshub ?
08:25 lambdabot Title: HowToSetupFreeHg - Mercurial
08:26 kowey gh_: yes, we don't have any code for that... actually we have no code right now
08:26 kowey gh_: the second missing piece is a Leader
08:26 kowey we need somebody to say "I am officially in charge of the darcs hosting project and my mission is to deliver free darcs hosting to the world"
08:26 gh_ didn't you say last week that you had a front end ?
08:27 gh_ yes..
08:27 kowey i had an offer to work on one
08:27 kowey but we're waiting a bit to see how things turn out for that person
08:27 gh_ ok
08:27 kowey right now, the project is waiting on code.haskell.org to release their admin scripts
08:27 kowey which I presume to be easier to wait for than recreate
08:28 kowey now you've done some research into other sites, which is great
08:28 kowey maybe one thing you could do is to summarise those results for us
08:28 kowey and let us know what you think are the critical features we need
08:28 * lispy hopes he's being useful and not just spamming kowey :)
08:28 gh_ kowey: yes why not
08:33 lispy kowey: we should try video conferencing next time at the sprint.  But with the timezones maybe it's not worthwhile..
08:33 kowey lispy: actually, I was kinda hoping we could do that
08:33 kowey then I forgot about it
08:33 kowey we both use macs, so we could iChat over jabber eg
08:34 lispy aaah
08:34 lispy I use xmeeting with David, ekiga is the linux version
08:49 C-Keen kowey: what's the problem you see with using head/tail?
08:50 kowey C-Keen: empty lists
08:50 lispy > head []
08:51 lambdabot * Exception: Prelude.head: empty list
08:51 lispy > tail []
08:51 lambdabot * Exception: Prelude.tail: empty list
08:51 C-Keen ah I see
08:51 kowey i mean, in many cases
08:51 C-Keen (also I see a bug in my code)
08:51 kowey you could (a) have code that checks if the list is non-empty and then uses head/tail
08:51 kowey or (b) pattern match
08:51 kowey and most of the time, (b) is more elegant
08:51 lispy if you want to use head/tail it's almost always better to pattern match
08:52 lispy kowey: good discussions, but it's almost 2am, so I will crash
08:52 kowey good night!
08:52 lispy maybe we should plan on having bi-monthly video chats though
08:52 lispy just something like an hour where we brainstorm
08:53 kowey yeah, it would be good
08:53 kowey faces are useful :-)
08:53 kowey and voices
08:53 lispy if we could get #darcs in on it, at the same time that would be really cool
08:53 lispy actually, some projects do regular irc meetings
08:53 lispy but that can be hard with our timezones
08:54 lispy anyway, g'night, have fun at work
08:54 lispy C-Keen: right some good code :)
08:54 lispy er write
08:54 C-Keen lispy: will do!
08:54 lispy happy hacking and all that
08:54 C-Keen lispy: good night!
08:55 C-Keen kowey: ah I see the issue, thanks for explaining. Also I think pattern matching will make it more readable
08:55 kowey see why I think hacking on darcs is a great way to learn Haskell?
08:56 kowey actually, hacking on any project, but darcs is a treasure trove of things to do :-D
08:56 C-Keen without a real project you never learn any language imho
08:57 C-Keen and this is my first approach to funcitonal programming so it feels a bit awkward at times
08:57 kowey watch the changes coming in from the sprint by the way
08:57 kowey when darcs was first written, David was still learning Haskell too
08:58 kowey so looking at these new patches is a very good way to compare
08:58 kowey how a smart person learning Haskell might write something
08:58 kowey with how a smart person experienced in Haskell would write it
08:58 kowey so we all grow together
09:01 C-Keen :)
09:02 C-Keen this is all really valuable advice
09:50 kowey joined #darcs
09:51 RaceCondition joined #darcs
10:14 C-Keen @tell kowey which skripts do you want to get rewritten?
10:14 lambdabot Consider it noted.
10:31 kowey joined #darcs
10:33 balor joined #darcs
10:44 kowey joined #darcs
10:54 kowey C-Keen have a look at tests/shell_harness
10:55 C-Keen alright
11:05 njbartlett joined #darcs
11:15 njbartlett_ joined #darcs
11:20 kowey joined #darcs
11:23 malcolmw joined #darcs
11:33 njbartlett__ joined #darcs
11:48 njbartlett joined #darcs
12:34 njbartlett joined #darcs
12:54 lelit joined #darcs
13:00 RaceCondition joined #darcs
16:12 thorkilnaur_ joined #darcs
17:29 arjanb joined #darcs
17:32 kowey arjanb: thanks for checking that windows binary last night, btw
17:32 kowey i think those are openssl libs, and I would have to work out a way to link something statically :-)
17:32 kowey (which is why I would have really preferred somebody else, i.e. who actually uses Windows, build this binary)
17:38 sm joined #darcs
17:40 MarcWebe3 joined #darcs
17:49 sm joined #darcs
17:58 arjanb kowey: btw the binary works after gathering all the missing dll's
18:01 kowey cool!
18:01 kowey are there a lot?
18:02 beschmi joined #darcs
18:02 * beschmi waves
18:04 kowey hiya beschmi! exciting news on the filecache :-)
18:05 kowey ok, first 4 patches from the sprint now applied in droundy's branch
18:05 beschmi i was actually a bit disappointed because it's still too slow on really large repos like ghc
18:05 beschmi because you still have to apply a large number number of patches
18:05 kowey faster, but not fast enough?
18:05 beschmi but otoh, chunky patches should speed that up too ;)
18:06 kowey do you think there is anything useful for you in http://code.haskell.org/darcs/zoo ?
18:06 lambdabot Title: Index of /darcs/zoo
18:06 kowey for benchmarking that is
18:06 arjanb kowey: 2 of ssl and a ms c runtime one
18:06 kowey there is zero visualisation right now, but I hope we can follow Igloo's advice to make a shootout-like graph
18:06 kowey thanks
18:07 kowey maybe I can tell libcurl on windows to link statically with openssl
18:07 kowey and that in turn would remove the need for that dll
18:07 Igloo I think it's probably easy to do once you've picked the best tool, but I have no idea what that tool is
18:08 kowey (on the other hand, there is also that whole illegal-to-distribute thing with openssl)
18:10 Igloo Can you use gnutls instead? (I assume that's (L)GPL, but I don't actually know)
18:10 beschmi kowey: yeah, looks nice. For now I'm doing mainly manual tests and I should work on having a well defined set of benchmarks.
18:10 kowey it's really super-primitive, but if you could try using it and improving it, great!
18:10 kowey basically we need to make this testing less ad-hoc and more reproducible
18:11 kowey (not necessarily the numbers, just the process)
18:11 kowey note that the small tests currently use the darcs version of maybench
18:12 gh_ joined #darcs
18:13 Nasenbaer joined #darcs
18:13 Nasenbaer left #darcs
18:20 sm morning all
18:20 sm great kowey, thanks for working on that stuff
18:21 kowey all that stuff?! I just spent the sprint making tea and being scatter-brained :-)
18:22 sm ha, not true
18:22 kowey good thing the rest of us rolled up sleeves and got productive
18:22 dons kowey: so droundy's branch is the head branch?
18:22 kowey i meant his local darcs repository on his machine, before he pushes it to his staging branch on his fast machine (which then automatically pushes to unstable)
18:22 sm somebody recommended HaskellCharts to me this morning, but otherwise gnuplot seems to be the standard tool for automated chart generation. Bit of a learning curve though
18:22 kowey i.e. "soon-to-be-unstable"
18:23 * sm votes HaskellCharts for more haskell community-darcs synergy
18:23 kowey dons: so, was just speaking very loosely
18:23 dons sm, there's also a haskell gnuplot binding, and a haskell googlecharts binding
18:23 sm aha!
18:23 kowey and now they're in unstable
18:23 dons http://hackage.haskell.org/cgi[…]pts/package/Chart
18:23 sm very nice to have choices
18:24 lambdabot Title: HackageDB: Chart-0.8
18:24 dons http://hackage.haskell.org/cgi[…]/package/diagrams
18:24 lambdabot Title: HackageDB: diagrams-0.1, http://tinyurl.com/6omkcp
18:24 dons http://hackage.haskell.org/cgi[…]s/package/gnuplot
18:24 lambdabot Title: HackageDB: gnuplot-0.2, http://tinyurl.com/5srmed
18:24 dons http://hackage.haskell.org/cgi[…]ckage/GoogleChart
18:24 lambdabot Title: HackageDB: GoogleChart-0.2, http://tinyurl.com/68okj9
18:25 sm and not forgetting hsparklines
18:25 dons mm. yes.
18:25 dons that might also work
18:26 kowey would serve as a good preview if there are a lot of tests
18:26 kowey "whoah lots of ups and not a lot of downs there!"
18:52 beschmi kowey: i debugged it some more ans the bottleneck doesn't seem to be applying the patches anymore, it's reading the inventory
18:54 beschmi no, it's reading the pristine
19:08 dons lispy: photos for your portland post, http://galois.com/~dons/images/darcs-oct-08/
19:08 lambdabot Title: Index of /~dons/images/darcs-oct-08
19:16 RaceCondition joined #darcs
19:26 lispy kowey: we sent in some of the sprint patches right?
19:27 kowey lispy: hmm?
19:27 kowey yeah, four salvos (although salvos 1 and 2 overlapping)
19:28 kowey salvo 1 has been 2/3rds applied (the other third awaiting a brief explanation)
19:28 kowey also sm's patches have been applied
19:28 kowey but not yet pushed
19:28 lispy hmm
19:28 lispy I'm confused
19:28 lispy Has david commented on any of the sprint stuff?
19:29 Igloo Yes
19:29 kowey just on the first salvo - http://lists.osuosl.org/piperm[…]tober/015112.html
19:29 lambdabot Title: [darcs-users] darcs patch: resolve issue395: warn the user when the... (and 5 mo ..., http://tinyurl.com/6hjq63
19:29 lispy okay.  so that's in our count?
19:29 lispy court*
19:30 lispy why wasn't issue1017 fixed
19:30 * Heffalump appears
19:30 kowey ah just the right person
19:30 dons how many patches were produced during the sprint?
19:30 Heffalump I'll reply to that email
19:31 kowey just on the official sprint branch, 99, I think (darcs send --dry-run | grep @ | wc -l)
19:31 dons lispy: will you stick the summary of what you did on a blog post, and maybe attach the photos?
19:31 kowey but there's more patches in sprint-slurpy and in beschmi's branch
19:31 dons or maybe there should be a single sprint summary
19:31 dons with all photos and details
19:32 kowey not to mention the documentation team and kirby81's Windows fixes
19:32 dons kowey: cool.
19:32 lispy dons: okay, I'll try to do something or coordinate with kowey
19:32 sm need a sprint darcswatch or two eh
19:33 lispy a good patch tracking system would be nice yeah
19:33 b4taylor left #darcs
19:34 lispy kowey: of the sent sprint patches, 1 bundle has been reviewed (some rejected), 1 bundle is unreviewed, and 2 bundles are unsent?
19:34 lispy dons: I was reading the xmonad archives last night, good stuff
19:34 dons nomeata wrote a darcs patch tracker for mailing lists.
19:34 dons it tells us what was sent to the xmonad mailing list, but not applied yet
19:35 dons he's published it, afaik
19:36 lispy yeah, I don't think it's all that useful yet though
19:36 kowey lispy: 1 reviewed (some pending inquiry), 3 unreviewed, and many patches not yet sent
19:36 lispy kowey: ah
19:37 dons yes, i wonder if direct pushes to branches, in a tree-like structure are more effective
19:37 dons so things don't get lost
19:37 kowey lispy: only 95/99 patches to go!
19:37 kowey :-)
19:37 lispy haha
19:37 dons N people push to lispys branch, M to kowey's branch, they review, then merge up
19:38 kowey (there's also 80 patches in the documentation branch to go)
19:38 Heffalump it would be good to raise the bytestring question asap
19:38 lispy dons: my thoughts on nometa's is just that it doesn't track discussion or status of patches, only whether they were accepted or in limbo
19:38 dons note the increase in mailing list activity, guys, http://lists.osuosl.org/pipermail/darcs-users/
19:38 lambdabot Title: The darcs-users Archives
19:38 dons as active as it has been since 2003...
19:39 dons 2005.
19:39 lispy yeah
19:39 lispy as active as ever really
19:39 dons worth mentioning.
19:39 lispy true
19:39 kowey although to be fair, this is with merged lists
19:39 dons ah good point.
19:40 lispy not much non-devel discussion going on though
19:40 lispy just an email here and there
19:40 kowey like the darcsweb question just now
19:40 dons that's fine. works for xmonad.
19:40 dons merged lists == more users become devs
19:40 Igloo Size of patches and patch context is also a factor, if you're looking at mailbox size
19:40 dons ah good piont
19:40 lispy and compression ratio :)
19:41 kowey i have some numbers on the number of messages in the past few months
19:41 lispy But! it is true that darcs-users is very active
19:41 lispy and that the development rate hasn't been this high for a long time
19:41 Igloo Number of messages and number of unique authors would be interesting
19:41 dons messages and unique contributors would be useful numbers
19:41 dons also irc stats..
19:41 * kowey digs around in his mail
19:41 dons http://xmonad.org/statistics.html
19:41 lambdabot Title: xmonad : project statistics
19:43 lispy dons: can you make the scripts/instructions for generating that stuff available?
19:43 kowey http://hpaste.org/11520
19:43 C-Keen hm, how can I _set_ environment variables within haskell?
19:43 dons :hoogle setEnv
19:43 dons ?hoogle setEnv
19:43 lambdabot No results found
19:43 dons mm
19:43 C-Keen I tried that
19:43 C-Keen and google
19:44 C-Keen but I always get referred to System.Environment but that is for reading only
19:44 dons oh, silly hoogle
19:44 dons doesn't know about the unix package
19:44 dons for political reasons
19:44 dons :t System.Posix.Env.setEnv
19:44 lambdabot String -> String -> Bool -> IO ()
19:44 kowey note that 'patch' refers to messages that have 'darcs patch:' in their title
19:44 C-Keen thanks dons
19:44 lispy C-Keen: I already asked these questions (I assume your trying to convert shell_harness)
19:45 lispy C-Keen: the way to di it is on the mailing list :)
19:45 lispy C-Keen: you'l want to avoid Posix so that the harness can work on windows
19:45 C-Keen lispy: alright. Any particular reason why you did not succeed other than lack of time?
19:45 kowey although having it working on unix is already a very good start
19:46 lispy C-Keen: http://lists.osuosl.org/piperm[…]tober/014881.html
19:46 lambdabot Title: [darcs-users] Help converting Perl to Haskell, http://tinyurl.com/5z2fgl
19:46 lispy C-Keen: lack of time yeah
19:47 C-Keen lispy: I will have a try
19:47 lispy C-Keen: on windows you fetch the env via getEnv in System.Environment
19:48 lispy C-Keen: then you append the env you want to use to that and pass the whole thing on to runProcess
19:49 C-Keen lispy: ok, I will do a unix version first, as I don't have a windows system to test on
19:49 beschmi kowey: I did some test related to http://bugs.darcs.net/issue1068
19:49 lambdabot Title: Issue 1068: annotate stack overflow - Darcs bug tracker
19:49 beschmi http://hpaste.org/11523
19:50 * sm notes that gmane's stats http://dir.gmane.org/gmane.com[…]ontrol.darcs.user are stale, someone should bug them
19:50 lambdabot Title: Gmane -- Mail To News And Back Again
19:51 kowey beschmi: are those two links related? (i do like the idea of being able to do darcs changes in 5 seconds, and not 2 minutes, though)
19:52 lispy C-Keen: well, the functions you'll want to use on windows will work on unix too.  So even if you can't test it, you can write it in an anticipating way (you only have to write 1 new function that is pretty simple)
19:52 kowey beschmi: any idea why a stack overflow in particular?
19:52 C-Keen ok
19:53 beschmi it's the same file, Annotate shouldn't take much more time but I haven't changed it yet.
19:54 beschmi kowey: the code will change a lot, so I wont spend much time changing stack overflows in old code
19:54 kowey ok!
19:54 kowey :-)
19:55 kowey Heffalump: did you say you fixed your sprint-slurpy bugs?
19:55 beschmi when I filtered the patchset for annotate, annotate also finished in 8M for me
19:55 kowey compared to... never?
19:56 * kowey thinks 8 minutes is a terrific alternative to never
19:56 kowey he says vapidly
19:56 beschmi I meant with stack set to 8 Megabyte
19:56 kowey hehe
19:56 * sm pokes gmane.discuss
19:57 kowey oh, I see now, rereading the bugtracker
19:58 sm left #darcs
19:58 sm joined #darcs
20:04 lispy and so what is left wrt to bytestring?  We need to see if our bytestring can work on 6.6?
20:05 dons yes, tidy things up so the parts of bytestring we use are also usable with 6.6's bytestring
20:05 dons api should be much the same, modulo the move of two modules (Internal/Unsafe from Base)
20:05 lispy so the first hurdle there is our LANGUAGE usage
20:05 dons and finishing off that.
20:05 lispy dons: iirc we fixed that
20:05 lispy we removed the unsafe/internal
20:05 lispy I thought
20:06 dons all uses?
20:06 dons we removed some. i'm not sure we removed all.
20:06 lispy I think so
20:06 dons that'd be nifty
20:06 dons there's not that much of bytestring actually used
20:06 dons so it seems doable
20:07 beschmi anyone here familiar with Repository.Internal?
20:09 Heffalump beschmi: not familiar, but I've looked at it a bit
20:10 beschmi darcs changes file spends a lot of time checking if file has been renamed in unrecorded patches
20:11 beschmi it calls "get_unrecorded_unsorted repository", but I think it should suffice to look into pending instead of checking the complete working directory
20:12 InkBottle joined #darcs
20:12 Heffalump renames need to be explicitly signalled, right? So that sounds right to me.
20:14 beschmi yes, I'll have to look at apply_to_filepaths which is used like "files' = apply_to_filepaths (invert unrec) files" to be sure
20:14 mcxx joined #darcs
20:15 beschmi I'm wondering if there is a comparable function to get_unrecorded_unsorted that just returns the patches in pending
20:17 dcoutts joined #darcs
20:17 beschmi read_pending seems to be right
20:18 C-Keen beschmi: there is
20:19 C-Keen beschmi: yes read_pending it is
20:19 * C-Keen has already spend a while on Repository.Internal today
20:19 beschmi ok, so I just have to handle the Sealed and I'll be fine. Thanks.
20:21 beschmi C-Keen: ah, what have you been looking at?
20:21 C-Keen beschmi: maybe you want to use slurp_pending?
20:21 C-Keen beschmi: just printing a warning when you did darcs whatsnew on nonexistant or nonrecorded files
20:22 C-Keen beschmi: but I needed a way to tell whether I know that FilePath already
20:22 beschmi i see.
20:23 C-Keen (nothing that interesting)
20:25 beschmi C-Keen: unsafeUnseal `fmap` read_pending seems to fit the bill here.
20:25 C-Keen beschmi: unsafeUnseal?
20:25 C-Keen beschmi: and here: in your case?
20:27 beschmi yes, in my case. fits the bill as in: it compiles and passes simple tests.
20:30 C-Keen :)
20:30 C-Keen good night
20:34 InkBottle joined #darcs
20:40 dons anyone looked at haskeline?
20:40 dons i can't build it, and it seems to require lots of things
20:40 dons surely something like editline would be a simpler alternative? (bundled with ghc , across platforms)
20:40 dons Igloo: esp. if editline ends up on hackage...
20:41 kowey maybe Judah hangs out on IRC and can comment?
20:41 Heffalump would someone else mind testing out issue1017 on latest darcs?
20:41 Heffalump latest unstable that is
20:42 kowey just pulling the two patches, right?
20:43 Igloo Just one patch
20:43 Heffalump it should be fixed with whatever is currently in the unstable tree
20:43 Igloo Not the 20char one
20:43 kowey oh
20:43 kowey ok, I'll just pull the mv patch and not the 20char one
20:44 Igloo I wonder if David test the issue in a compiler without the other patches he was pulling
20:44 Igloo What did the actual issue closing patch do? Just add something to a changelog or something?
20:44 Heffalump move the test over from bugs to tests
20:45 Igloo OK, so he might have tested in his current compiler as he was deciding which patches from teh bundle to pull
20:45 Heffalump ah, right
20:46 Heffalump annoyingly, my slurpy stuff depends on don's LANGUAGE pragmas
20:46 Heffalump if David rejects stuff low down the dependency tree of the sprint work, we're going to have a problem.
20:46 Igloo No, you just have to implement darcs transplant  :-)
20:47 Heffalump that's a hack that still causes dependency problems
20:47 dons i think it is unhealthy for all the hackathon workers to be worrying about whether the president will veto our work
20:47 Heffalump well, not dependency problems, problems with different people having different patches
20:47 Igloo It doesn't cause dependency problems if it does what I think it does
20:47 dons it makes it scary/hard to contribute
20:47 Igloo Right, agreed, but people who have patches from non-official repos need to expect that sort of problem
20:47 dons and not how open source should be. so we either need to ignore this stressor, or do somehting else.
20:47 Heffalump dons: s/David rejects stuff/there's a problem with stuff/ if you like
20:48 C-Keen I wonder whether we should use one of the available haskel shells for scripting... I feel like reinventing the wheel with writing a backtick and "which" replacement
20:48 dons i just had to put out of my mind the idea that things would be rejected, otherwise i could do no work
20:48 dons makes me feel sick about the project, if hours and hours of new contributor work would be rejected.
20:48 dons so... sigh.
20:49 Igloo Rejecting things isn't necessarily bad. It's just particularly painful at something like a sprint, when lots of entangled patches are generated before early ones have a chance to be rejected
20:49 Heffalump Igloo: right.
20:49 kowey folks, please give us a week or so to let the dust settle
20:49 dons biggest challenge facing darcs => working out how to make decisions when the key veto power is held by someone not involved in those decisoins
20:49 kowey Heffalump: passes
20:49 Heffalump kowey: ok, thanks
20:49 Heffalump let's hope Igloo's explanation is right
20:50 kowey well one thing is that we need to increase david's involvement in key decisions
20:50 kowey by doing a better job reporting back to him
20:50 Heffalump dons: I have to say, that while that kind of attitude is great for getting stuff done, it's also the kind of thing that causes the kind of package dependency mess we now have with GHC
20:51 kowey or by working on increasing the amount of delegation of responsibility
20:51 Heffalump kowey: except that with sprints, unless he's around, we're stuffed, for the reason Igloo says
20:51 kowey ok, sprints is a technical problem (a nice one to have)
20:52 kowey and we do need to find a way to get these patches in, I agree!
20:52 Heffalump I think we just have to insist that David accepts a slightly messy patch history (i.e. a manual rollback of the ones he doesn't want, if ones he does want depend on them)
20:52 dons its a broken project management model currently, we must admit. either david reduces his influence (to be just patch theory reviewer) , or he participates in the decisions
20:52 kowey Heffalump, yes
20:52 Heffalump He does participate in the decisions.
20:52 dons after the fact.
20:52 kowey no amending of sprint patches, too difficult
20:53 Heffalump so your complaint is that he wasn't available over the weekend.
20:53 dons someone will have to explain, e.g. why bytestring support was added, or cabal support
20:53 Igloo You could have had a discussion before the sprint to get an agreement in principle
20:53 Heffalump dons: yes, that needs to be explained in any case.
20:53 Igloo The details may still need to be amended, which makes reviewing a pain as you can't amend the patches, but it would be better than having things rejected afterwards (if that's what happens)
20:54 dons we burn a lot of cycles trying to massage things through david's filter.
20:54 Heffalump Because his goals differ from your cavalier "just do it" approach.
20:54 Heffalump Igloo: I don't understand your last point.
20:54 dons sure. and you can see it in the code base.
20:54 * kowey likes the very agile approach, but would like to have David's conservatism around as a countervailing force :-)
20:55 Igloo dons: But taking things slowly can have advantages, e.g. darcs' move to bytestring would have been easier if bytestring hadn't been put into base too early
20:55 kowey but we just have to find a way to keep things healthy
20:55 dons its very old-feeling. and effort is spent on weird projects, like franchise
20:55 Heffalump Nobody who doesn't want to is spending effort on franchise.
20:55 Igloo Heffalump: Not important
20:55 mornfall Heffalump: You are wrong here.
20:55 dons conservatism is key. xmonad has the same requirements.
20:56 Heffalump xmonad is much newer and smaller
20:56 dons but we still encourage refactoring, documentation and clean up patches. and the decision authortiy people participate in dicussions.
20:56 dons Heffalump: not much smaller now. about 10k loc
20:56 Heffalump and the maintainers happen to be much more available than David is
20:56 Heffalump that's a factor of 3 or so
20:56 dons but unlike darcs, the 'extensions' are not in the core.
20:56 dons so its easier to review thiiiings
20:56 balor joined #darcs
20:57 kowey darcs really does need to move towards being more modular
20:57 Heffalump and it happens to be much easier to test, and much less intricate in what it actually does
20:57 kowey we all accept this (david too)
20:57 dons no experiments in the core. (while things like oh, libwww or sha256 v sha1, are in the core here, making it hard to clean up)
20:57 dons well, i hope the bytestring stuff makes it in, since then i'd be inspired to clean up more things.
20:57 Heffalump darcs started many years before xmonad
20:57 mornfall kowey: Right, but he makes it hard to get through patches making things more modular.
20:57 dons there's photos of all the modernisation that we thought was needed on the whiteboards
20:57 Heffalump We'd all like to see the bytestring stuff in, I think.
20:57 Igloo I think a rewrite is the best way forward, which is partly why camp exists
20:58 Heffalump But your attitude that David is a roadblock is extremely counterproductive, IMO.
20:58 dons i think more of the problem is not that he'd reject things, just that he's not around
20:58 dons so we spin our wheels wondering if this work is useful or not
20:58 Heffalump We should fit our processes around the fact that people have lives outside Haskell.
20:58 dons Heffalump: i'm not sure he is a roadblock. just the position of a) holding veto power, and b) not being around, means we do all this work under fear of rejection
20:58 Igloo dons: Did you send him an e-mail that he didn't reply to?
20:58 dons which is the counterproductive thing
20:59 mornfall Heffalump: Exactly, and that's why having a single bottleneck like we do is making the project uninteresting to contribute to.
20:59 kowey well the issue according to david
20:59 dons Igloo: no, so he might well have replied to stuff.
20:59 mornfall Heffalump: Because we don't have 8 hours a day to sink in it...
20:59 RaceCondition joined #darcs
20:59 Heffalump The cost of having multiple people pulling the project in different directions would also be high.
20:59 dons *uncertainty* is what worries me.
20:59 kowey is that darcs is still easy enough to break and there still are not enough people who understand darcs well enough for him to give up the veto power
21:00 kowey (again, this is the conservatism)
21:00 kowey I agree that david's using the veto on non-core issues (build systems, versions of GHC to support, etc) is not very productive
21:00 mornfall kowey: The fear of breaking it makes things worse.
21:00 Heffalump from some points of view, that is a core issue
21:00 dons and there's a lot of uncertainty left over from the darcs 2.0 release, and other comments about not reading mailing lists and so on. so that's casts a pall over contributions for new people.
21:00 mornfall kowey: If someones breaks it in a way that goes through the suite, we at least know that suite needs to be improved, and how.
21:01 mornfall kowey: If we keep not doing things because they might break something and there's noone who knows whether they are fine or not, we won't help anything.
21:01 kowey mornfall: subtle breakage, like the pending patch bug that bit darcs 1.0.9
21:01 kowey and that we only found out about after darcs 2.0
21:01 mornfall kowey: The core is crufty, opaque and bitrotting.
21:01 dons the expected standards for contributions are also a bit ill-defined , imo. (purely a process thing)
21:01 dons we could start requiring all code to be commented...
21:01 Heffalump I don't find the code that opaque.
21:01 mornfall kowey: And because we don't want to change it due to breakage-fear, that's not going to change.
21:01 Heffalump It's somewhat crufty, but not that bad.
21:01 mornfall Catch 22, congrats.
21:02 Heffalump Actually I think it's perfectly possible to clean up the cruft, carefully.
21:02 mornfall Heffalump: Then where all those difficult, elusive bugs come from?
21:02 Heffalump the fact that darcs is solving a difficult problem
21:02 kowey those aren't code issues
21:02 mornfall Heffalump: Well, not really.
21:02 dons Heffalump: the number of times duncan and i asked lispy "what the hell is this?" was funny. :) mostly from lack of comments, or lack of standard idioms. so i'd hope we could get some style gudies
21:02 dons basic contribution standards
21:02 mornfall Heffalump: Darcs is *making* it a difficult problem.
21:02 mornfall That's the issue.
21:03 kowey ok, dons, can we sum up what you're saying so far?
21:03 dons http://code.haskell.org/xmonad/STYLE
21:03 kowey (1) we need more documentation about our processes
21:03 dons a style guide that was required, and applied to the existing code, would help contributions
21:03 Heffalump I'm not yet all that familiar with the code, but I haven't found it that hard to understand. Invariants certainly need better documentation.
21:03 kowey e.g. coding sytle
21:03 Heffalump But that's true of most codebases.
21:04 kowey (2) we need David to either be around more for decision making or to leave more decisions up to the community
21:04 Heffalump Does David tend to reject patches on style grounds?
21:04 dons kowey: 2) the contribution process , in its current form, needs to be documented.
21:04 kowey did I miss or mischaracterise anything?
21:04 kowey dons: so "How to submit a patch to darcs, and what to expect when you do so?"
21:04 dons yes.
21:04 dons http://haskell.org/haskellwiki[…]elopment_tutorial
21:05 lambdabot Title: Xmonad/xmonad development tutorial - HaskellWiki
21:05 dons how to contribute to xmonad.
21:05 dons coding style requirements, http://xmonad.org/xmonad-docs/[…]Developing.html#8
21:05 kowey ok, that sounds like something concrete we can do
21:05 lambdabot Title: XMonad.Doc.Developing, http://tinyurl.com/58mu8n
21:05 dons we're getting there.
21:05 dons the sprint group is definitely modernising.
21:05 kowey mornfall, dons, I really really really appreciate this sort of discussion
21:05 dons so if those patches make it in, a lot of the uncertainty of the current political structure will be removed
21:06 kowey but I hope you can understand that change can be a slow process that requires a lot of patient work
21:06 dons yes.
21:06 dons more than any project i've ever been involved in :)
21:06 mornfall Well, let me know when things change, I'm too busy in the meantime. : - \
21:06 kowey and the reason it's important that we have these discussions is to have a clear picture what we want to change INTO
21:06 kowey just know that it won't happen overnight
21:07 dons i'm fine for the troika (well, what's a 2-headed troika called?) of kowey and lispy driving things. makes it so so much easier
21:07 mornfall (I will still consider contributing to darcs, as opposed to spinning off, although at some point I have been sort of decided to do the latter...)
21:07 kowey mornfall: well you should work on Camp so we have 2 projects and not 3 :-)
21:08 mornfall dons: Двойка maybe? : - )
21:08 mornfall (That would be dvoika, transliterated.)
21:09 dons i think we're on the verge here of opening up darcs a lot.
21:09 mornfall kowey: As I have said before, there are fundamental disagreements on the theory, or so I think at least.
21:09 dons one or two more sprints, a few more announcements, a more accessible code base (i.e. haddockised on hackage!)
21:09 dons would help a lot
21:09 kowey the kowey agenda is one of consensus building and gradual reform
21:09 kowey and also building momentum by fixing technical issues
21:09 dons and this thing could be revived. so i'm keen to see this happen
21:09 kowey like the lack of a contributor's guide and darcs transplant
21:09 Heffalump dons: hackage/cabal is not the be-all and end-all of a project
21:10 mornfall kowey: I think darcs transplant is more of a problem than a solution.
21:10 kowey ok so I'm relieved we agree that there is progress at least
21:10 dons Heffalump: not suggesting it is, but it helps a lot attracting new devs.
21:10 mornfall kowey: Given that darcs will break horribly when transplanted and original repos get mixed...
21:10 dons and we're trying to do that aren't we?
21:10 Heffalump I'm not convinced about that.
21:10 Heffalump autoconf is hardly scary for a developer
21:11 dons ?
21:11 mornfall Heffalump: Is it?
21:11 kowey ah, I still think of transplant as a disposable operation
21:11 kowey but mornfall, let's leave that discussion out
21:11 Heffalump mornfall: it's painful to change, not to use
21:11 kowey the point is that there is a *LOT* of work to do
21:11 dons autoconf is fine. autoconf + cabal is fine. documentation is better. online source docs are great!
21:11 mornfall Heffalump: It's painful to use when it disagrees with you.
21:11 kowey and only some of the work is controversial
21:11 Heffalump and cabal is still a crappy build tool
21:11 dons kowey: and people are keen to do it, as long as things get in.
21:11 kowey there is so much stuff we can do that everybody can agree on
21:11 kowey stuff we can do that is easy to get in
21:12 kowey and what my aim is  for us to do as much of that stuff as possible first
21:12 dons Heffalump: did you see the cabal stuff doesn't require autoconf now? :)
21:12 kowey one reason being that this allows david to be exposed to newcomers more
21:12 kowey and also to build up trust in the community
21:12 dons so, say i wanted to write some patches today, where do they go?
21:12 Heffalump dons: so? It does that at the cost of being less portable (Windows excepted). Which is great for building distributions etc, but we should be aware of its limitations.
21:12 dons the sprint repo is now read only?
21:12 kowey still open
21:12 dons or how do we keep working on that branch?
21:13 Heffalump I would think briefly about the most appropriate branch to work on, then work on it.
21:13 Heffalump If it's a follow-on to bytestring, do it on sprint.
21:13 dons ok.
21:13 Heffalump If not, and it won't conflict, then do it on a fresh unstable.
21:13 dons and then push to sprint, which really means 'push to kowey's branch' ?
21:13 dons which will then flow through to the head ?
21:13 kowey that's one way to look at it
21:13 Heffalump I think you have to take charge of getting your patches accepted.
21:14 Heffalump Rather than dumping it all on kowey indefinitely.
21:14 dons i just don't know where they go though.
21:14 dons i'd like to build on the weekend work.
21:14 dons ah well. either unstable or sprint.
21:14 kowey dons: easy answer: please keeping pushing to the sprint branch
21:14 Heffalump Has someone sent an email to David about that work yet?
21:14 kowey no
21:14 dons lispy summarised portland's stuff on the list.
21:14 Heffalump It was a rhetorical question :-)
21:14 dons but it's kowey's job, iirc?
21:14 Heffalump we need to get his buy in for it, and explain the 6.6 strategy.
21:15 dons right. so revisit those discussions.
21:15 kowey i was waiting for him to polish off his current backlog, for what it's worth
21:15 Heffalump I think kowey might have kindly volunteered to help out. It's not his "job" per se.
21:15 kowey but in the meantime we should be drafting
21:16 dons whats the 6.6 strategy to be?
21:16 dons we /must/ continue supporting 6.6? or do we hope for the sprint code not to be released until support for 6.6 is dropped?
21:16 dons if the former, then i'll install 6.6 and make the bytestring stuff work with it.
21:16 dons if the latter, we continue as is.
21:16 kowey the *easiest* thing we can do, imho is just to support 6.6
21:16 Heffalump well, easiest from the point of view of acceptance
21:17 dons i hope not too many people use 6.6-compiled darcs
21:17 Heffalump harder from the point of view of extra work
21:17 kowey because this allows us to separate the question of accepting these patches from that of dropping 6.6
21:17 kowey both things we want to achieve
21:17 Heffalump how easy would just importing bytestring into the sources conditionally be?
21:17 dons Heffalump: i think we can avoid that.
21:17 dons Heffalump: since 6.6 comes with bytestring 0.9
21:17 dons and we use very little of the api
21:17 Heffalump what about withForeignPtr?
21:17 dons and you happen to have a bytestring author here, who can make it work.
21:18 Heffalump with how much effort?
21:18 dons that's fine. we could just CPP our own.
21:18 dons its a one liner.
21:18 kowey ok, I'm not married to the idea of absolutely making sure it works on 6.6, but we should at the very least see if it is feasible to support 6.6 without much effort
21:18 dons i think it is not too much work.
21:18 Heffalump In that case I think you should do it.
21:18 dons by doing all the refactoring, we reduced the code surface area
21:18 dons making it easier to support 6.6
21:18 dons but until we decided to toss things out, it was intractable
21:18 dons too much old code to support
21:18 Heffalump great, then
21:18 dons so yay, remove more code and 6.6 will continue to be easier.
21:19 dons get rid of some of the alternative crypto and http thingies, and we'll have even easier code
21:19 kowey where's our Fitness Guru? gwern would be happy to hear this
21:19 Heffalump which http thingies do you want to throw away?
21:19 dons smaller code helps accessibility and reduces the chance for people duplicating existing functions, too
21:19 kowey dons: do you know about http://wiki.darcs.net/index.html/DarcsLibraries ?
21:19 lambdabot Title: DarcsLibraries - DarcsWiki
21:20 dons there's a lot of similar functions quite alike, sprinked around for various purposes
21:20 kowey this was one of the first pages created after the GHC move
21:20 dons Heffalump: perhaps we could just keep libcurl support?
21:20 dons just choose one method.
21:20 Heffalump and how do we ensure it's available everywhere?
21:20 mornfall Well, I'd actually vote for the bytestring mini-http package. But libcurl is apparently much more real-world friendly, so that probably makes more sense.
21:21 dons and mini-http doesn't exist.
21:21 mornfall network-minihttp
21:21 dons removing old experiments from the source seems like a profitable , simple task, anyway
21:21 dons mornfall: where's that live?
21:22 Heffalump what old experiments?
21:22 mornfall At least I have a tar of that under my .cabal/packages...
21:22 Heffalump You both seem to be ignoring the fact that the current HTTP choices are an aid to portability. How will you replace that if you just pick one?
21:22 kowey dons: http://bugs.darcs.net/issue1178
21:22 lambdabot Title: Issue 1178: task: write up tutorial on how to contribute to darcs - Darcs bug tr ...
21:22 dons Heffalump: we seem to have what, 3 network interfaces? 2 sha implementations?
21:23 dons how many other conditionally compiled things?
21:23 Heffalump yes, because of the performance/portability tradeoff
21:23 dons but which ones are used in practice? since most people use the distro packages, which just compile with the defaults?
21:23 dons are we supporting code used by only a handful of people?
21:23 Heffalump what about on Windows?
21:23 mornfall Heffalump: CURL is used on windows.
21:23 mornfall Heffalump: And CURL is used also everywhere else.
21:23 Heffalump with pain, yes
21:24 mornfall Heffalump: Maybe. But still, noone seems to be really using the alternatives.
21:24 dons the darcs.cabal file is good for seeing all the conditionally compiled variants of darcs
21:24 dons who's using haskeline?
21:24 mornfall Heffalump: So it probably makes sense to have one with less pain than 3 that noone uses and one painful.
21:24 Heffalump how do you know that noone uses them?
21:24 kowey haskeline addresses some requests for readline type features, I thought
21:25 dons we can support N variants of darcs, but it is a drain on developers, and makes the code more complex. the project devs know which variants are best, so we should just pick one.
21:25 mornfall dons: Fully agreed.
21:25 Heffalump You seem to know which one is best. I say there is no one best choice.
21:26 mornfall Heffalump: Because all HTTP options are inferior to cURL?
21:26 dons color/type-witnesses/curses/terminfo/h​askeline/external-zlib/external-bytest​ring/http/libwww/curl-pipelining/curl
21:26 dons Heffalump: so are there N variants? or is there only 2? one for unix (curl) and one for windows (?)
21:26 dons in practice, what binary of darcs do people use?
21:26 dons just the default?
21:26 Heffalump I don't know.
21:26 kowey strike type-witnesses and curl-pipelining from that list
21:26 mornfall dons: There's at least HTTP, cURL and libwww.
21:26 Heffalump For Windows, there is no good default now.
21:27 Heffalump Mainly because it's hard to build curl, for example.
21:27 dons fwiw, galois wrote their curl binding becaues it was good for windows.
21:27 mornfall Heffalump: But having 3 bad choices is about the same as having one bad choice.
21:27 Heffalump It's a trade off
21:27 Heffalump they are bad in different ways.
21:27 mornfall Heffalump: It's not.
21:27 Heffalump easy installation versus performance
21:28 dons there's an interesting tradeoff: the majority (by far) use the defaults , since they use their distro packages
21:28 Heffalump What do Windows users use?
21:28 mornfall Heffalump: Binaries, if they can.
21:28 dons but we support funky variants for a handful of people who compile by hand (and who then also tweak settings)
21:28 mornfall If not, usually nothing.
21:28 Heffalump There's no reliable Windows build yet, because of the pain on building on Windows.
21:28 mornfall Only a handful will install GHC, (and msys in the past) to compile their own darcs.
21:28 mornfall You say curl is difficult, but so is darcs itself.
21:29 mornfall Heffalump: Which could have been solved by now, but it's everything entrenched on the anti-cabal sentiments, so we don't really make that much progress as we could.
21:29 dons no more tax on development!
21:29 mornfall And the fact that we are so afraid of cutting down on choices.
21:30 * dons isn't afraid. toss the garbage. toss anything that adds tricky dependencies. just keep one of each thing. make it the default.
21:30 mornfall All those options just show that we deal with bikeshedding by including all the choices. That doesn't scale and we suffer from that.
21:31 Heffalump Toss portability. Toss out all the users that don't do things the dons way.
21:31 dons e.g. haskeline support shoudl go, since haskeline adds about 10 new dependencies
21:31 dons Heffalump: no. choose one portable solution (probably curl)
21:31 mornfall dons: Right, but unfortunately, you still apparently can't overturn the rest.
21:31 dons and support that well.
21:31 dons rather than doing half-arsed efforts 3 or 4 ways
21:31 Heffalump no, support it well, then remove the others as properly redundant.
21:31 dons sure.
21:31 Heffalump If you think we should pick one, you should make that one obviously the best, *then* drop the others.
21:31 dons either way, a decision is made to just pick one.
21:32 Heffalump Not just claim that they don't matter.
21:32 mornfall dons: Or the other option is to require haskeline, if cabal-install can get it right on all platforms. But we just need to pick *one*. (I'm fine with either.)
21:32 * dons isn't sure Heffalump isn't in fervent agreement
21:32 Heffalump You sound like you would be happy to drop the others first and then clean up the mess later. I wouldn't.
21:32 mornfall Heffalump: Well, that's how development is done.
21:32 dons Heffalump: its an atomic process :) as long as before mess >>= after clean
21:33 Heffalump mornfall: rubbish.
21:33 dons we just need to agree that afterwards the result should be clean.
21:33 dons no one is suggesting *releasing* without support
21:33 Heffalump Good software engineering involves treading carefully and not taking unnecessary risks.
21:33 mornfall Heffalump: You need to break some eggs to make an omelette.
21:33 dons and releases are the atomic transactions
21:33 mornfall Heffalump: Oh, untrue.
21:33 mornfall So very untrue.
21:34 dons so everyone agrees that it isn't a useful use of our time to support N variants for M features?
21:34 dons that where possible, one should be chosen and made the default?
21:34 mornfall Of course, you have to tread carefully when you are dealing with a stable line. But if you have done your homework, you can make radical changes. If you haven't, you have to do radical changes, then do your homework and then start to feel safe again.
21:34 Heffalump No, you'd just like it to be untrue, because it would save you having to actually think about people that don't do things your way.
21:34 dons with long term benefits of a smaller, simpler code base, simpler build system, simpler dependencies and simpler deployment?
21:34 * kowey goes home
21:35 Heffalump dons: I agree that it comes at a cost.
21:35 dons yep. we'd be removing support for things.
21:35 mornfall Heffalump: Cost that for one I won't pay. It's easier to use git than to fight with darcs development model just to make darcs good enough to use.
21:36 dons yes, there's bigger movements afoot that all this is for.
21:36 Heffalump dons: the simpler deployment is only in situations that fit in with your world
21:36 dons like xmonad's fight against awesome and dwm, we have to compete on several fronts, while paying a tax for not using gcc
21:37 dons projects cannibalise each others features. the one that is hardest to install loses, without a very compelling use case.
21:37 Heffalump if someone would cannibalise patch theory, that'd be great.
21:37 dons users don't care about the theory :/
21:38 mornfall Yeah, that's why they just use git.
21:38 dons worse is better, and all that.
21:38 Heffalump I mean the UI properties that the theory provides.
21:38 mornfall Heffalump: There aren't many.
21:38 dons and git offers branches and rebase
21:38 mornfall Right. And the interactive commit is better than darcs', these days, I hear.
21:39 Heffalump Well, they're important to me. If you don't need them, why aren't you using git?
21:39 dons deep cherrypicking doesn't seem compelling, sadly
21:39 mornfall And they have a GUI browser.
21:39 mornfall Etc.
21:39 dons Heffalump: "If you don't need them, why aren't you using git?" mmm. are we actually interested in competing with git?
21:39 dons or is it game over?
21:39 dons what's the compelling case we're making to the world for darcs over git?
21:39 mornfall dons: If attitude doesn't change, I'd call it a game over.
21:39 dons now that git cannibalised most of our good stuff?
21:39 Heffalump Why is it a competition?
21:40 mornfall Heffalump: Because there's only a finite pool of developers.
21:40 Heffalump Aren't we just trying to improve the world?
21:40 dons i'd be happy to see darcs released and frozen, perfectly formed.
21:40 mornfall If you lose enough of them, it's game over.
21:40 dons i think kowey's doing a great job helping keep the big vision out there, fwiw.
21:40 mornfall dons: No such thing as a perfect piece of software.
21:40 dons but we can do a lot more to state the case for darcs.
21:41 dons the only simple vcs.
21:41 mornfall I wish the core was simple, too.
21:41 dons "don't get git rebase? here, my grandma gets darcs"
21:41 mornfall The conflictor theory makes me feel uneasy.
21:41 lispy mornfall: yeah
21:42 lispy we can't argue robustness even
21:42 lispy and we're using Haskell
21:42 mornfall Right. That's sad.
21:42 Heffalump until Igloo proves it, anyway.
21:42 mornfall Heffalump: That won't make it any less complex and error-prone.
21:42 lispy Heffalump: right
21:42 lispy Heffalump: we need more research
21:42 Heffalump someone could write it in Coq/Agda, perhaps.
21:43 lispy Heffalump: While I think that would be helpful, I think we need more chalkboard proofs
21:43 Heffalump there's stuff to do. And yes, to some extent there's a race for mindshare.
21:43 Heffalump But we can't throw everything else out to compete in that race.
21:44 Heffalump lispy: that's what Igloo is doing now
21:44 lispy dons: with window managers you don't get pressure from other people to use their WM in order to collaborate with them
21:44 Igloo mornfall: I don't think camp's theory is complex
21:45 mornfall Igloo: Maybe you don't, because you are very familiar with it.
21:45 Igloo And if it's proven correct then it's not error prone
21:45 lispy dons: so I think the point about "which is easier to install" is different for vcs.  It more about, which projects use it
21:45 dons yes. again, something we've not addressed in a long time.
21:45 mornfall Igloo: If it's complex, it is hard to implement right. No matter how many proofs you have for it.
21:45 Heffalump Igloo: if it's proven correct and that proof corresponds to the source.
21:46 Heffalump hence Coq/Agda.
21:46 lispy if the darcs project itself uses darcs but seems unhealthy, then why would anyone pick darcs?
21:46 mornfall lispy: Historical reasons, habit.
21:46 mornfall I use darcs out of habit, really.
21:46 mornfall I don't have any arguments left, and there's pressure to drop it, for a good measure.
21:47 lispy Heffalump: it's also not clear that we could end up with an implementation that is also high performance if we extract it from Coq/Agda
21:47 Heffalump if you really don't see the benefits of the darcs UI, or believe in patch theory at some level, you probably should do that
21:47 Heffalump lispy: hmm, true
21:47 mornfall It's a very hard argument to fight that you need the "nice" properties when it makes everyone's everyday life harder.
21:48 dons Heffalump: so what do you think the goal for darcs now is? just to provide an implementation for the patch theory true believers? or ?
21:48 Heffalump I'd like to see it take over the world. But only on its own terms.
21:48 Igloo mornfall: The conflictor implementation is not complex
21:49 mornfall For me, the goal is to provide a practical, robust and elegant VCS. Git fails on the elegant and partially on robust (due to flaky merge).
21:49 mornfall Igloo: So why does darcs get it wrong?
21:49 lispy People seem more tolerant to incorrect merges than they do to corrupted repositories
21:49 Igloo mornfall: I'm talking about camp's conflictors here, darcs's are more complicated
21:49 mornfall lispy: That's why I say partially.
21:50 Heffalump An important thing is that git actually deliberately has a different philosophical standpoint: git thinks it's better to decide on the merge algorithm late, darcs thinks it's better to decide on it early.
21:50 Igloo darcs currently gets it wrong becuase it doesn't have a complete implementation of the darcs2 theory, and the darcs1 theory is incorrect
21:50 mornfall Igloo: But you aren't implementing darcs2 theory either.
21:50 Igloo The thing that is hard is getting a correct theory, not implementing it
21:51 Igloo No, because darcs2 theory is more complicated than is necessary
21:51 Igloo And counterintuitive, IMO
21:51 mornfall Igloo: But the part of the theory that deals with changes that don't conflit is extremely simple, right?
21:51 Igloo Yes (simple, but large, as it's quadratic in the number of patch types)
21:52 mornfall Igloo: Yours is counterintuitive on the identical change conflict again, one that was one of the worst bits of darcs1...
21:52 dons Heffalump: and git doesn't care about theory. theory is like 5% of their effort.
21:52 Igloo mornfall: Are you saying darcs handles non-conflicting changes incorrectly?
21:52 mornfall dons: That's probably why they get so many users. : - )
21:52 Heffalump mornfall: you're confusing intuition about the theory with intuition about the effects of the theory, I think
21:53 mornfall Heffalump: Possibly. But that's why I don't think I want to practically use that version.
21:53 mornfall Igloo: No, I'm not.
21:53 Heffalump AFAIK camp's theory is agnostic to whether identical changes are conflicts or not.
21:54 Igloo It's not agnostic, but I believe that it can be extended to make them not conflict
21:54 Igloo But making them not conflict makes the theory more complex, which is why I'm not doing that at the moment
21:54 mornfall Well, I don't think the "megapatch" approach is really compatible with non-conflicting prims. (And that's also where I disagree with the darcs2 stance on identical changes...)
21:55 Igloo I think the megapatch approach is very important for an intuitive UI
21:55 Heffalump mornfall's idea of an intuitive UI is nothing like everyone else's idea, IIRC :-)
21:56 Heffalump btw, the philosophy of supporting multiple ways of doing things is also an advantage if you want to replace something, because you can introduce the new way first then obsolete the old way once it beds down.
21:56 mornfall Could be, apparently there are complaints about my UI design. Although there are quite some people who like it. (So it's, I guess, love/hate sort of design.)
21:57 Heffalump I think to do the stuff you were talking about a while back, you'd need to start a project yourself. It just wouldn't fit into darcs at all.
21:58 mornfall Yeah, I know.
22:00 mornfall But since I have too many projects on my hands, I probably won't. Getting to conservatory is more important now. And I think that's where 24 hours set in to limit practicality of dealing with version control development.
22:00 Igloo conservatory?
22:01 kowey joined #darcs
22:02 mornfall Learning to play bassoon.
22:04 nomeata joined #darcs
22:06 Heffalump lispy: how do I tweak my darcs settings?
22:09 Heffalump there is context in the patches, AFAICT, is it just the email body that needs it?
22:15 Heffalump hmm, do we have any patches to fix the LANGUAGE pragmas not working on 6.6 issue yet?
22:22 lispy Heffalump: not darcs context, I mean diff context
22:22 lispy Heffalump: I'll try to look at my settings
22:22 cytzol joined #darcs
22:23 kowey Sprint #2 to be held in conjunction with Hac5, March 2009, I hope
22:23 kowey and the new thinking is two sprints a year
22:23 lispy Heffalump: turns out I'm not sure what to tweak.  Eric's advice is better, upgrade your darcs
22:24 kowey one with Hac, so we get to mingle with Haskellers and one by ourselves so we get quality darcs time :-)
22:24 kowey send --unified
22:24 lispy kowey: I think dons suggested to me that those of us in Portland should have more requent hack-events not necessarily darcs related
22:24 kowey fun!
22:24 kowey hmm, maybe something for LondonHug to consider
22:24 lispy What is Hac?
22:25 kowey Haskell Hackathon
22:25 lispy ah
22:25 lispy Heffalump: I was going to tackle the LANGUAGE problem, I just can't get to it today
22:25 Heffalump ok
22:25 lispy maybe tomorrow I can start
22:25 lispy it's only about an hour of work I think
22:25 Heffalump is --unified new?
22:26 lispy I don't think so
22:26 lispy I've had --unified for a while I think
22:26 Heffalump ganesh@defoe:~/darcs-slurpy$ darcs -v
22:26 Heffalump 2.0.2 (+ 62 patches)
22:26 kowey it's old and now you no longer have a choice
22:26 lispy Ijust didn't realize --unified gave the context
22:26 Heffalump ganesh@defoe:~/darcs-slurpy$ darcs send --unified --edit
22:26 Heffalump darcs failed:  unrecognized option `--unified'
22:27 int-e joined #darcs
22:28 Heffalump I'm just building latest stable, anyway.
22:33 Heffalump ok, so now I have the recent one, and it still doesn't like --unified. Should I just assume it'll do it automatically?
22:33 lispy Heffalump: at some point it was removed, so yeah
22:34 int-e left #darcs
22:34 Heffalump but then why was my old one not doing it? It didn't accept the option either.
22:35 mornfall Heffalump: I had the same issue.
22:39 Heffalump ok, I see some context in a test patch I just sent myself
22:39 lispy Heffalump: the context is addicting
22:42 Heffalump gah, darcs sends even when I abort the editor :-(
22:54 beschmi left #darcs
22:56 Igloo lispy: Can you remind me, do you think darcs should be buildable without msys?
23:16 Jerri_ joined #darcs
23:31 felipe joined #darcs
23:39 tux_rocker joined #darcs
23:53 mmorrow joined #darcs
23:54 adu joined #darcs

| Channels | #darcs index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary