Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-02-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 diakopter I'm bouyant in C#
00:00 lue heh, of course. It's really shallow :D
00:00 * mberends throws diakopter a .oO( thought bubble ) for bouyancy
00:02 jnthn OK, time for me to go read for a bit, and then get some sleep :-)
00:03 snarkyboojum joined #perl6
00:03 mberends good night jnthn, nice work today
00:03 jnthn :-)
00:03 jnthn night o/
00:03 lue o/
00:03 diakopter if C# is the Mariana Trench, Perl is a black hole
00:03 lue Good thing C# isn't the Mariana Trench then :)
00:04 mberends Perl 6 has Infinity and Beyond!
00:05 diakopter the closer you get to it, the faster you feel you're moving, but to everyone else, you never reach it [in their lifetimes].
00:06 lue speaking of infinity (restarting the Inf discussion in 3 2 1)...
00:07 mberends (drive-by black hole)
00:08 Exodist joined #perl6
00:08 lue I'm going to WSoGMM dimension 65536 again, to test my (hopefully fixed) pan-dimensional wireless.
00:10 * lue is testing PanDimensional Wireless with this /me
00:18 mberends lue: p65536i65536n65536g # is that the correct coordinate format?
00:18 k23z__ anybody here doing the Google Tron challenge ? have you noticed it takes a lot of time for the bot to move ? any ideas how to speed that up ?
00:18 lue I don't know! Let me check the terminal...
00:19 diakopter I guess you mean http://csclub.uwaterloo.ca/contest/
00:21 lue I'm in WD65536, my location is 12345678:FFCA81D2:10867CD5;
00:22 Rix joined #perl6
00:22 lue Ping this IP to get me: FF.FF.FF.FF
00:23 mberends the wireless seems to be working now
00:23 wknight8111 joined #perl6
00:24 wknight8111 jnthn: ping
00:24 lue quite. Although, pan-dimaewnsional wirelsdss tends to send faulti characterns.
00:25 lue It'sd realldfcy quite annoy~*@^&82ing.
00:25 mberends wknight8111: jnthn checked out a few mins ago
00:26 wknight8111 I'm looking for info about Parrot's TT #1443 that he just filed
00:26 mberends right, the valgrind output
00:27 mberends I may be able to recall, I had a similar one around the same time
00:27 mberends what do you need to know?
00:27 wknight8111 I tried to reproduce it, but I wasn't even able to build the master branch of rakudo
00:27 mberends it's the ng branch
00:27 wknight8111 /usr/local/bin/parrot: symbol lookup error: dynext/perl6_group.so: undefined symbol: Parrot_pcc_get_results
00:27 wknight8111 make: *** [perl6.pbc] Error 127
00:27 wknight8111 ok, how do I get the ng branch from git?
00:28 mberends oops, I'm the git fool around here (especially this morning) but I'll look it up
00:28 wknight8111 ok
00:28 lue I know, I did this a few days ago, all you have to do is... I FORGOT! Quick! Terminal history save me!
00:29 quietfanatic git checkout -b ng -t origin/ng
00:29 mberends quietfanatic++: perfect!
00:29 quietfanatic So I say, but I also used my bash history to find that.
00:30 aesop lol
00:31 mberends http://gitready.com/intermediate/2009/01​/09/checkout-remote-tracked-branch.html
00:32 wknight8111 no love. Same error on the ng branch: /usr/local/bin/parrot: symbol lookup error: dynext/perl6_group.so: undefined symbol: Parrot_pcc_get_results
00:32 wknight8111 make: *** [perl6.pbc] Error 127
00:32 * lue is working on the P6 calendar system
00:33 aesop lol
00:35 mberends wknight8111: did you start with something like perl Configure.pl --parrot-config=/usr/local/b​in/parrot/bin/parrot_config ?
00:35 wknight8111 just perl Configure.pl. I had parrot installed and it claims to have found it ok
00:36 mberends it may need a specific Parrot
00:37 mberends cat rakudo/build/PARROT_REVISION says 43487 2.0.0
00:38 mberends and it must be an installed Parrot from parrot's 'make install'
00:39 wknight8111 i'mdoing --gen-parrot now
00:39 mberends wknight8111: if you have time/space, and easier solution is: .. what you said :)
00:42 mberends the ticket does not mention it, but it may be that the amd64 platform has more errors than x86
00:43 wknight8111 i'm on amd64
00:44 wknight8111 Okay, rakudo finally built. Now, what do I need to do to see this problem?
00:44 mberends on linux/amd64 there is a similar heap corruption in S32-str/index.rakudo and S32-array/unshift.rakudo
00:45 mberends ok, try 'make testable', then perl tools/test_summary.pl
00:45 mberends should take 5-10 minutes total
00:46 wknight8111 ok, running now
00:47 mberends the perl script "fudges" tests, changing the .t to .rakudo and putting in implementation specific skips and todos
00:47 mberends another run is 'make spectest', but the output is less informative
00:50 mberends if you find a crashing test, the next step would be something like 'valgrind ./perl6 t/spec/S32-str/index.rakudo', but you probably knew most of that anyway
00:54 mberends and the toolchain makes a difference too, colomon++ uses Red Hat and has fewer errors than I get on Ubuntu 10.4 testing
00:56 lue That makes me feel better. I use Fedora :D
00:58 ihrd joined #perl6
00:59 snarkyboojum joined #perl6
01:00 ihrd left #perl6
01:14 jaldhar joined #perl6
01:15 jaldhar joined #perl6
01:20 ash__ i have gentoo if you want me to test something there for whatever reason
01:22 jaldhar joined #perl6
01:22 mberends it would be handy to have a few more regular spectest runs on the ng branch
01:23 mberends development is going at a very quick pace again, increasing the risk of bugs
01:23 lue I can compile and `make spectest' rakudo/ng. I run Fedora 12 on a PPC architecture, should prove handy.
01:24 ash__ i can run it on a ppc running gentoo, and an amd64 gentoo
01:24 mberends yes, please :)
01:24 ash__ spectests that is
01:25 lue My first linux distro on PPC was gentoo. My patience lost it while getting sound to work.
01:26 ash__ its for a sys admin class i am taking, i don't need sound, heck i only installed gnome on it last wednesday
01:26 ash__ if i used it more i would, but i don't mind not having it
01:27 lue Gentoo can teach you A LOT about Linux. But it was my first Linux distro, so I learned nothing :D
01:28 ash__ fedora was my first linux, fedora 5...
01:28 * lue is trying to come up with 16 Perl6 related 'terms' He has Camelia, Onion, and -Ofun
01:28 ash__ i normally use ubuntu now though, unless i am making an embedded system, then i always use gentoo
01:28 lue After Gentoo, I used Ubuntu, but parts of it were non-free. So I switched to OpenSuSE.
01:28 ash__ running spectest on 3 systems, i'll report any errors
01:28 jaldhar joined #perl6
01:29 lue OpenSuSE didn't support PPC much at all, so I switched to Fedora. Happy ever since :)
01:29 ash__ http://gist.github.com/303777
01:30 ash__ i'll put all my reports there
01:30 mberends ash__: for a bit more information, you could also try 'time perl tools/test_summary.pl'
01:30 ash__ ill do that one too
01:30 ash__ first ones from darwin 10.6 with 64-bit perl6/parrot
01:35 lue This is a formal request for RAM upgrade for PowerBook G3 Pismo.
01:35 lue Contact me through craigslist. NO FAKES!!!!!!1!!!1!!one!!!
01:37 ash__ mberends: http://gist.github.com/303777 updated
01:37 mberends looking
01:37 ash__ dang, the ppc is still building parrot
01:37 ash__ both the 64 bit ones (OS X and linux) are done compiling and running the test (OS X ran it twice now)
01:38 lue Heh, I only have 384 MiB ram on this PPC dinosaur (and 768 MiB swap space). I'm still on Actions.pm!
01:39 mberends thanks ash__++, that fail in S29-conversions/ord_and_chr.rakudo is similar on Ubuntu
01:40 ash__ running ppc
01:40 ash__ tests now, finally :P
01:40 ash__ its a G4 7455
01:40 ash__ btw
01:40 mberends wknight8111: S29-conversions/ord_and_chr.rakudo is a segfault, not a heap corruption
01:40 lue G3 with 1GHz, if I remember right.
01:41 lue lucky :(
01:41 lue I had a G4 laptop, but the monitor was busted.
01:41 ash__ its not mine, its the schools (student resource ftw?)
01:42 lue ft nostalgic w!
01:43 lue again, this G3 laptop was a gift. Free Mac!
01:43 ash__ which test is the bad one? is it the same on OS X as it is on Linux?
01:43 ash__ wow
01:44 ash__ i just got a bad error on ppc
01:45 ash__ http://gist.github.com/303777 updated, its under PPC
01:45 mberends anything non-zero in the fail column is bad
01:45 ash__ the 3rd file, i got a failed assertion during an allocation
01:46 ash__ i got that error multiple times, it didn't kill the test suite though, i'll post it all once it finishes
01:46 mberends that sounds like a Parrot memory corruption
01:48 mberends ash__: nice speed, this Turion laptop is about 50% slower
01:48 wknight8111 which test causes parrot memory corruption
01:48 wknight8111 ?
01:48 mberends ash__?
01:48 ash__ 2 so far, something in: S03-operators/range.rakudo and something in S03-operators/basic-types.t
01:49 ash__ the test_summary.pl is still running
01:49 ash__ i'll try to see specifically which one when that finishes
01:49 mberends thanks. can you use valgrind as well?
01:50 ash__ sure, gotta install it
01:50 mberends :)
01:50 lue bah, compile error.
01:50 lue Missing block at line 1309, near "( my $i=0;"
01:50 lue in the file core.pm
01:54 ash__ you forget how fast things are until you use a computer built in 1999
01:55 mberends lue: bah indeed, don't understand that error. the file is in src/gen, by the way
01:55 lue I don't know how fast things are :(
01:55 ash__ got another assertion error
01:55 ash__ in S32-array/push.rakudo
01:56 ash__ and in S29-conversions/ord_and_chr.rakudo
01:56 ash__ only a few more tests left
01:57 lue I think that error came from some of my custom code. (I thought git pull gets rid of that)
01:58 mberends all the same tests as others are crashing, that's good confirmation, thanks
01:58 ash__ no, it will only get rid of your code if it conflicts with a change in the pulll
01:58 ash__ do git stash
01:58 ash__ it will remove any custom changes into a temporary stash you can pull up later (if you don't want to commit them)
01:59 lue then I can ignore it forever if I want!? o.o
02:00 lue I can just remove the code, I know where it is.
02:00 mberends yes, with git stash drop
02:00 ash__ git revert can revert a file
02:00 drbean joined #perl6
02:01 lue I'll try git revert.
02:01 lue nah, didn't work. I'll just remove it manually (I know what it is)
02:01 wknight8111 git revert --hard
02:04 lue I just removed it manually. If, however, I changed a couple dozen files (as opposed to 1), I'd have use git commands.
02:06 ash__ S32-num/roots.rakudo gave me the assertion error too
02:08 ash__ http://gist.github.com/303777 updated with full test stuff
02:09 ash__ test 19 of t/spec/S03-operators/basic-types.t died
02:11 ash__ anything else I could do for this test? i'll run the parrot tests
02:12 ash__ doing a make fulltest on parrot
02:13 ash__ ah, i guess i could run it with valgrind, i'll do that
02:15 ash__ do you want the other linux run with valgrind? the x86_64 gentoo
02:15 bacek joined #perl6
02:15 bacek o hai
02:15 bacek seen jnthn
02:16 diakopter a couple hours ago
02:18 bacek sigh.
02:18 bacek cognominal?
02:18 diakopter bacek: wknight8111 is here
02:19 bacek diakopter, this slacker probably sleeping :)
02:19 wknight8111 hello
02:19 bacek colomon, ping
02:19 bacek wknight8111, o hai! :)
02:21 ash__ how does one run a test with valgrind?
02:21 mberends valgrind ./perl6 t/spec/S03-operators/basic-types.t
02:22 mberends then make a cup of tea
02:22 MaL0 joined #perl6
02:23 mberends use the .rakudo extension instead if it exists
02:23 ash__ is that the one you want me to check?
02:23 mberends no, it was just an example from your gist
02:24 mberends I'd let wknight8111 choose the tests, he's into the Parrot guts
02:24 ash__ kk, want me to run it for all the ones that had a failure + backtrace?
02:24 ash__ wknight8111: any suggestions for valgrind tests?
02:24 mberends ash__: sure, you're so helpful today :)
02:25 wknight8111 no idea, still not sure where to start with this one
02:25 ash__ i am just reading, so its not hard to check every few second for tests to finish
02:25 wknight8111 may be multiple bugs
02:28 * mberends slacks off and thinks of sleep
02:28 ash__ which one's the one that orginally started all of this?
02:28 bacek wknight8111, are you trying to fix TT#1443?
02:30 wknight8111 bacek: I was looking at it. I posted a backtrace but it doesn't look like a string compact problem
02:30 wknight8111 looks more like heap corruption or something
02:31 bacek wknight8111, indeed. Is is on "ng"?
02:31 lue joined #perl6
02:31 bacek wknight8111, and parrot's trunk?
02:31 wknight8111 bacek: yes
02:34 bacek ok, digging in
02:36 ash__ i have to rebuild glibc with the debug flags before valgrind will work on gentoo, so... this otta take a while...
02:37 wknight8111 I don't have time for any more test runs tonight. I'm going to bed. I posted what little info I know to the ticket
02:45 bacek Any rakudo committers around?
02:46 ash__ what do you need? (probably can't answer it, but i can try)
02:46 bacek Apply patch from http://nopaste.snit.ch/19611
02:47 bacek It will remove deprecated usage of CallContext.results
02:49 ash__ how would i apply that?
02:50 bacek download, patch -p1 < foo.patch; commit
02:51 bacek or I can provide git format-patch for simplicity
02:51 ash__ that might be nice ^_^
02:54 bacek meh. It doesn't work. I can fork rakudo on github and send pull request.
02:57 colomon bacek: pong
03:07 bacek colomon, unping. I'm trying to check rakudo's crash.
03:07 bacek ash__, what is your github id?
03:08 colomon bacek: great.
03:08 colomon bacek: I'm trying to apply your patch right now.
03:08 bacek I just sent "pull request"
03:09 bacek For this one http://github.com/bacek/rakudo/commit/e​32e144983a58091dccf50d9cc0411f116b48c72
03:10 colomon Hmmm, I don't seem to get rakudo pull request e-mails.
03:11 colomon can I do a pull from that commit of yours to my machine, and then push it?
03:12 bacek colomon, I think so.
03:13 colomon which branch is your patch against?
03:13 bacek ng
03:13 bacek "Patches to Rakudo should be submitted to RT; pull requests via github tend to be ignored, discarded, or take a very long time to process.  "
03:13 bacek erm...
03:14 colomon I ignore RT too, but patches sent to #perl6 probably get results.  :)
03:14 bacek colomon, than just apply patch from nopaste :)
03:14 colomon Hmmm... I tried git pull http://github.com/bacek/rakudo/commit/e​32e144983a58091dccf50d9cc0411f116b48c72 but that doesn't seem to do it.
03:14 colomon applying it from nopaste didn't work either, not sure why.
03:14 bacek colomon, you have to add remote
03:15 colomon ah.
03:15 bacek colomon, redhat?
03:15 colomon still a git novice, I fear.
03:15 colomon actually, I'm normally on os x (including now).
03:15 colomon but I have a centos x64 box.
03:16 colomon do I want to pull or merge, actually?
03:17 colomon never mind that, I see they're the same.
03:17 colomon ish
03:19 bacek colomon, http://nopaste.snit.ch/19612, save it than "git apply <filename>"
03:19 bacek it should work
03:19 colomon apply or am ?
03:20 colomon am, beauty.
03:20 colomon now making and testing.
03:20 colomon thank you for the patch (and help)!
03:24 bacek colomon, it's just small clean-up...
03:24 colomon every little bit helps!
03:26 am0c joined #perl6
03:27 colomon pushed
03:33 dalek rakudo/ng: 668a1c8 | bacek++ | src/ (3 files):
03:33 dalek rakudo/ng: Remove obsoleted Parrot_pcc_(set|get)_results.
03:33 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/6​68a1c8376df3c41142d8477de702538f3d50f77
03:38 bacek ok. I can wallpaper problem with compact_pool. But it's just wallpapering
03:39 colomon anything you can do that will help!  The problem has been quite annoying...
03:40 bacek colomon, you can apply this patch locally to parrot http://nopaste.snit.ch/19613
03:40 bacek just for testing purpose
03:41 colomon okay, let me see...
03:44 colomon should I need to rebuild rakudo or no?
03:46 colomon Just tried two of the failing tests, they seem to work fine.  Going for full spectest now...
03:46 bacek no
03:46 bacek just rerun
03:47 gfx joined #perl6
03:49 colomon bacek: that made all the segfaults go away for me.
03:49 colomon obviously they are heisenbugs so I can't say for certain that they're not lurking waiting for a different build, but this test seems extremely promising.
03:49 bacek colomon, yeah... But it's just fixing symptoms.
03:50 colomon y
03:50 colomon Can you tell us more about the problem?
03:50 bacek Someone using more memory than allocated.
03:50 colomon And when the symptoms are 2-4 segfaults every spectest run, just getting rid of the symptoms is no small matter.
03:53 pugs_svn r29718 | colomon++ | [t/spec] Refudge more precisely.
03:53 athenot joined #perl6
03:58 colomon bacek: Please keep us informed on progress with this bug!  In the meantime, unless you advise against it, I'm going to suggestion Rakudo developers switch to using it.
03:58 colomon and thanks again!
03:59 colomon afk # bed
03:59 bacek colomon, I'm in progress to find real problem...
03:59 bacek And good night
03:59 colomon \o/
04:19 cognominal joined #perl6
04:25 snarkyboojum joined #perl6
04:49 lue hello anyone?
04:49 cognominal joined #perl6
04:51 lue ...hello? cognominal? anyone? (i'm scared…………)
04:53 cognominal lue?
04:53 cognominal alone in the cold night?
04:54 lue yes.
04:54 cognominal I can't sleep... Reading Resig books.
04:55 lue I have no need to sleep yet.
04:55 cognominal what is your localtime?
04:55 lue 20:55
04:55 cognominal 5:55 here
04:56 lue Oi. The only reason I give my local time is because I give you 1/24 of the world to find me in. That's a lot.
04:58 cognominal somewhere on the west coast...
04:58 lue yeah, but still. 1/24 of the world.
04:59 cognominal more than that except if you live on water...
05:00 lue I don't. I'm not a Zora.
05:04 am0c joined #perl6
05:20 jj__ joined #perl6
05:20 jj__ hi
05:21 jj__ left #perl6
05:22 lue eh.. hi NO WAIT aww
05:28 * lue is learning estuary english thru wikipedia
06:25 maerline joined #perl6
06:26 justatheory joined #perl6
06:26 maerline perl6: say "foo";
06:26 p6eval elf 29718, pugs, rakudo 1d4928: OUTPUT«foo␤»
06:27 maerline perl6: say "hlgh";
06:27 p6eval elf 29718, pugs, rakudo 1d4928: OUTPUT«hlgh␤»
06:31 maerline left #perl6
06:32 maerline joined #perl6
06:37 cognominal joined #perl6
07:18 k23z__ joined #perl6
07:21 bacek joined #perl6
07:48 lue left #perl6
07:52 drbean joined #perl6
08:17 mberends joined #perl6
08:20 z3ndrag0n joined #perl6
08:21 patspam joined #perl6
08:24 mberends T-riffic, bacek++'s Parrot patch eliminates all the ng spectest crashes. Now passing 3982 tests out of 16418 (24.3%)
08:32 kaare joined #perl6
08:51 iblechbot joined #perl6
08:59 cognominal joined #perl6
09:03 k23z__ joined #perl6
09:38 Su-Shee joined #perl6
09:38 Su-Shee good morning
09:39 sjohnson hi
09:42 Rix joined #perl6
10:16 IllvilJa joined #perl6
10:16 mikehh joined #perl6
10:20 kaare joined #perl6
10:37 snarkyboojum left #perl6
10:40 Chillance joined #perl6
10:57 jferrero joined #perl6
11:00 pmurias joined #perl6
11:16 meppl joined #perl6
11:23 pugs_svn r29719 | pmurias++ | [mildew] places where phi function need to be inserted are correctly
11:23 pugs_svn r29719 | detected
11:24 pugs_svn r29720 | pmurias++ | [mildew] phi functions are inserted
11:36 patspam joined #perl6
11:38 patspam joined #perl6
11:39 colomon mberends: Is that the patch bacek posted here, or does he have a more complete patch now?
11:51 drbean joined #perl6
11:53 redicaps joined #perl6
11:57 mberends colomon: that's all currently, bacek said he would work more on it because so far he has only removed the symptom
11:58 colomon yeah, that was the status of things before I went to bed, I was hoping there had been further progress.
11:58 colomon but all tests clean is awesome.
11:58 mberends yes :)
12:04 pugs_svn r29721 | pmurias++ | [mildew] added a test-ssa target to the Makefile
12:07 mberends pmurias++ for implementing Single Static Assignment in Perl 5, for Perl 6 :)
12:09 pmurias mberends: i'm still fixing the bugs
12:15 pugs_svn r29722 | colomon++ | [t/spec] Note that tests being skipped are out of sync with the spec.
12:16 colomon okay, my ng is pretty clean.  I'm going to try bumping parrot and see what happens.
12:16 pmurias mberends: you expressed interest in adding a js backend to rakudo how hard would it be to seperate the parrot specific parts?
12:21 mberends pmurias: it's much more feasible in the ng version. I'm still studying how it would work, and see no conceptual blockers.
12:22 mberends pmurias: it would negatively impact the Rakudo * release to do any work on it right now, but planning and documenting are worthwhile.
12:23 mberends rakudo/docs/compiler_overview.pod is now about 30% revised for the ng branch
12:34 ruoso joined #perl6
12:36 pugs_svn r29723 | pmurias++ | [mildew] fix AST::Loop::simplified
12:36 pmurias ruoso: hi
12:40 pugs_svn r29724 | pmurias++ | [mildew] fixed the AST produced by unless
12:47 colomon make test has two failures with the latest parrot.  :(
12:48 colomon say +^1 fails.
12:49 colomon That runs :pirop<bnot>
12:50 colomon error is Null PMC access in set_integer_native()
12:51 k23z__ eval: import random; @t=("R","F","U","L","D","B"); @t2=(" ","2","`");for ($i=1;$i<=15+int(rand(10));$i++) {print $t[rand(6)],$t2[rand(3)]," "};print "\n";
12:51 k23z__ hmm no bots here ?
12:52 ruoso hi pmurias
12:52 colomon no perl 5 bots, anyway...
12:55 masak joined #perl6
12:55 masak good wonderful Sunday, #perl6.
12:55 colomon \o
12:56 * masak slept the wrong hours again
12:56 * masak feels less bad about it than usual :)
12:59 redicaps joined #perl6
12:59 redicaps left #perl6
13:00 pmurias ruoso: what compile optimalisation do you think mildew will most benefit from? i'm thinking about working on simple RI inference at first (so we can emit much more efficient code for some method calls)
13:04 orafu joined #perl6
13:07 cognominal joined #perl6
13:11 ruoso pmurias, what do you mean by simple RI inference?
13:13 pmurias we assuming we know what the $scope register contains we could infer what all the lookup method calls return
13:14 pmurias s/we/well,/
13:14 ruoso ah... sure...
13:15 ruoso are you talking about optimization in mildew per se? or directed to one specific backend?
13:15 pmurias in mildew per se
13:16 pmurias the backends could then use the type info to emit specific code
13:17 ruoso pmurias, I think constant values flagging would be usefull as well
13:19 jnthn oh hai, folks
13:19 pmurias jnthn: hi
13:19 jnthn masak: My sleep times are also REALLY messed up.
13:19 jnthn :-(
13:19 jnthn hi pmurias :-)
13:20 masak jnthn: want to compare :) I fell asleep at 5-ish, and woke up slightly before 1.
13:20 masak s/are/are?/
13:21 payload joined #perl6
13:22 jnthn masak: Went to bed a bit after 1:30, failed to sleep until 3:30-4:00ish, alarm went off for church at 8:30, tried to get up but epicly failed, quickly fell asleep again and slept until almsot 2.
13:22 jnthn masak: I lost a lot of sleep to ESTOMACHPAIN
13:22 colomon o/
13:23 colomon jnthn: do you know anything about :pirop<bnot>?
13:23 jnthn colomon: It's found in a PAST::Op node? :-)
13:23 masak jnthn: sounds like a tie to me.
13:24 colomon jnthn: token prefix:sym<+^>  { <sym>  <O('%symbolic_unary, :pirop<bnot>')> }
13:24 colomon doesn't work under the latest parrot.
13:24 jnthn masak: Missed out on church...and thus seeing красивая Лена. :-( And meeting a friend visiting Bratislava for a few days at six to show her where to obtain good food and beer. So it'll be a short day's hacking here.
13:25 jnthn colomon: Oh.
13:25 jnthn colomon: Did they deprecate bnot? :-/
13:25 jnthn colomon: Also, I need to backlog, but I see there's something about a Parrot patch that helped out with the spectests?
13:25 colomon I dunno.  Didn't see anything about it in the parrot log.
13:25 colomon yes!
13:25 masak jnthn: same here. I'm off to a late-bound fika soon, and later this evenening to a very late-bound dancing session. :)
13:26 jnthn masak: fika?
13:26 colomon apparently it doesn't solve the real problem, but it hides it from us quite nicely.
13:26 masak jnthn: unfamiliar with the term? welcome to Sweden. :)
13:26 colomon latest ng + that patch in parrot + latest spectest == clean spectest run here.
13:26 jnthn masak: Well, I saw a product called "ficklampa" and figured it'd amuse the German tourists. :-)
13:26 masak jnthn: probably :)
13:26 jnthn But I assume that's unrelated. :-)
13:26 * Su-Shee chokes on her pancakes :)
13:27 masak jnthn: as well as 'fick-kalender', I guess.
13:27 masak jnthn: yes, unrelated. 'fika' has a REALLY interesting etymology, so I suggest you look it up.
13:28 jnthn oooh! I like that word!
13:29 masak thought you might. :)
13:29 masak I don't do fika often, especially not at work. but I've made a new foreign-exchange-student friend, and he seems to like fika quite a lot.
13:30 jnthn "to impress, serve a variety of seven freshly baked items--and be ready to talk about the weather." :-D
13:30 masak :P
13:30 masak fika &
13:30 jnthn As a Britt, I can at least be an expert in one of those :-)
13:31 jnthn colomon: Will check out the patch.
13:31 jnthn colomon: What's the error you get, btw?
13:31 jnthn (with bnot)
13:31 colomon Null PMC access in set_integer_native()
13:32 colomon that's when you try +^1
13:32 huf w t f. why are you people on about booger?
13:32 huf fika seems at least as unfortunate to me as "gecis" (GE Capital International Services)
13:33 jnthn colomon: Oh. Oddness.
13:33 rv2733 joined #perl6
13:34 jnthn huf: Heh. Welcome to the world of words that are normal in one language and sound weird in another. :-)
13:35 huf yeah ;)
13:35 huf fika is just booger, but gecis...
13:35 uniejo joined #perl6
13:36 jnthn hehe
13:36 jnthn colomon: Yeah, bacek++'s patch does appear to be the wallpaper approach, but it's pretty, problem-solving wallpaper.
13:37 colomon oh, yes, having all tests clean is AWESOME!!!!11!!!!
13:38 colomon seriously, I'm very glad I'm seeing that before ng --> master
13:38 jnthn Yeah, same!
13:38 colomon though I do hope he can come up with a proper patch, too.
13:38 jnthn So, is patch applied to latest Parrot?
13:39 colomon jnthn: I don't think so.
13:39 jnthn Ah, OK
13:40 colomon no, I don't see it there.
13:40 jnthn colomon: And the bnot is the only blocker to us running on latest Parrot?
13:40 colomon the only blocker I've seen so far.  everything builds and whatnot, there are just two +^1 fails in make test
13:40 colomon didn't try make spectest
13:42 colomon I guess there could be another problem later on in those two test files, I wouldn't know.
13:42 jnthn Ah, that'd be the more telling one
13:42 jnthn But if it really is only that place that we fail...it's not a huge deal.
13:42 colomon should I patch the files and see what happens?
13:42 jnthn "the files"?
13:42 jnthn PARROT_REVISION?
13:43 colomon no, the test file -- "skip" the test that fails and see what happens next.
13:44 jnthn Could do that as an experiment to see, yeah.
13:44 colomon okay, for the first file, all remaining tests pass
13:46 pugs_svn r29725 | pmurias++ | [mildew] added ->simplified for while
13:46 pugs_svn r29726 | pmurias++ | [mildew] ssa conversion leaves ¢foo registers alone
13:46 colomon and the same with the second.  so we pass all the make test tests except the two tests that do prefix:<+^>.
13:49 jnthn OK, not bad.
13:54 wknight8111 joined #perl6
14:24 xomas_ joined #perl6
14:35 slavik left #perl6
14:38 ruoso joined #perl6
14:38 mssm joined #perl6
14:44 nihiliad joined #perl6
14:45 uniejo joined #perl6
14:46 pmichaud good morning #perl6
14:47 colomon \o
14:47 pmichaud apologies for disappearing yesterday -- %family_stuff happened
14:48 colomon Two exciting bits in the backlog: bacek++ came up with a patch that hacks around the segfaults we've been getting in parrot.
14:48 colomon with it, ng tests clean.
14:48 colomon spectest, I mean.
14:48 jackyf joined #perl6
14:48 pmichaud bacek++
14:48 colomon (that's a parrot patch)
14:48 pmichaud patch to rakud..... okay
14:48 pmichaud so we bumped PARROT_REVISION?
14:48 colomon not actually applied to parrot yet, as far as I know.
14:48 pmichaud (if yes, good)
14:48 pmichaud oh.
14:49 colomon no, just changed local parrots by hand.
14:49 pmichaud why not patched to parrot yet?
14:49 colomon I tried bumping PARROT_REVISION this morning, and it's got a glitch.
14:49 colomon I think because it's fixing the symptoms rather than the problem.  bacek was still working on a better patch when I went to bed last night.
14:50 colomon in latest parrot, prefix:<+^> crashes.
14:50 pmichaud that's kinda bizarre :)
14:50 colomon Null PMC access in set_integer_native()
14:54 pmichaud I have to run an errand ... any specific things I should work on upon returning?
14:55 colomon figuring out how to get the latest parrot working and switching ng to master?
14:56 colomon I didn't accumulate any fresh blockers yesterday, and really need to dig in some more to see what all tests will run now, I suspect there are a lot which are just a touch away from working.
14:59 jnthn colomon: I can probably give some tuits to looking at that +^ crash in about 10 mins.
15:01 jnthn pmichaud: imho, slices, latest Parrot, s/ng/master/.
15:01 jnthn In no particular order.
15:01 colomon jnthn: \o/
15:01 jnthn (I'd really like to see us have slices before the Thursday release, but not fussed on if it's before we make ng master.)
15:02 jnthn colomon: Did you just go for latest Parrot trunk?
15:03 * jnthn goes for 43952
15:07 cognominal joined #perl6
15:14 pmichaud slices should be no real problem
15:16 jnthn colomon: OK, make spectest with latest Parrot doesn't has a fail.
15:16 pmichaud +1
15:16 jnthn We appear to get some more tests which segfault after running all tests.
15:17 pmichaud urgh
15:17 jnthn But bacek++'s patch may resolve that.
15:17 jnthn (I don't have that applied locally.)
15:17 pmichaud afk for a bit
15:18 jnthn Our performance is horrid.
15:19 jnthn 10,000 sub dispatches benchmark takes 3 times longer than I had it down to in master before we started on ng. :'(
15:20 jnthn Only consolation is that multi-dispatch and single dispatch are still almost neck and neck, but that's mostly because our multi-dispatcher is cachetastic.
15:23 jnthn bnot $P23, $P22
15:23 jnthn hmm
15:24 jnthn Did it go from making a new PMC to expecting one to assign the result to, I wonder? :-/
15:24 jnthn Either way, we should probably switch it to being a proper multi...
15:27 pmichaud jnthn: is the performance switch due to rakudo changes or to parrot ones, I wonder?
15:28 jnthn pmichaud: Hard to say ATM
15:28 pmichaud maybe benchmark current master?
15:28 jnthn pmichaud: I do know we "only" were two times slower last time I checked.
15:28 jnthn Which was a week or so ago.
15:28 pmichaud hmmmm
15:30 jnthn Got a patch that gets us passing all make test again with latest Parrot trunk
15:30 jnthn Checking spectest now, plus applied bacek's patch too.
15:30 cognominal ho, I first thought that cachestatic was a sort of cacochimy...
15:30 * pmichaud reviews backscroll
15:33 bacek joined #perl6
15:35 jaldhar joined #perl6
15:35 jnthn pmichaud: I get a bunch of exit status 1 reports still, but all the segfaults are gone after I locally applied bacek++'s patch.
15:38 jnthn pmichaud: Anyway, pushed patch and bumped us to latest Parrot.
15:38 dalek rakudo/ng: fc96739 | jonathan++ | src/ (2 files):
15:38 dalek rakudo/ng: Move prefix:<+^> to the Perl 6 setting and do an implementation that doesn't crash on latest Parrot trunk.
15:38 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/f​c96739a37b95a70b9e8f8dbb6c8a0edfaad5213
15:38 dalek rakudo/ng: d779a9e | jonathan++ | build/PARROT_REVISION:
15:38 dalek rakudo/ng: Bump us to Parrot HEAD.
15:38 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/d​779a9ead25dc415878c1d318b04baf7a2d871ff
15:38 Psyche^ joined #perl6
15:39 pmichaud ...surely   pir::bnot($x)   is better than Q:PIR ... ?
15:39 jnthn pmichaud: It seems that it expects a desintation register.
15:39 jnthn An already created one.
15:40 pmichaud ugh!
15:40 jnthn Yeah
15:40 jnthn I think Parrot change. :-/
15:40 jnthn Bit surprising.
15:40 pmichaud if so, it changed to go against the stated standard.  I wonder when that happened.
15:40 jnthn Didn't have chance to hunt it down in the commit logs yet.
15:40 colomon joined #perl6
15:41 pmichaud did whiteknight++ do his "prune the vtables" merge yet?  That might be a likely candidate.
15:41 jnthn I think so, yeah.
15:41 jnthn wknight8111: ping
15:42 wknight8111 jnthn: pong
15:42 jnthn wknight8111: It appears that the bnot opcode in Parrot has gone from creating a destination PMC on the LHS to expecting one to be already existing that it can assign into.
15:43 jnthn wknight8111: Any ideas?
15:43 wknight8111 I'll look into it
15:43 pmichaud test program coming up
15:43 pmichaud (just waiting for parrot trunk to rebuild)
15:43 pmichaud PS1=$
15:43 pmurias joined #perl6
15:43 wknight8111 we're talking about bnot_p_p?
15:44 jnthn wknight8111: Yes.
15:44 pmichaud http://nopaste.snit.ch/19615
15:45 pmichaud (still building parrot trunk :-|
15:46 wknight8111 okay, i see the issue. So bnot_p_p should always create a new LHS PMC?
15:46 jnthn Null PMC access in set_integer_native()
15:46 jnthn current instr.: 'main' pc 3 (bug.pir:4)
15:46 jnthn Is that it gives with latest Parrot head.
15:46 jnthn wknight8111: It seems that it used to.
15:46 wknight8111 okay, let me look around to make sure that's the old behavior and I will change it
15:46 jnthn wknight8111: It'd be good to preserve existing semantics, plus creating result is consistent with other opcodes.
15:47 jnthn wknight8111++ # thanks
15:47 wknight8111 jnthn: I had intended to maintain the old semantics, so if I didn't it's a mistake
15:47 jnthn OK, cool.
15:48 pmichaud my nopaste 19615 shows the 2.0.0 behavior
15:48 pmichaud http://nopaste.snit.ch/19616  # current trunk fail
15:50 wknight8111 the old behavior was dependant on the output of VTABLE_binary_not(), most core implementations seem to have returned a new PMC by convention there
15:50 wknight8111 so I'll fix the op to do that
15:50 crazed joined #perl6
15:51 crazed is IO::Socket working with SOCK_RAW in perl6?
15:51 jnthn wknight8111: OK, thanks. Once that's in, I can simply our code that uses it.
15:52 mberends crazed: only TCP sockets afaik
15:52 crazed know of anyone working on this?
15:53 mberends currently nobody, because getting ng to be the new master is more important
15:53 wknight8111 I'm building and testing now. Should have a commit in a minute or two
15:53 jnthn Yay
15:53 crazed moving from rakudo?
15:54 mberends no, rakudo/ng to rakudo/master
15:54 crazed ooh
15:54 crazed is there any good place to read up on the status of these things?
15:55 mberends ng has much better internals
15:55 mberends not really, I'm updating the compiler overview today. the rest is happening before our eyes right here
15:55 jnthn crazed: Folks have been doing rather more coding than blogging of late, it turns out.
15:56 jnthn crazed: http://github.com/rakudo/rakudo/commits/ng is the commit log for ng
15:57 wknight8111 jnthn: r43953
15:57 justatheory joined #perl6
15:58 crazed i'll have to stay idle in here more often then
16:00 jnthn wknight8111: Thanks, testing.
16:02 jnthn wknight8111: Looks good.
16:03 wknight8111 w00t.
16:03 Trashlord joined #perl6
16:04 wknight8111 would you mind putting together a regression test for it?
16:04 wknight8111 I am out of coding time this morning
16:09 masak joined #perl6
16:09 pmichaud > my @a = 5..10;  say @a[4,2];
16:09 pmichaud 97
16:10 jnthn wknight8111: Will commit one in a moment.
16:10 jnthn pmichaud: Yay!
16:10 pmichaud oops, I just pushed the commit w/o spectesting
16:10 pmichaud spectesting now
16:11 pmichaud (should be okay, but there's a chance it isn't)
16:12 jnthn wknight8111: done.
16:12 wknight8111 w00t. jnthn++
16:12 dalek rakudo/ng: bf37cc3 | pmichaud++ | src/builtins/List.pir:
16:12 dalek rakudo/ng: Fix bug with RPAs not flattening properly in lists.
16:12 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/b​f37cc312ab97a2ce213395252ee9bdc74368e67
16:15 pmichaud okay, spectest did okay
16:16 jnthn Cool.
16:16 pmichaud > sub foo() { return 1,4; };   my @a = 5..10;  say @a[foo()];
16:16 pmichaud 69
16:16 pmichaud yay
16:17 jnthn :-D
16:17 jnthn Yeah, I'm rather happy about multiple return values working. :-)
16:18 pmichaud S02 says
16:18 pmichaud @array[*]                           # flattens, unlike @array[]
16:18 jnthn Oh.
16:18 dalek rakudo/ng: e0a8fb9 | jonathan++ |  (2 files):
16:18 dalek rakudo/ng: Bump to latest Parrot, which lets us simplify our usage of bnot__PP.
16:18 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/e​0a8fb9f74816747959c7315e899cb410455ef43
16:18 jnthn I'd thought there were identical...
16:19 pmichaud not entirely.  I know that @array[]  is supposed to be a "zen slice"
16:19 pmichaud but I'm a little fuzzy on the difference at the moment
16:21 jnthn pmichaud: Same - we don't implement slice context at all yet though, do we?
16:21 pmichaud no slice context, no
16:21 jnthn I guess for now it doesn't matter so much then.
16:21 pmichaud yeah
16:22 pmichaud I need to go read up on the latest changes to the contextualizers
16:22 jnthn Same, plus the patches yesterday.
16:24 jnthn pmichaud: Gah.
16:24 jnthn pmichaud: The one slight issue with us changing Hash from a role to a class...
16:24 jnthn ...is that we have a bunch of places that want the Parrot one but don't do root_new.
16:25 pmichaud then we should fix those
16:25 jnthn Yeah
16:25 jnthn Just means it's not quite a s/role/class/ :-)
16:25 pmichaud I've been pretty careful to avoid using 'new' when I really mean the Parrot one
16:25 pmichaud although I'm sure I've mised a few
16:25 pmichaud *missed
16:25 jnthn I'll go through and hunt 'em down.
16:26 jnthn Once this is done, we can have hash slices too.
16:26 pmichaud what should we call the old "master" branch?
16:26 pmichaud "genesis"
16:26 pmichaud "nebula"?
16:27 pmichaud "close-but-no-cigar"?
16:27 pmichaud "booster"?
16:27 jnthn Hmm...booster is nice on the space theme (along with R* etc)
16:27 jnthn "launchpad"
16:28 jnthn "appollo1"
16:28 jnthn :-)
16:28 pmichaud launchpad is nice
16:28 mberends confusing to ubuntu people
16:28 pmichaud or even just "launch"
16:28 jnthn Yeah
16:28 colomon alpha?
16:34 jnthn pmichaud: Turns out making EnumMap a class is enough to let us rename back to postcircumfix:<{ }>
16:34 dual joined #perl6
16:34 jnthn pmichaud: Comitting that now, then you're free to take on hash slices if you like.
16:34 ash__ joined #perl6
16:34 jnthn pmichaud: And I'll triage the stuff to make Hash a class.
16:37 pmichaud jnthn: okay, wfm
16:37 pmichaud jnthn: I'll tackle hash slices soonish -- not hard.  still have some stuff to do with array slices.
16:37 pmichaud right now I'm testing rename-ng-to-master
16:38 jnthn pmichaud: OK
16:39 masak wait, so Hash is a class again?
16:40 jnthn masak: Yeah
16:40 jnthn masak: Thing is, Seq and Array are...
16:40 jnthn masak: In Rakudo at least.
16:40 pmichaud I'm fine with making them roles... I just don't know how to do that :)
16:41 jnthn masak: So we decided to go for consistency.
16:41 pmichaud (and have everything work )
16:41 jnthn masak: Also, having them roles brought up some bootstrapping issues for us.
16:41 pmichaud so short-term, classes seems easier
16:41 dalek rakudo/ng: 90b7b01 | jonathan++ | src/ (3 files):
16:41 dalek rakudo/ng: EnumMap becomes a class instead of a role, for consistency with the way we do Seq/Array. Avoids a bootstrapping issue too, and so we can remove the XXX-postcircumfix:<{ }> hack.
16:41 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/9​0b7b01ee2320d11b6a82bf0bc2279afaf20621a
16:41 masak I'm glad. I think.
16:41 masak Hash always felt like a class to me.
16:41 jnthn Well, it's the parametricity that is the trickier bit.
16:41 masak so now we don't do Hash[Int] and the like?
16:41 jnthn But we'll take the same approach as master for typed hashes.
16:41 jnthn masak: Well, that's the issue. :-|
16:42 masak that's why I'm asking :)
16:42 jnthn masak: We may be able to get a workaround to make that work though.
16:42 pmichaud did we have it working in master?
16:42 masak ok.
16:42 jnthn pmichaud: No
16:42 pmichaud oh.
16:42 masak pmichaud: don't think so.
16:42 jnthn my Int %foo worked, for example.
16:42 jnthn But not my Hash of Int $foo;
16:42 pmichaud oh, I see.
16:43 jnthn my Positional of Int $foo could work though.
16:43 jnthn I can dream up a hack that'll give us Hash of Int.
16:43 jnthn But we need to do the definedness modifiers first.
16:43 pmichaud anyway, I agree we don't want this to be a blocker for slices and a few other things; we can figure out how to make it work with some non-core roles and then backport, perhaps?
16:43 jnthn The hard part isn't the roles.
16:43 pmichaud okay
16:43 jnthn The hard part is the bootstrap.
16:44 jnthn The really, really annoying thing with hashes is methods depend on hashes.
16:44 jnthn Because they get an implicit *%_
16:45 payload joined #perl6
16:45 jnthn So as soon as the role composer goes and calls a method written in Perl 6, rather than NQP or PIR, we go boom.
16:45 pmichaud okay, I managed to rename  master->alpha  and ng->master in a copy of the repo.  Shall I do it in the rakudo repo?
16:45 pmichaud When we do the rename, everyone needs to check out fresh clones of the repo
16:45 jnthn oh, gah
16:45 jnthn er
16:45 * masak loves tp hear about bootstrapping woes
16:46 masak it's not schadenfreude, it's fascination with the loopiness. :)
16:46 jnthn pmichaud: OK, go for it, I can easily re-create my local patch.
16:46 pmichaud jnthn: I can wait
16:46 jnthn pmichaud: Just don't lose my 90b7b01ee2320d11b6a82bf0bc2279afaf20621a :-)
16:46 pmichaud I'd rather wait and have everything as clean as we can get it than have to fix up a bunch of stuff.  It's not hard.
16:46 pmichaud (the renames aren't hard)
16:46 jnthn pmichaud: I've cleared up enough to probably allow hash slices.
16:47 jnthn I can do the rest after the rename.
16:47 pmichaud jnthn++
16:47 pmichaud well, I need a short break to review everything in my head and make sure I'm not forgetting something important
16:47 pmichaud might also be a good idea to make sure we have a backup clone of the existing repo somewhere :)
16:48 jnthn OK, well, let's see what I can get done on this patch while you have yoru break then. :)
16:48 pmichaud how about if I just say I'll do the rename at 17h15 UTC ?
16:48 pmichaud (28 mins from now)
16:48 jnthn pmichaud: oh, ouch
16:48 jnthn pmichaud: Here's the problem one:
16:48 jnthn phash = vivify our, '%!PHASERS', ['Hash']
16:48 jnthn pbank = vivify phash, bank, ['ResizablePMCArray']
16:49 jnthn Can I write 'parrot';'Hash' in there?
16:49 pmichaud no, but you can pass in a namespace
16:49 pmichaud $P0 = get_root_namespace ['parrot';'Hash']
16:49 masak pmichaud: it's not that hard to do a branch 'overwrite'. just delete the master branch remotely ('git push origin :mater') and locally ('git branch -D master'), then rename ng locally ('git co -b master ng'), and push it.
16:49 pmichaud masak: right, that's essentially what I'm doing
16:49 * masak has never done it, but that seems like the way to do it
16:50 pmichaud but one also has to change github's notion of 'default branch' -- it won't let you delete the default
16:50 jnthn pmichaud: Testing.
16:50 pmichaud and I don't want to completely delete 'master', -- I want to rename it also
16:50 masak pmichaud: oh! didn't know that.
16:50 masak pmichaud: well, a branch is just a little note on a commit.
16:50 pmichaud right
16:50 masak one that moves. :)
16:50 pmichaud so the steps are effectively
16:51 pmichaud - copy 'master' to 'alpha'
16:51 pmichaud - change default branch to 'alpha'
16:51 pmichaud - delete 'master'
16:51 pmichaud - copy 'ng' to 'master'
16:51 pmichaud - change default branch to 'master'
16:51 pmichaud - delete 'ng'
16:51 masak right.
16:52 pmichaud the results of doing that are in my personal github account:  http://github.com/pmichaud/rakudo
16:52 masak \o/
16:52 dalek rakudo/ng: ca923f4 | (Martin Berends)++ | docs/compiler_overview.pod:
16:52 dalek rakudo/ng: [docs/compiler_overview.pod] ng update 50% completed
16:52 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/c​a923f41ca33baabc24ac99db9c9a38acfce12d8
16:52 pmichaud anyway, short break
16:53 pmichaud will do branch renames at 17h15 (23 mins from now)
16:53 mberends \o/
16:53 jnthn Awww. My beer friend's bus broke down on the way here!
16:53 jnthn No nom and beer trip for me tonight. :-(
16:53 athenot joined #perl6
16:53 mberends jnthn: I'll have a beer for you
16:54 jnthn :-)
16:55 masak if the verb 'to be' were the least bit regular in English, a 'beer' would be someone who is.
16:57 mberends hmm, yes. an 'exister'
16:57 jnthn I beer Rakudo hacker!
16:57 jnthn Oh wait...not quite like that. :)
16:57 mberends I code, therefore I beer
16:58 masak jnthn: more like "I think, therefor I'm a beer."
16:58 masak dang, mberends was slightly faster :)
16:58 mberends golf
16:58 mberends masak usually wins those
16:59 masak well, golfing bugs is fun.
16:59 masak golfing features is still quite hard in rakudo. looking forward to lax mode :)
16:59 mberends heh
17:00 jnthn pmichaud: oh noes
17:00 jnthn pmichaud: NQP generates code that does new $P4269, 'Hash'
17:02 jnthn pmichaud: I've fixed up all the other instances I can see in the codebase and will push those though, we can do the actual switch later.
17:03 crazed joined #perl6
17:05 mberends 10 minutes to ng becoming master
17:06 mberends this calls for another beer, since I've just finished jnthn's
17:06 masak this is becoming very existential.
17:07 colomon woah, too early in the day for beer here.
17:07 crazed hotness
17:07 mberends is that why the aussies drink so much beer?
17:08 crazed what distro you guys develop on
17:08 jnthn XP
17:08 jnthn ;-)
17:08 crazed lol
17:08 pmichaud <- kubuntu
17:08 colomon os x
17:08 crazed anyone on freebsd?
17:09 masak crazed: does OS X count? :)
17:09 dalek rakudo/ng: 33bf199 | jonathan++ | src/ (7 files):
17:09 dalek rakudo/ng: Replace a bunch of new ['Hash'] that wanted a Parrot Hash with root_new ['parrot';'Hash].
17:09 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/3​3bf199ceaa724e690e2bf087d31a4d10a5a9dde
17:10 * jnthn refrains from patching
17:10 mberends crazed: try http://irclog.perlgeek.de/search.pl?c​hannel=perl6&amp;nick=&amp;q=freebsd
17:10 arnsholt crazed: I've tried it on fBSD a bit, but it's not my day-to-day platform
17:10 arnsholt (And I'm not really a Rakudo dev either)
17:13 pmichaud 3 mins to branch renames
17:13 pmichaud (will someone be able to update p6eval?)
17:14 crazed ah useful
17:15 pmichaud okay, 17h15
17:15 pmichaud starting renames
17:16 colomon what did you guys decide master was going to become?
17:16 pmichaud "alpha"
17:16 masak that's a good name as any.
17:16 pmichaud also puts it at the top of the branches list
17:16 masak it's the name of the Bad Guy in Dollhouse :P
17:16 colomon masak: ;)
17:18 pmichaud Done.
17:18 jnthn .oO( We coulda called it Юлия - it was the branch that didn't quite make it to lead the way forward...and also it woulda tested how well everyone's console handles unicode. ;-) )
17:18 pmichaud okay, old master is now 'alpha', 'ng' is now 'master'
17:18 jnthn \o/
17:18 pmichaud re-clone repos :)
17:19 jnthn pmichaud: Need to get a...OK. :-)
17:19 pmichaud I'll send messages to lists.
17:19 arnsholt jnthn: One of the advantages of OS X. It handles all kinds of strange languages with no hassle =D
17:20 jnthn Wow, that cloned fast.
17:21 ash__ Objective-C (what most of OS X is written in) defaults all C strings to UTF-8 when they are used internally, so, it generally handles unicode well
17:23 pmichaud mail sent
17:25 * jnthn is building new master :-)
17:25 frettled \o/
17:25 masak \o/
17:25 * frettled managed to read the mail before looking here, haha
17:26 jnthn So, let's see how many tests we can get back before the Thursday release. :-)
17:26 * colomon is building the new alpha first... got to have something to fall back on for my projects before blowing away the old master.
17:27 arnsholt ash__: Also, OS X has very good font support, which is just as important
17:27 masak dancing &
17:27 jnthn o/
17:28 lue joined #perl6
17:29 pmichaud running 'make spectest' on new master
17:29 frettled However, MacOS X has uck-fupped handling of Unicode in the filesystem code.
17:29 frettled So for interoperability, filenames should stick to US-ASCII.  Darnit.
17:30 jnthn pmichaud: It looks good here, though I blew away my locally applied patch to Parrot from bacek that dealt with the segvs.
17:30 lue O.o a-are you s-s-saying t-that ng... is master now?
17:31 jnthn lue: It is.
17:31 mberends yyyyesss!
17:31 * lue is screaming in 7 base dimensions
17:31 jnthn pmichaud: Time to shuffle some things in the ROADMAP? :-)
17:31 arnsholt frettled: Really? That sure is a bummer
17:32 diakopter pmichaud: what does p6eval need
17:32 lue sigh... do I have to switch to the master branch, or does it all still happen in the ng branch?
17:33 frettled arnsholt: Yep.  Apparently, Apple started using an incomplete Unicode specification way back when, or something like that.  It's all over the interwebs, and although Leopard (or was that Tiger) fixed a bunch of problems, some of the more annoying ones are still there.
17:33 pmichaud jnthn: (ROADMAP)  yes, probably.  I might not get to it until tonight/tomorrow -- but feel free to start shuffling :)
17:33 pmichaud diakopter: I suspect p6eval needs to be told not to grab from ng
17:33 mathw whoa
17:33 mathw ng now master
17:34 mathw it feels like an important day
17:34 colomon yay, alpha seems to work!
17:34 lue amen!
17:34 colomon now to blow away my old master...
17:34 jnthn mathw: The same say I learend what a Tenori-on is, strangely enough. :-)
17:34 mathw That's nowhere near as important
17:34 mathw Unless you want to buy one :)
17:34 jnthn mathw: No, but I had never heard of it. :-)
17:35 * mathw grumbles about Parrot's enormously messy build
17:35 jnthn pmichaud: I'll do some tweaks.
17:35 pmichaud it's also okay to start switching around the #?rakudo skip and todo markers in the spectests
17:36 jnthn We've been doing that for a while already. :-)
17:36 pmichaud we might also want p6eval to be able to pull from alpha and run code from there (for historicak purposes)
17:36 colomon pmichaud: errr, we've been using rakudo for ng skips for about two months now.
17:36 lue so... does I have to slide on over to master?
17:36 pmichaud colomon/jnthn:  okay, shows how far behind I've been :)
17:37 colomon and here jnthn and I thought you were okay with our crazy decision making... when actually you just hadn't noticed!  ;)
17:37 pmichaud yes, I'm okay with it :)
17:38 pmichaud in general it's a forgiveness > permission policy :)
17:38 jnthn pmichaud: We tied master to a particular revision of the Pugs repo for pulling the spectests.
17:38 nwc10 joined #perl6
17:38 jnthn So changes after that only influenced ng :-)
17:38 pmichaud btw, for those chasing down the parrot segfault (e.g., bacek and others) -- I highly recommend the ord_and_chr.t test.  It crashes in the middle of a loop on my system.
17:39 nwc10 github is nicely confused. On http://github.com/rakudo/rakudo/ "history" links to http://github.com/rakudo/rakudo/commits/ng/
17:39 nwc10 On http://github.com/rakudo/rakudo/tree/alpha "history" links to http://github.com/rakudo/rakudo/commits/master/
17:39 lue *sigh* guess I'm a gonna switch to the master branch
17:39 pmichaud github's notion of history may get fixed next time we push a commit to 'master'
17:40 pmichaud (the new one)
17:40 nwc10 ah right
17:40 nwc10 you mean no-one has comitted anything in over 30 minutes?
17:40 nwc10 that's unusual :-)
17:40 pmichaud we need to update the files in docs/ with the ones from alpha
17:40 lue WHAT!!!!! 30 minutes? The Apocalypse of the Camels has started!
17:41 pmichaud (if anyone is looking for something to do :-)
17:41 colomon we can't push changes, we're all too busy rebuilding our systems!
17:41 diakopter p6eval vps rebuilding the bird
17:42 lue how do I switch to master? (the Git beginner strikes again)
17:42 pmichaud lue: easiest is to re-clone the repo
17:42 jnthn pmichaud: A push to master worked.
17:42 jnthn pmichaud: I moved five items to completed that I was very confident we could. :-)
17:42 jnthn They were all priority 1. :-)
17:42 pmichaud in general, though, one switches branches using "git checkout <branch>"
17:42 pmichaud github++
17:43 lue yeah, but a merging err popped up.
17:43 pmichaud lue: right, which is why one needs a fresh clone
17:43 pmichaud lue:  the branch renames will confuse local git checkouts
17:43 lue soo... git clone <something here> ?
17:43 pmichaud git clone http://github.com/rakudo/rakudo.git  # I think
17:44 diakopter git clone git://github.com/rakudo/rakudo.git
17:44 dalek rakudo/master: abc9b2e | jonathan++ | docs/ROADMAP:
17:44 dalek rakudo/master: Move five completed, top-priority ROADMAP items to the completed section, now ng is master. :-)
17:44 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/a​bc9b2e798b4aeb2856938ca99edc836057844f7
17:44 pmichaud what diakopter++ said
17:44 jnthn pmichaud: The top 3 "Large-scale tasks" are I think essentially all done too.
17:44 nwc10 pmichaud: yep, that fixed the history link for master
17:44 nwc10 now someone needs to find a reason to commit to alpha :-)
17:45 pmichaud could update alpha's README :-)
17:45 TimToady now someone needs to turn the masakbot back on
17:45 * mathw feeds Form to ng and gets "Symbol 'TOP' not predeclared in <anonymous>"
17:45 mathw has something changed with grammars?
17:45 pmichaud mathw: they may not be completely enabled yet
17:46 mathw 'may not be'? :)
17:46 pmichaud mathw: I'm quite serious when I say that the ng branch (now master) is far behind where the old one was
17:46 pmichaud mathw: but we expect to catch up soon :)
17:46 mathw \o/
17:46 nwc10 TimToady: he's probably blocking on rt.perl.org. (it's down, so if the masakbot is single threaded and trying to submit a bug report, it will be stalled)
17:47 pmichaud jnthn: I see a few other priority-1 items we can likely mark as done, or do so soon
17:47 diakopter nwc10: I think masakbot is cooperatively multitasking
17:47 jnthn pmichaud: Same, I was being conservative. :-)
17:47 pmichaud jnthn: wfm :)
17:47 nwc10 POE!
17:48 diakopter also, masakbot is male
17:48 pmichaud okay, I need short lunch break, then will come back and keep working on spectests
17:48 pmichaud or things in the issues wiki
17:48 nwc10 well, I was asuming that masak was male. I wasn't sure if masakbot was exactly the same thing.
17:48 diakopter :)
17:48 jnthn pmichaud: Awesome. Given my evening has got a chunk clearer, I may get some more commits in too :-)
17:48 jnthn pmichaud: Though I'm selfishly focusing on finishing my grant tasks. ;-)
17:49 diakopter parrot refused to rebuild after svn up
17:49 diakopter so, starting from fresh
17:50 diakopter smaller fonts are so much easier to read on a non-glossy screen
17:53 nwc10 left #perl6
17:57 diakopter erm
17:57 diakopter perl6.ops:50: warning: request for implicit conversion from âvoid *â to âINTVAL (*)(struct parrot_interp_t *, struct PMC *, struct PMC *, struct PMC *, INTVAL,  struct STRING **)â not permitted in C++
17:58 rgrau joined #perl6
17:58 diakopter I'll be ...surprised... if p6eval has been using gcc-c++ up until now...
18:00 mberends I've been reading those warnings for months, they're not harmful (currently)
18:01 lue CUR_CTX is a very famous unused variable, apparently...
18:05 arnsholt The conversion warning probably comes from -Wimplicit or somesuch
18:05 arnsholt And as it says, it's only illegal in C++. Rakudo is C
18:06 jnthn It's only an issue if people want to compile C code with a C++ compiler. :-)
18:07 * jnthn afk for a little bit
18:07 p6eval joined #perl6
18:07 diakopter rakudo: say $PARROT_VERSION
18:07 p6eval rakudo abc9b2: OUTPUT«Symbol '$PARROT_VERSION' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
18:08 diakopter is abc9b2 the latest?
18:09 mberends it was until 5 seconds ago, just made a trivial commit
18:09 diakopter oh, ok.
18:10 diakopter pmichaud: p6eval updated
18:10 diakopter pmichaud: do you still want nqp available from the evalbot?
18:12 dalek rakudo/master: e778f84 | (Martin Berends)++ | docs/compiler_overview.pod:
18:12 dalek rakudo/master: [docs/compiler_overview.pod] any excuse for a commit to the new master branch formerly known as ng
18:12 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/e​778f84ad6b3e8d1f6bb60f90a86987b7ccc790c
18:14 Guest80169 joined #perl6
18:35 bartolin joined #perl6
18:42 * jnthn back
18:42 lue rakudo is taking FOREVER to compile (G3 computer *grumble*)
18:48 rabbit64 joined #perl6
18:54 lisppaste3 uniejo pasted "Copy announcements from alpha" at http://paste.lisp.org/display/94946
18:55 uniejo Can someone apply the above?
18:59 mberends will do
19:00 uniejo Thanks.
19:01 mssm joined #perl6
19:03 wolf2k_ubuntu joined #perl6
19:09 dalek rakudo/master: 4afc080 | (Martin Berends)++ | docs/announce/20 (3 files):
19:09 dalek rakudo/master: [docs/announce] restore the Lisbon #23 Seoul #24 and Minneapolis #25 announcements, uniejo++ for notifying
19:09 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/4​afc080ffadb8d0ea3d7461899b7c145b10193a4
19:12 wolf2k_ubuntu ...forgot I auto joined this room. how's the perl 6 development coming along?
19:12 colomon wolf2k_ubuntu: ng just became master
19:12 colomon \o/
19:13 wolf2k_ubuntu the famous ng branch has grown up, huh?
19:13 wolf2k_ubuntu what's the old master now called? og?
19:13 colomon alpha
19:14 wolf2k_ubuntu I wonder if I still have my feather account...maybe some of the code I tried to make work earlier works now
19:14 colomon probably not, ng is still behind where master was in terms of completeness.
19:14 colomon I mean, master is still behind where alpha was!
19:15 colomon but it has laziness and some other funky stuff like that .
19:15 pmichaud and it's a fair bit easier to (re)add features
19:15 colomon pmichaud++ # that's the truth
19:16 colomon pmichaud: what would it take to get @array.map: { blah } working?
19:16 pmichaud does .map currently work at all?
19:16 colomon ummm....
19:16 jnthn Believe so.
19:16 pmichaud rakudo:  my @a = 5..10;  say @array.map({$_ / 2});
19:16 p6eval rakudo e778f8: OUTPUT«Symbol '@array' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
19:16 colomon yes
19:16 pmichaud rakudo:  my @a = 5..10;  say @a.map({$_ / 2});
19:17 p6eval rakudo e778f8:  ( no output )
19:17 colomon and I'm not especially interested in map, just in the general colon form.
19:17 pmichaud right
19:17 pmichaud I'll look.
19:17 jnthn rakudo: (1,2,3).map({ .say }).eager;
19:17 p6eval rakudo e778f8:  ( no output )
19:17 pmichaud I don't think that .say is implemented yet
19:17 pmichaud (w/o invocant)
19:17 jnthn rakudo: my $_ = 42; .say;
19:17 p6eval rakudo e778f8: OUTPUT«Redeclaration of symbol $_ at line 10, near " = 42; .sa"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:18 jnthn rakudo: $_ = 42; .say;
19:18 colomon no, it works fine locally.
19:18 pmichaud okay
19:18 colomon rakudo: (1..10).map({ .say }).eager
19:18 jnthn Yeah, I'm sure I'd put the .foo form back.
19:18 mssm joined #perl6
19:18 p6eval rakudo e778f8:  ( no output )
19:18 p6eval rakudo e778f8:  ( no output )
19:18 colomon p6eval must be having issues.
19:18 pmichaud all of those "no outputs" are troubling.  Wonder if p6eval is still trying to "use Safe" (or equivalent)
19:19 pmichaud we could probably borrow Safe.pm from master (and comment out any pieces that aren't yet working)
19:19 pmichaud s/master/alpha/  :-)
19:20 jnthn How long until we get used to that one. :-)
19:20 pmichaud oh, probably just a day or so :)
19:20 colomon jnthn: tuesday.
19:20 jnthn Another useful thing, if anyone fancies taking it on, would be to have .sort back
19:21 jnthn Lots of tests to do with hashes use .sort
19:21 pmichaud oh, I can work on .sort again, now that we have slices
19:21 jnthn Amongst other tests.
19:21 jnthn So it could give some collateral wins, as well as direct ones.
19:22 pmichaud colomon: locally I get
19:22 pmichaud > my @a = <a b c>;  (@a.map: {.say}).eager;
19:22 pmichaud a
19:22 pmichaud b
19:22 pmichaud c
19:22 pmichaud so it looks to me like the colon form works already.
19:26 colomon pmichaud: huh.  same here.  sorry for sending you on a wild goose chase.
19:26 pmichaud We still need to get sink context implemented, I guess.
19:26 pmichaud I'm not entirely looking forward to that one :-|
19:28 colomon I'd be interested in trying to get the [op] metaop working, but I have no idea where to start on the grammar
19:28 pmichaud yes, the grammar is pretty tricky on that one.
19:28 jnthn colomon: I still had the colon form as todo in my mind as well. :-)
19:29 colomon I looked at STD.pm for it and got scared off.
19:29 jnthn colomon: I tried the grammar on that one, and...well...it's tricky.
19:29 jnthn I got it to parse at one point, but then it got back to TOP and complained it couldn't reduce or something. :-)
19:29 nihiliad joined #perl6
19:30 colomon jnthn: I was looking at a test where the grammar is blowing up, and it was a colon form...
19:30 lichtkind joined #perl6
19:30 TimToady joined #perl6
19:30 colomon is (@array.min: { $^a <=> $^b }), -9,
19:30 colomon "method form of min with identity comparison block works";
19:31 lichtkind mberends: hello infidel
19:31 colomon Unable to parse blockoid, couldn't find final '}' at line in the second line of that
19:31 * jnthn -> nom nom nom
19:32 colomon rakudo: say 1 <=> 2;
19:32 p6eval rakudo e778f8: OUTPUT«Confused at line 10, near "say 1 <=> "␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:32 pmichaud rakudo:  say (1 <=> 2);
19:32 p6eval rakudo e778f8: OUTPUT«Confused at line 10, near "say (1 <=>"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
19:32 pmichaud looks like a problem with <=>
19:32 colomon oh, maybe that's the problem
19:33 pmichaud doesn't appear in Grammar.pm
19:33 Helios joined #perl6
19:33 colomon I can get that one
19:33 colomon I think
19:33 pmichaud certainly worth a shot :)
19:33 colomon thought at the moment I need to read thomas the tank engine
19:34 diakopter lotsa irc lag; odd
19:34 diakopter pmichaud: do you still want nqp available from the evalbot?
19:34 diakopter joined #perl6
19:34 pmichaud diakopter: yes, I'd like to keep nqp around
19:35 diakopter pmichaud: how do you want the use Safe; repaired
19:35 pmichaud maybe turn it off for now, until we have it working in master again?
19:35 ascent_ joined #perl6
19:35 diakopter I must admit, I'm afraid of abuse/sabotage
19:36 pmichaud I don't know if we have any of .run implemented in current master, though
19:36 diakopter oh
19:36 colomon could we keep ng as a synonym for rakudo?
19:37 pmichaud okay with me :)
19:37 pmichaud but I'm not the p6eval maintainer :)
19:41 p6eval joined #perl6
19:43 diakopter rakudo: my @a = <a b c>;  (@a.map: {.say}).eager;
19:43 p6eval rakudo 4afc08:  ( no output )
19:44 pmichaud http://nopaste.snit.ch/19619  #  why does this say infix:<cmp>  twice?
19:44 diakopter my @a = <a b c>;  (@a.map: {.say}).eager;
19:45 pmichaud hmmm, I wonder if Perl6MultiSub is flattening.
19:45 diakopter rakudo: my @a = <a b c>;  (@a.map: {.say}).eager;
19:45 p6eval rakudo 4afc08:  ( no output )
19:45 colomon pmichaud: could the REPL be calling it too?
19:45 pmichaud colomon: I didn't use the REPL
19:45 colomon pmichaud: good point.
19:46 colomon hey, <=> was already implemented, it just wasn't in the grammar
19:47 colomon I'll have it pushed in as soon as I can spectest
19:48 pmichaud (have to get approval from Sir Topham Hatt, first?  ;-)
19:49 colomon pmichaud: I don't think he appears in the (appallingly bad) TtTE books we have.  :)
19:49 pmichaud aka "the fat controller"
19:49 pmichaud which sounds a lot like a new dietary product :)
19:49 pmichaud http://en.wikipedia.org/wiki/The_Fat_Controller
19:50 jnthn Thomas the Tank Engine!! :-D
19:51 colomon We don't have the real books, we have a set of board books which appear to have been written by... metaphors fail me.  The rhythms of the books are all wrong to read, the rhymes are lame, and the plots dire.
19:51 colomon and of course Henry wants us to read them over and over.
19:52 colomon :)
19:52 pmichaud we have a -ton- of TtTE track and railway cars here :)
19:52 pmichaud (wooden set)
19:52 pmichaud I figured out my issue in #19619
19:52 colomon we've got a small set, 15 pieces of track, I believe.
19:52 rindolf joined #perl6
19:52 pmichaud (yes, it was flattening)
19:53 pmurias joined #perl6
19:54 * jnthn built a fairly sizable non-TtTE model railway as a kid. :-)
19:55 pmichaud I built one as an adult :)  Still have the track and components, but had to take it apart for various moves
19:55 pmichaud basically it was several 3'x4' platforms that could bold together to make a large set :)
19:55 colomon I've loved model trains since about age 4, but haven't had a set since college.
19:55 colomon either didn't have the room or didn't have the time.
19:56 dalek rakudo/master: b96c6ef | (Solomon Foster)++ | src/Perl6/Grammar.pm:
19:56 dalek rakudo/master: Add <=> to the grammar.
19:56 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/b​96c6ef648486407f4c3aaf2cd63d506e792d9c4
19:56 jnthn I've wanted to make one again, but it doesn't go well with a lifestyle that involves moving around a lot.
19:56 jnthn So I've satisfied myself by trying to do long journeys on real trains instead. :-)
19:57 colomon I keep trying to figure out how to take the train to Newfoundland.  But apparently it costs as much as flying.  :(
19:58 pmichaud sounds easy, then.
19:58 pmichaud the hard part is taking the train to Newfoundland w/o spending a lot of money :)
19:58 lue joined #perl6
19:58 pmichaud ugh, my scalar fix apparently creates an infinite loop somewhere
19:59 colomon well, and you can't actually take the train through Newfoundland.  Canada told them they could only afford a cross-island highway or a railroad, and they went for the highway.
19:59 jnthn I've often found cases where the train costs >= flying.
20:00 colomon so you'd pay as much as flying, get there slowly, then have to rent a car, take the ferry, and drive across the island.  And driving across the island takes longer than flying there from Toronto.
20:00 jnthn I don't really enjoy flying though, and if there's an overnight train, it means I've got the day to do stuff.
20:01 jnthn colomon: Yeah, trains don't work out well if you get to the other end and there's not good public transport from thta point on.
20:01 jnthn That's one of the things Europe tends to do well at.
20:02 pugs_svn r29727 | colomon++ | [t/spec] Fudge out tests for [min] and [max].
20:08 colomon Hmmm... given multi method min($by = &infix:<cmp>)
20:08 colomon > say (1, 3, -1).min
20:08 colomon Null PMC access in find_method('Scalar')
20:08 colomon > say (1, 3, -1).min({ $^a cmp $^b})
20:08 colomon -1
20:08 colomon any idea why &infix:<cmp> doesn't work?
20:09 jnthn I seem to remember that not working in master either...
20:09 pmichaud doesn't know how to parse it
20:09 pmichaud afk, gotta chase an escaped dog
20:09 colomon pmichaud: good luck!
20:09 colomon trying multi method min($by = { $^a cmp $^b}) now
20:10 * colomon cannot wait until they have a dog again...
20:10 * jnthn queues up "Who let the dogs out" on his mp3 player
20:11 frettled «woof, bloody woof»
20:16 lichtkind party music
20:21 jnthn Mention a party. Get an op.
20:24 mberends pmichaud: rakudo new master does have a run(Str) that returns an Int status. 'use Safe' probably doesn't work only because there is no PERL6LIB equivalent yet.
20:25 diakopter p6eval wasn't doing use Safe;
20:25 diakopter it was prepending the irc input with the contents of Safe.pm
20:26 jnthn oh!
20:26 diakopter and now it's not even doing that
20:26 frettled You know you're talking to a computer nerd when the word "prepend" crops up. :)
20:26 mberends oh, interesting way to do it. some resourceful guys around here :)
20:27 Tene frettled: what other word has the same meaning?
20:27 mberends frettled: it takes one to know one
20:27 diakopter had to do that b/c 'use Safe;' wouldn't work at all when fed from stdin
20:27 frettled Tene: append
20:27 diakopter wiktionary says 'prefix' is more proper
20:27 frettled Tene: that is, "prepend" is a bastardisation of "append" and "prefix"
20:27 Tene frettled: I'd expect that presence in #perl6 is a bigger indicator. :)
20:27 frettled Tene: yet we don't say "sufpend"
20:28 frettled mberends: damn straight :D
20:28 Tene frettled: speak for yourself. ;)
20:28 diakopter oops, not wiktionary, another.
20:28 frettled diakopter: you can append both to either end of something ;)
20:28 Tene .ety append
20:28 phenny "1640s, 'to hang on, attach as a pendant,' from L. appendere 'to cause to hang (from something), weigh,' from ad- 'to' + pendere 'hang' (see pendant)." - http://etymonline.com/?term=append
20:29 frettled But "prepend" gives a rather unique specific meaning in certain parts of computing.
20:30 frettled "Prepend" is one of my favourite words.
20:30 dalek rakudo/master: ac581a1 | (Solomon Foster)++ | src/core/Any-list.pm:
20:30 dalek rakudo/master: Add $by argument to Any.min and Any.max.
20:30 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/a​c581a137ecf45b0c9a1b12dec8616a083404e02
20:30 spinclad prepend: hang before. append: hang on. su_s_pend: hang under.
20:30 spinclad all good forms.
20:30 frettled spinclad: "prepend" was first defined in the Jargon file, IIRC :)
20:31 spinclad sure, but well formed with good precedents
20:32 frettled that's debatable, but it's still a cool word.
20:32 spinclad (postpend for specifically after)
20:32 * frettled will suggest a new word: pretatch
20:33 spinclad (but append seems good enough for that already)
20:33 pmichaud back
20:33 spinclad why, yes, i'm a compnerd, why do you ask?
20:33 jnthn pmichaud: Mit hund? :-)
20:34 pmichaud yes
20:34 jnthn \o/
20:34 pmichaud she was about 4-5 blocks over from our house
20:34 jnthn !!
20:34 spinclad jailbreak!
20:35 jnthn My family's dog got out once, but instead of just doing a generic running off followed the route of one of the walks she's usually taken on. :-)
20:35 mberends jnthn: dein Deutsch ist wunderbar!
20:36 pmichaud well, we take a lot of different routes in our neighborhood :)
20:36 rindolf left #perl6
20:36 jnthn The funny part was after trying to go around the village finding her, she finished her walk and was sat by the door wating to be let back in. :-)
20:36 pmichaud I suspect the dog would've successfully made it back to our house -- she's quite intelligent -- but we've never tested that before.
20:37 pmichaud okay, back to scalar hell.
20:37 snearch_ joined #perl6
20:38 pmichaud I'm convinced that I'm missing something truly obvious or fundamental about how scalars and flattening and assignment are supposed to work in Perl 6.
20:38 jnthn pmichaud: What did you do that triggered the infinite loop, out of curiosity?
20:39 pmichaud currently in assignment, if we have an object that doesn't know how to !FETCH, we create an ObjectRef to it
20:39 pmichaud I switched that to create a Perl6Scalar to it
20:39 pmichaud under the theory that most objects shouldn't flatten
20:39 pmichaud (and Perl6Scalar suppresses flattening)
20:40 jnthn Ah, so just s/ObjectRef/Perl6Scalar/?
20:40 pmichaud in Mu!STORE, yes.
20:40 jnthn That's...odd given one is just a simple subclass of the other.
20:40 pmichaud well, we no longer have a 'flatten' flag, we now check for Perl6Scalar and/or Iterator
20:40 pmichaud *Iterable
20:41 pmichaud Perl6Scalar never flattens; anything else flattens if it does Iterable
20:41 jnthn Ah, yes...I remember now.
20:41 jnthn What's the scalar property for?
20:41 pmichaud I was going to use it as the reverse flag, but so far I've pretty much decided that "isa Perl6Scalar" does the trick for now
20:41 jnthn OK, so in Actions.pm is this legacy:
20:41 jnthn # If it's a scalar, mark it as scalar (non-flattening)
20:41 jnthn if $sigil eq '$' {
20:41 jnthn $vivipast := PAST::Op.new($vivipast,'scala​r',$true,:pirop('setprop'));
20:41 jnthn }
20:41 jnthn ?
20:41 pmichaud at the moment, yes.
20:42 mssm joined #perl6
20:43 pmichaud so, I have to figure out the difference(s) between
20:43 pmichaud $a = 4
20:43 pmichaud $a = $b
20:43 pmichaud $a = [1,2,3]
20:43 pmichaud $a = @c
20:44 bacek joined #perl6
20:46 pmichaud I'm fairly sure TimToady++ would say that it's all tied up with .WHICH processing... but I don't quite follow that either.
20:47 * diakopter is about 2 years away from following today's conversation
20:47 jnthn Well
20:47 jnthn .WHICH is what gives us an idea about value or reference semantics.
20:48 pmichaud perhaps indirectly
20:48 jnthn But I don't see how it relates to assignment.
20:48 jnthn I mean, we shouldn't (even if it made sense) be going calling .WHICH to see what it does on every assignment.
20:49 jnthn I don't think it makes sense though. :-/
20:49 pmichaud that's been my assumption, yes (that we don't call .WHICH on every assignment)
20:50 jnthn At one point, I think we relied on a .item or .Scalar method to give us back the assignable thingy.
20:50 pmichaud it's now !FETCH
20:50 jnthn Right.
20:51 pmichaud but many things don't have !FETCH
20:51 pmichaud so there's a default
20:51 pmichaud and that default should probably be "act like a scalar"
20:51 pmichaud thus, Perl6Scalar->
20:51 * jnthn wonders if that's where the mutable/immutable difference should be made.
20:52 pmichaud to some extent, yes.
20:52 jnthn pmichaud: How did you get the infinite loop?
20:52 jnthn pmichaud: I s/ObjectRef/Perl6Scalar/ in Mu!STORE
20:52 pmichaud I didn't look too deeply, but essentially the problem is that we end up with some reference assignments instead of value assignments
20:53 pmichaud so, you can see the problem with a simple:    say ~(4..7)
20:53 jnthn > say ~(4..7)
20:53 jnthn 8 8 8 8
20:53 jnthn ouch.
20:54 pmichaud so, I'm certain that the problem there is that we have   deobjectref  in Mu!STORE that needs to somehow be able to dereference a Scalar
20:54 pmichaud i.e., in the case   $a = $b
20:55 pmichaud or... I don't know.  I'm so confused about it these days because of all of the different false starts we've made :-|
20:55 jnthn I'm not sure whether we should be putting things in the default !FETCH into an ObjectRef or Perl6Scalar though? Or is that just to ensure we don't try to flatten it?
20:55 jnthn (I'm still trying to catch up on the model the latest implementation has, sorry...)
20:56 pmichaud I'm not sure it has a succinct model at this point.  That's part of what bugs me.
20:56 pmichaud Something is fundamentally missing from our "model"
20:56 pmichaud let's consider some cases
20:57 pmichaud sub foo($b) { say $b; };    foo(<a b c>);    # should $b flatten?
20:57 jnthn No, because it's in a scalar.
20:57 pmichaud I'm pretty sure the answer is "no, it doesn't flatten".
20:57 jnthn afaict, it goes very heavily on the sigil.
20:57 pmichaud But *is* it in a scalar?  I think our current binding semantics create a ObjectRef
20:59 jnthn Right, they do.
20:59 pmichaud so, as things stand now, master would likely flatten $b  (wrong)
20:59 pmichaud because $b isn't a Perl6Scalar
20:59 bkeeler joined #perl6
21:00 pmichaud so, here's another case
21:00 pmichaud sub bar(@a) { say @a; };   my $b = <a b c>;  bar($b);   # should @a flatten?
21:01 jnthn (On the last one, I kinda wonder if it's putting the <a b c> in item context that causes it to be in a Perl6Scalar, rather than something to do with the binding mechanism.)
21:01 pmichaud I'm not sure it's in item context, though.
21:01 s1n pmichaud: that first snippet says: Too many positional parameters passed; got 3 but expected 1
21:01 jnthn Oh, that's another annoying buglet.
21:02 s1n so it passed unflattened, but expected flattened
21:02 pmichaud my $b := <a b c> ;    # I'm not sure there's an item context here
21:02 jnthn <a b c> currently makes an &infix:<,> which foo(...) then treats as an argument list of 3 items...I ran into that the other day. :-/
21:03 jnthn pmichaud: Good question - the thing is that since that's binding, I'd expect it to have the same semantics as when we bind in a signautre. :-/
21:03 s1n pmichaud: := isn't implemented, and = gives null pmc
21:03 pmichaud jnthn: correct
21:03 pmichaud s1n: I'm speaking hypothetically here, not anything that's implemented.  I *know* the implementation is wrong, thus the discussion.
21:03 s1n pmichaud: okay, just checking with the re(p)l
21:04 jnthn pmichaud: My takeaway from the discussions has very much been "if it has an @ it flattens in flattening context, if it has a $ it doesn't" though.
21:04 s1n hmm: my $b = (a b c); #could not find existent sub &c
21:04 jnthn s1n: That's correct.
21:05 pmichaud jnthn: I think that's not quite complete, though.
21:05 s1n jnthn: oh?
21:05 pmichaud Clearly if it has a $ it doesn't flatten.
21:05 pmichaud but    my @a = 1, 2, foo(), 3;   # does foo() flatten?
21:05 pmichaud there's no sigil there.
21:06 s1n if i define @b and print $b, it says $b isn't defined
21:06 pmichaud it seems to me that most things flatten  (parcels, ranges, arrays, hashes),  and scalars are kind of the exception
21:06 jnthn pmichaud: IIUC, it does but here's why...
21:07 jnthn ...you end up with a parcel containing annother parcel which is what foo() returned, and then the context imposed by the assignment to @a is what causes it to flatten.
21:07 pmichaud my point is simply that I agree with the "$ doesn't flatten" part of your statement
21:07 jnthn That is, (1, 2, foo(), 3) is just a parcel.
21:08 pmichaud but I don't necessarily agree with the "@ is needed to flatten" part.
21:08 jnthn I didn't mean "@ is needed", just that "if it has an @ it will"
21:08 pmichaud all of which is stuff I pretty well follow -- that's not the problem
21:09 spinclad s1n: that's also correct. ($b not defined)
21:10 jnthn pmichaud: Wait, by "@" is needed, do you mean "only things with an @ will flatten ever" or "@ always implies flattening"?
21:10 spinclad and (a b c) is (a(b(c))), so &a, &b, &c are all expected defined.
21:10 pmichaud jnthn: I'm saying that the default is flattening, and $ suppresses that.
21:10 pmichaud I'm saying that @ isn't special beyond the default.
21:11 jnthn Ah, OK.
21:11 pmichaud the problem I'm having is figuring out what our PMCs need to look like for all of this
21:11 jnthn But then that implies that in
21:11 jnthn sub foo(@x) { }; my $y = <1 2 3>; foo($y)
21:12 jnthn Something needs to "restore the default" as it were.
21:12 pmichaud well, I'm fine if every container (i.e. variable) keeps track of whether it's a $ or not
21:12 justatheory joined #perl6
21:12 pmichaud if so, it's a property of the container, and only the container -- we can't use isa checks if that's the case.  (and that's okay)
21:13 spinclad foo(|$y) should flatten, foo($y) should not?
21:13 pmichaud so in the case of
21:13 pmichaud sub foo(@x) { say @x; };  my $y = <1 2 3>;  foo($y)
21:13 jnthn spinclad: That's maybe a different kinda flattening than what we're discussing here; I'm not sure quite how related the problems are right now.
21:14 pmichaud we see that @x is a flattening container, even though that container is bound to $y (which wouldn't flatten)
21:14 pmichaud simpler is probably to imagine it as
21:14 pmichaud my $y = <1 2 3>;   my @x := $y;   say @x;
21:14 jnthn In that case though, I'm quite sure that we _do_ enforce list context.
21:15 spinclad sure, carry on.  if it's related it'll still be there.
21:15 pmichaud or better still
21:15 pmichaud my $y = <1 2 3>;   my @x := $y;   say $y; say @x;
21:15 pmichaud the first gives "1 2 3", the second gives "123"
21:16 pmichaud (the first 'say' gives ...  the second 'say' gives ...)
21:16 jnthn I slightly prefer an example of
21:16 jnthn my $y = <1 2 3>;   my @x := $y;   .say for $y; .say for @x;
21:16 pmichaud okay, I'm convinced that flattening/non-flattening has to be a property of the container.
21:17 jnthn The first giving one line of output, the second giving three lines.
21:17 pmichaud and can't be done with an 'isa' check.
21:18 jnthn Hmm
21:18 jnthn It can't be about the type of the container?
21:18 pmichaud do you mean sigil?
21:18 jnthn No, I mean type.
21:18 pmichaud if so, I'm confused.
21:18 jnthn But I guess not.
21:19 pmichaud in the case of  my $y = <1 2 3>;  my @x := $y;    both @x and $y have the same "type"
21:19 jnthn Yes, you're right.
21:19 jnthn They should also reference the same thing but they can't actually *be* the same thing.
21:19 pmichaud well, @x is allowed to place additional constraints, but in the notion of ".ACCEPTS" we'd have to say they're of the same type
21:20 jnthn That's what's hurting my branes here.
21:20 spinclad the same type as containers?  i see they have the same contents
21:20 pmichaud right, @x is going to be an ObjectRef to $y
21:20 pmichaud right now, binding means "create ObjectRef"
21:20 pmichaud and the ObjectRef PMC itself is allowed to have properties that are different (and sometimes derived from) the thing it's bound to
21:20 jnthn OK, that sounds workable.
21:21 pmichaud 'rw' being one of the obvious ones :)
21:21 jnthn *nod*
21:21 pmichaud and (in my model at least)   &infix:<:=> is just a way to put an ObjectRef into a container
21:22 pmichaud thus   @x := $y    internally does the binding check ($y ~~ Positional)  and then sets an ObjectRef
21:22 jnthn And the other way around?
21:22 jnthn $x := @y;
21:22 jnthn An ObjectRef with a "this is a scalar, don't flatten me" property set?
21:22 pmichaud same thing, but with untyped scalar containers there's no check needed
21:23 pmichaud right, the "don't flatten me" is a property of scalar declarations
21:23 jnthn OK.
21:23 jnthn I *think* I follow.
21:23 pmichaud but unlike alpha and other things in Parrot, a "binding" is never actually changing the symbol table, it's creating an ObjectRef
21:23 pmichaud i.e., once we establish a PMC for a given symbol, it remains that always.  If we need to rebind the symbol, we do so via ObjectRef
21:24 jnthn That means we don't have to mess around checking symbol tables time and time again?
21:24 spinclad so the 'don't flatten me' is not on the ObjectRef but on the $ container?
21:24 jnthn And have a vague chance of being efficient?
21:24 pmichaud well, I think it's the only way we can get the correct binding semantics.
21:24 pmichaud but yes, we don't have to check tables all over the place.
21:24 jnthn Sounds like an overall win.
21:24 pmichaud spinclad: the $ container will often be an ObjectRef.
21:25 pmichaud (but it doesn't have to be.)
21:25 spinclad (still thinking $ means P6Scalar container)
21:25 pmichaud right.  I'm thinking Perl6Scalar might go away.  Or be named something else.
21:26 pmichaud traditionally, Perl6Scalar has been the way that I deal with bracketed arrays
21:26 pmichaud i.e., for
21:26 pmichaud my @a = [1,2,3];
21:26 pmichaud the [1,2,3]  part has to be a non-flattening object
21:26 pmichaud so perhaps it's just an ObjectRef with the "scalar" property set.
21:27 spinclad (Seqs don't flatten there, Parcels do?)
21:27 pmichaud Seqs flatten, yes.
21:27 pmichaud but [1,2,3]  is a scalar Array
21:27 * spinclad confused
21:27 pmichaud square brackets don't flatten in list context
21:28 pmichaud perhaps it's easier to see with
21:28 pmichaud my @a = 1, <a b c>, 2;   #  5 elements
21:28 spinclad yes
21:28 pmichaud my @b = 1, [<a b c>], 2;   # 3 elements
21:28 spinclad yes
21:28 pmichaud my @a = 1,2,3;   # 3 elements
21:29 spinclad my @b = 1, (<a b c>), 2  # 5 elements?
21:29 pmichaud my @b = [1,2,3];   # 1 element -- an array of arrays
21:29 pmichaud yes, 5 elements in your example.
21:29 spinclad (parcel flattens away)
21:29 pmichaud parcels flatten, arrays flatten, but scalars (including scalar arrays) don't.
21:30 spinclad ok, scalar array says it well to me
21:30 payload joined #perl6
21:31 pmichaud although I'm curious about
21:31 pmichaud my @b = 1, Array.new(<a b c>), 2;   # how many elements?
21:31 jnthn Good one. :-)
21:32 * spinclad could see it both ways
21:32 pmichaud and
21:32 pmichaud my @b = 1, Array(<a b c>), 2;   # how many elements?
21:32 jnthn I'd expect the same answer to both of those, whichever way it goes.
21:32 pmichaud well, I'd expect the second to flatten.
21:33 spinclad my @b = 1, <a b c>.Array, 2;   # how many? same as Array(<a b c>)?
21:33 spinclad (not sure it's relevant)
21:33 pmichaud okay, so I need to go back and get rid of the existing Perl6Scalar nonsense and replace it with a 'scalar' property
21:34 pmichaud which means the jnthn++ asked about earlier isn't a fossil :)
21:34 pmichaud *the code
21:34 jnthn I'm glad to know I'm not a fossil too, though. :-P
21:35 spinclad (and |$foo unwraps the scalarr property, perhaps)
21:35 pmichaud |$foo actually does a bit more than that, even, but yes.
21:36 jnthn I'm still working out how to do |$foo :-)
21:37 pmichaud so, in the context of   my $a = [<a b c>];   my $b = $a;    ....
21:37 * pmichaud thinks
21:39 pmichaud I almost want deobjectref and descalarref to be property based instead of type based.
21:40 pmichaud deobjectref -- follow value until we find a container with 'scalar' set
21:40 pmichaud descalarref -- follow value until we reach something not ObjectRef
21:41 spinclad (those sound reversed)
21:41 pmichaud spinclad: yes, it's hard to get names that aren't confusing.  the idea is that deobjectref dereferences objectrefs but not scalars
21:41 pmichaud while descalarref dereferences scalars also
21:42 jnthn That's pretty much what they've menat up until now, just with a different mechanism.
21:42 pmichaud right
21:42 pmichaud the existing ones are type-based,  but I'm thinking Perl6Scalar is a mistake
21:42 pmichaud so it would need to be property based
21:43 pmichaud which is fine (and likely much cheaper)
21:44 jnthn Just going to do it as a getprop/setprop type property for now?
21:45 pmichaud yes.
21:45 pmichaud I'm still having to figure out how to handle
21:45 pmichaud $a = 4
21:45 pmichaud $b = [1, 2]
21:45 pmichaud $c = $a
21:45 pmichaud $c = $b
21:45 bacek joined #perl6
21:46 mathw well that's obvious - just remove untyped variables
21:46 mathw :P
21:46 pmichaud i.e., value versus reference semantics in assignment
21:46 pmichaud for $c = $a, $c needs to be a copy of $a's value
21:46 pmichaud for $c = $b, $c is a copy of $b's value.... but $b's value is an ObjectRef
21:47 mathw do ObjectRefs have sane copy behaviour?
21:47 spinclad $b[0] = $a; say $c[0];   # 1 or 4?
21:47 pmichaud 4
21:47 spinclad good
21:47 pmichaud $c = $b means they both refer to the same array.
21:48 spinclad good, that stays (relatively) simple
21:49 mathw if you said @c = $b, would @c get a copy of the array $b points to?
21:49 pmichaud no, @c would have one element
21:50 mathw good
21:50 mathw I was hoping that would be the case
21:50 pmichaud (that one element being an Array)
21:50 mathw excellent
21:51 mathw that puts me in a happy mood for bed
21:51 mathw o/
21:51 jnthn night, mathw o/
21:51 spinclad @c = |$b; $b[0] = $a; say @c[0];   # 1, @c has copies of $b's elements, not $b itself ?
21:52 spinclad mathw, \o
21:52 spinclad (again with the |! what is this?!)
21:53 jnthn I'm not sure how much sense it makes there.
21:53 jnthn You normally use it in calls, to make an array count as a bunch of parameters, or some such.
21:53 * spinclad felt it was a stretch, too
21:56 pmichaud yes, more typical would be   @c = @$b
21:57 pmichaud so, I'm still left with figuring how to handle the difference between $c = $a and $c = $b above
21:57 pmichaud specifically handling the dereferencing semantics :-(
21:57 jnthn pmichaud: If you don't wrap things in a !FETCH up...
21:57 jnthn ...actually, wait, that won't work.
21:57 jnthn :-|
21:57 pmichaud well, I might be able to make !FETCH work, if it does descalarref
21:58 jnthn I was going to say "can you go on 'it doesn't have an objectref'"...
21:58 pmichaud then everything else is a normal deref
21:58 pmichaud my $a = 4;  my $b := 4;  my $c = $b;
21:58 jnthn It feels like it's a decision that belongs with a type though.
21:58 pmichaud oops
21:58 pmichaud my $a = 4;  my $b := $a;  my $c = $b;
21:58 jnthn Yes, I realized it wouldn't work. :-)
21:59 cj joined #perl6
21:59 jnthn Maybe our immutable types do some Immutable role, which has a !FETCH that descalarrefs.
21:59 pmichaud or simpler is to just put !FETCH in them directly
22:00 pmichaud there aren't many of those
22:00 jnthn Well, I was thinking of DRY
22:00 jnthn But yes, that's true.
22:00 jnthn Maybe better not to over-engineer it.
22:00 pmichaud and it's not just "immutable types" -- some immutables still want to have references instead of value copies
22:00 jnthn Yeah, immutable is the wrong word.
22:00 jnthn ValueType woulda been a betterone.
22:00 pmichaud e.g., Range is immutable but it's still better as reference copies than copying the PMC
22:01 jnthn Right.
22:01 pmichaud it's really only Int/Num/Str that want to make copies.  Although I'm not sure about Complex.
22:01 jnthn Rat?
22:01 pmichaud yeah, Rat too.
22:01 jnthn It is quite few though.
22:01 spinclad Numeric/Stringy
22:01 pmichaud my $a = 3/4;  my $b = $a;  $a++;  say $b
22:01 bacek jnthn, r43956 in parrot/trunk.
22:02 bacek it's proper (fsvo) fix for compact_pool crash
22:02 pmichaud bacek++
22:02 jnthn bacek: ooh, good find.
22:03 jnthn bacek++
22:03 jnthn bacek: Thanks for that; I'll try it and bump.
22:03 pmichaud I asked the question once before on p6l about distinguishing value types from reference types and didn't get a satisfactory answer.
22:04 jnthn Yeah, I haven't seen a good one yet either.
22:04 pmichaud here's the way to phrase it, I think.
22:04 pmichaud my $a = Rat.new(3,4);  my $b = $a;  $a++;   say $b;
22:05 pmichaud my $c = Foo.new(3,4);  my $d = $c;  $c.mutate;   say $d;
22:05 pmichaud in the first case, I think we agree that $b is unchanged by $a++
22:05 spinclad # Foo: insufficient clue
22:05 pmichaud in the second case, I think we agree and $c and $d reference the same object
22:06 pmichaud unless, of course, we think that $a++ is really the same as  $a = $a.succ;
22:06 pmichaud In that case I guess we're okay, because we're not really mutating the original $a, but rather creating a new one and assigning it to $a
22:06 pmichaud (leaving $b referencing the original $a)
22:07 spinclad and likewise $c.=mutate would leave $d unchanged
22:08 jnthn spinclad: Not if Foo is just Any Old Class.
22:08 pmichaud well, if .mutate doesn't affect the invocant
22:08 pmichaud I'm presuming that .mutate means "changes the invocant"
22:08 jnthn Well, yeah. I was assuming mutate did. :)
22:08 pmichaud and the difference with $a++ is that it leaves the original invocant unchanged
22:08 jnthn Right.
22:08 pmichaud that might work.
22:08 pmichaud I'll have to think about that a bit.
22:09 bacek jnthn, can you close trac ticket after test?
22:09 jnthn I mean, that's the desired semantics. It seems clear enough that it's a decisoin to be made by an individual type too.
22:09 jnthn bacek: aye.
22:09 pmichaud well, it would mean that all of our objects are really "reference types", and there's no such thing as "value assignment"
22:09 jnthn Hmm, yes.
22:10 jnthn I guess it's because all of the things that we want to have value semantics for are immutable.
22:10 pmichaud right
22:11 pmichaud that's a good way of saying it.
22:11 pmichaud it's not that all immutables want to have "value" semantics, but all of the things that we'd want to have value semantics are immutable
22:11 jnthn Yes.
22:11 pmichaud that kind of argues for "every container is an ObjectRef", also.
22:12 * jnthn feels like we might be getting towards a model that's gonna fly.
22:12 pmichaud including elements of arrays would be ObjectRef.  and assignment is just doing the appropriate set_ref
22:12 jnthn Sounds like we get to avoid a *lot* of copying.
22:12 pmichaud and cloning :)
22:12 jnthn (compared to the amount we did in alpha)
22:13 pmichaud we do end up with the case of aggregates requiring two pmcs per element
22:13 jnthn In terms of cost/benefit though, I think we'll come out ahead.
22:14 pmichaud yes, perhaps so.  I'll try that a bit later tonight and see what comes up.
22:14 pmichaud need a break for now.
22:14 jnthn OK, cool.
22:14 jnthn Aye. I'll check and do the revision bump and I'm about done for the day.
22:15 jnthn ooh!
22:15 jnthn Cleanest run ever.
22:15 jnthn Well
22:15 jnthn For a *long* while.
22:16 jnthn gah, I gotta stop trying to push to ng!
22:17 spinclad i could see a version of Array that doesn't support @a[0] := $b (can't rebind its elements) and perhaps ends up not needing full container/objectref PMCs per element
22:19 spinclad i'm not sure it's any simpler to make that work in present object model; maybe harder even...
22:19 rv2733 left #perl6
22:19 dalek rakudo/master: 6d40788 | jonathan++ | build/PARROT_REVISION:
22:19 dalek rakudo/master: Bump to a Parrot with a fix for various segfaults we've been seeing, thanks to bacek++.
22:19 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/6​d407883f63c114e3c9bb0b14c79d5a8391ababa
22:23 jnthn I'm glad that segfault issue got patched ahead of the Parrot relesae. :-)
22:23 mberends bacek++ wknight8111++
22:24 jnthn colomon++ for providing the valgrind trace that helped us get a good bug report in too :-)
22:28 pmichaud ugh, I'm still needing something that can distinguish   [1,2,3]  from a normal scalar variable :-(
22:29 pmichaud oh, perhaps not
22:29 pmichaud (still thinking on it)
22:31 jnthn rw?
22:34 jnthn afk for a bit
22:52 colomon joined #perl6
22:55 xomas joined #perl6
22:55 xomas joined #perl6
22:55 payload joined #perl6
23:01 colomon Why did PARROT_REVISION change again?
23:02 mberends bacek did a proper patch
23:02 colomon (irclog is very slow for me at the moment, it hasn't gotten to the point where I closed the computer and hopped in the car yet...)
23:02 colomon ooooo.... is it a "real
23:02 mberends yeah :-)
23:03 colomon "real" fix, or just the patch we had before checked in?
23:04 colomon \o/
23:05 mberends not just the patch any more
23:05 colomon sweeet!
23:06 colomon (building new parrot now...)
23:07 colomon (irclog is still loading... woah...)
23:11 masak joined #perl6
23:11 masak <TimToady> now someone needs to turn the masakbot back on
23:11 masak oh, I'm on.
23:12 * masak 's eyes glow
23:13 masak that said, I'll probably not start spamming RT with rakudobugs until tomorrow. :)
23:17 k23z__ joined #perl6
23:17 mberends masak: with the new master branch you could run a masakbotnet
23:18 masak mberends: if I had a botnet of masaks, I would set them on finishing all my unfinished Perl 6 projects :)
23:19 mberends that would suddenly make botnets very socially acceptable
23:20 masak mberends: botnets are generally very misunderstood.
23:20 mberends masak: that MacBook went for £580, btw
23:20 masak mberends: what does a new one cost?
23:20 mberends I guess almost twice as much
23:21 masak sounds like a good deal, then.
23:24 masak oh ouch: http://gist.github.com/304336
23:24 * masak decides to tell #parrot, too
23:25 mberends some people had problems if they did not use a fresh checkout
23:26 masak my checkout is hardly fresh! :)
23:26 masak oh. 'did not use...'. I see.
23:26 * masak removes and checks out anew
23:27 mberends if all else fails, rm -rf   # I did that anyway, as a low-tech solution
23:27 masak I'm on it.
23:31 Rix joined #perl6
23:34 masak sometimes I wonder about those users who only stay for two minutes or so.
23:35 masak are they here by mistake?
23:35 lichtkind masak: get your kick :)
23:35 masak would they stay if we talked more? :)
23:35 masak lichtkind: hello, child of light. what do you mean?
23:35 mberends does the needing to register to have a voice hinder many newbies?
23:36 masak mberends: that's a fair question. that might be.
23:36 masak then again, maybe those newbies are evil spambots, the whole lot of them.
23:36 lichtkind masak: just spreading asskicks that november runs soon again :)
23:36 mberends that NickServ stuff might be a barrier
23:36 masak lichtkind: hm. I'd prefer if you didn't spread any type of kicks, let along that kind.
23:37 masak s/along/alone/
23:37 lichtkind in perlde we never have problems with spambosts
23:37 lichtkind masak: but htese are very loving asskicks :)
23:38 lichtkind does NQP-rq uses PCT under the hood, i think no
23:38 mberends yes it does
23:38 lichtkind i mean PGE
23:38 mberends not it doesn't
23:38 lichtkind thanks
23:38 masak maybe the bootstrapping part...
23:38 lichtkind currently reading http://github.com/rakudo/rakudo/blo​b/master/docs/compiler_overview.pod
23:38 masak I'm not 100% sure how that works.
23:39 mberends I'm still finding out, even though I'm revising that doc
23:40 mberends it's turning out to be a pleasant journey of discovery
23:44 masak I see rakudo has been updated on feather, too :) suddenly my November test smoke cron job errors out completely.
23:44 masak hm, does that mean... :/
23:44 mberends ouch
23:45 mberends if you depend on %*ENV for CGI you're out of luck
23:45 masak nope, the site is still up. phew.
23:45 masak it's because we're running from a local build of Rakudo. and that's because we fetch november via an unconfigured proto :)
23:45 masak again, phew.
23:46 masak strange though that the smoke runs on the global... aha!
23:46 masak right.
23:46 masak it's because of the way I call the smoke framework. :)
23:46 masak something akin to -run 'perl6'
23:49 masak yay! I now have New Rakudo For Realz Now installed locally! \o/
23:49 masak tomorrow, the testage and rakudobug reportage beguines.
23:49 mberends \o/
23:50 masak but now, teh sleep.
23:50 masak g'night.
23:50 mberends good ideaz
23:54 lichtkind good night
23:54 mberends yes good night

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

Perl 6 | Reference Documentation | Rakudo