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