»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
Coleoid | But Parrot won't build, NQP won't build... | 00:00 | |
00:01
dukeleto left
|
|||
Coleoid | And I'm not sure how to reconfigure the build to reach for different tools. | 00:01 | |
I think the folks who have succeeded on Windows have been building with MSVC, but the build is using GCC. | 00:02 | ||
Does anyone here build on Windows? Or know the key for how to repoint the build towards MSVC? | 00:04 | ||
[Coke] | yes, I do. that box is at work, however. | ||
I will try to remember to answer your question tomorrow, but have a full day of $dayjob. | 00:05 | ||
Coleoid | [Coke], I recall your offer--I was also full-up at work, but I expect an open lunch tomorrow, so I'll try to ping you in-channel. | 00:06 | |
Thanks! | |||
Or if you want to get it out of the way at another time handy to you, feel free to post the info here, and I can backscroll. | 00:08 | ||
diakopter | Coleoid: did you see my reply the other day? | 00:20 | |
Coleoid | diakopter: thinking... | 00:21 | |
diakopter tries to find it | |||
irclog.perlgeek.de/perl6/2012-07-09#i_5797785 | |||
Coleoid | You were working with GCC and succeeding, weren't you. | ||
diakopter | yes; see the link | 00:22 | |
how did you get gcc on Windows? cygwin? strawberry? something else? | |||
Coleoid | And I've got Strawberry, too... | ||
I think I may have messed myself up by using msysgit... | 00:23 | ||
Coleoid checks path... | 00:24 | ||
00:24
atrodo left
|
|||
diakopter | if you use strawberry's cpan to install search.cpan.org/~adamk/File-Which-1.09/ File::Which, you can use pwhich to find files in your %PATH% | 00:25 | |
it's very helpful for me. | |||
first you need to find out where it's finding gcc currently. | 00:26 | ||
then remove it from your path unless it's strawberry already. | |||
yes, it looks like msysgit comes with gcc. | 00:28 | ||
so, you'll want to put the 3 strawberry paths BEFORE the msysgit path in your %PATH% | 00:29 | ||
Coleoid | cpan is failing trying to make File-Which. | 00:30 | |
I've messed up its config, clearly. | |||
diakopter | yeah, because msysgit is in your path instead of strawberry's stuff | ||
Coleoid | The good news is that the strawberry paths were prior to the msysgit paths. | ||
diakopter | oh. ... hmm. | ||
but do the strawberry paths include strawberry\c\bin ? | 00:31 | ||
Coleoid | It's using Strawberry's dmake. | ||
Yes, let me paste up the File-Which failure. Does this channel prefer a gist, or nopaste, or / | 00:32 | ||
any other service? | |||
diakopter | gist or any of the billion nopaste services | ||
geekosaur | "whatever works", I think | ||
Coleoid | gist.github.com/3087146 | 00:34 | |
I'm passing it -j3 twice, that seems suspicious... | 00:35 | ||
diakopter | ok. let's try this. | ||
1) uninstall msysgit (don't worry, we'll reinstall it) | |||
Coleoid | Sounds good so far... | 00:36 | |
diakopter | 2) make sure your %PATH% no longer includes msys' stuff. On my system, that's c:\Program Files (x86)\Git\cmd | ||
(but that's for the most recent version of msysgit. I seem to recall older versions being somewhere else) | 00:38 | ||
3) reinstall the latest version of msysgit from code.google.com/p/msysgit/downloads/list | |||
When it asks whether you want to use its unix tools also in your path, say No | 00:39 | ||
actually, you could have just removed the Git\bin path from %PATH% instead of uninstalling msysgit; oh well. | 00:40 | ||
Coleoid | :D | ||
pmichaud | fwiw, the other night I tried using strawberry+msysgit and didn't have any luck | ||
and I *know* that strawberry was in my path before msysgit | |||
I'll boot up my windows instance again, if someone can help us through it :) | 00:41 | ||
diakopter | I had to add strawberry\c\bin to my path with the other two strawberry ones to get it to work, iirc | ||
Coleoid | That's fine, I don't see an uninstall, so I'll just pull it out of the path for now... | ||
diakopter | does it still have Git\cmd ? | ||
(that's where the git command is) | |||
Coleoid | I've got three strawberry paths, including c\bin--so that's good. | 00:42 | |
pmichaud | my path has three strawberry paths, then \git\cmd | ||
Coleoid | msysgit has three paths, cmd, bin, and libexec\git-core | 00:43 | |
diakopter | just remove the bin one | ||
pmichaud | I'll start with a fresh rakudo checkout | 00:44 | |
Coleoid | Okay | ||
pmichaud | next is "perl Configure.pl --gen-parrot" from the rakudo dir | ||
it's "working", but I get a warning of "The system cannot find the path specified" | 00:45 | ||
diakopter | I got that too | ||
pmichaud | followed by "Command failed (status 256): git clone git://github.com/perl6/nqp.git nqp | ||
(this is from a cmd.exe shell, fwiw) | 00:46 | ||
diakopter | pmichaud: how old is your msysgit? I've got the latest | ||
Coleoid | genning parrot... | ||
pmichaud | I downloaded it from googlecode several nights ago.... so fairly recent | 00:47 | |
Coleoid | I've got 1.7.11 | ||
pmichaud | 1.7.11-preview20120704 | ||
Coleoid | --gen-parrot did a lot of talking, then failed as before. | ||
complaining the failure point was --make-install | 00:48 | ||
diakopter | hm, I wonder which strawberry I have | 00:49 | |
Coleoid | gist.github.com/3087197 | 00:50 | |
diakopter | I have Strawberry Perl May 2011 | ||
00:51
skids joined
|
|||
diakopter looks at his parrot Makefile | 00:52 | ||
oh, your error is in building NQP | 00:53 | ||
00:54
stephenlb left
|
|||
Coleoid | Yeah? | 00:54 | |
diakopter | pmichaud: one difference is that I built NQP with --gen-parrot then built rakudo with --with-parrot and --with-nqp | ||
or whatever they are | |||
pmichaud | it looks to me like part of the problem is that system_or_die (in Configure.pl) is dying when used from the cmd.exe shell | 00:56 | |
diakopter | Coleoid's got a lot further than that though; it checked out NQP | 00:57 | |
pmichaud | Coleoid: which shell are you using? | ||
00:57
scott__ joined
|
|||
Coleoid | cmd.exe | 00:58 | |
pmichaud | windows 7? | ||
Coleoid | Yep | ||
pmichaud | I'm on NT | ||
sorry | |||
I'm on XP | |||
diakopter Windows 7 | |||
pmichaud | so maybe it's something to do with the WinXP shell :-( | ||
system_or_die is at github.com/perl6/nqp/blob/master/t...ure.pm#L52 | |||
diakopter | did it actually check out parrot? | 00:59 | |
pmichaud | it checked it out, but then didn't like the result code from git | ||
and if I try running again, it attempts to do a 'git fetch', but again doesn't like the result code from git | |||
Coleoid | The first time I did this it got both parrot and nqp clones. | ||
diakopter | c:\Users\mwilson\src>git --version | 01:00 | |
git version 1.7.10.msysgit.1 | |||
pmichaud | Coleoid: yes, I'm thinking your shell or something about your install is giving better result codes. | ||
I mean, a result code of 256 looks a bit suspicious | |||
Coleoid | Well, I just got CPAN unscrambled enough to get File-Which--so, progress! | 01:01 | |
diakopter | pwhich git should return msysgit's git.cmd | 01:02 | |
Coleoid | It does. | ||
D:\msysgit\cmd\git.EXE | |||
diakopter | what does git --version say | 01:03 | |
Coleoid | git version 1.7.11 | ||
pmichaud | mine says git version 1.7.11.msysgit.1 | 01:04 | |
diakopter | Coleoid: weird. | ||
on mine, the sole contents of Git\cmd\ are git.cmd and gitk.cmd | 01:05 | ||
is that the same as yours? | |||
Coleoid | ... | ||
pmichaud | I have git.exe and git.cmd | 01:06 | |
er | |||
git.exe and gitk.cmd | |||
Coleoid | Yep | ||
Same for me. | |||
pmichaud | note .exe and not .cmd for git.exe | ||
Coleoid | git.exe and gitk.cmd. | ||
diakopter | yeah. XP uses following order of precedence: .exe, .com, .bat, and .cmd. | 01:07 | |
01:07
Guest62195 left
|
|||
pmichaud | I wonder why my git command is returning a non-zero exit code | 01:07 | |
Coleoid | If I remove the parrot/ and nqp/ folders, am I back to a blank slate? | 01:08 | |
pmichaud | fairly close, yes. | ||
01:10
zhutingting left
|
|||
Coleoid | And then --gen-parrot should be the first configure call? | 01:10 | |
(I also dumped install/) | |||
diakopter | pmichaud: my git.cmd sets the errorlevel | ||
@git.exe %* | 01:11 | ||
@set ErrorLevel=%ErrorLevel% | |||
there could be some significance there | |||
pmichaud | I don't think I have a git.cmd | ||
diakopter | hrm. I guess your later version (mine is 1.7.10) changes that | 01:12 | |
maybe try downgrading | |||
Coleoid | Huh! Having deleted my local parrot and nqp, Configure bombs out early for me now... | 01:13 | |
...with a status 256. | |||
diakopter | dmake clean? | 01:15 | |
pmichaud | if Configure.pl isn't successful, there's likely no Makefile | 01:16 | |
diakopter | oh.. heh. | ||
Coleoid | I don't see one. | ||
Do you guys have Cygwin installed? | 01:17 | ||
diakopter | no | ||
Coleoid: delete libparrot.dll ? | |||
Coleoid | Nor I, yet. | ||
Where will it live? | 01:18 | ||
I don't find libparrot.dll within rakudo/ | |||
diakopter | ok, nm | ||
is there an install\ dir ? | 01:19 | ||
Coleoid | There was, but I deleted it along with parrot\ and nqp\ a few minutes ago. | ||
? | 01:20 | ||
cd nqp | |||
Access is denied. | |||
diakopter | weird. | 01:21 | |
Coleoid | And now git fails early complaining about a pathspec gone wrong... | 01:23 | |
I think it's time to ditch this whole local Rakudo clone and get a clean one. I haven't done that before, though. | 01:24 | ||
pmichaud | oh, great. | ||
github.com/msysgit/git/issues/21 | |||
looks like it is indeed a problem with 1.7.11 | 01:25 | ||
Coleoid | Good, more progress! | 01:26 | |
pmichaud | oh, there's a new one, just released 4 hours ago! | ||
code.google.com/p/msysgit/downloads...n=2&q= | |||
maybe it contains the fix | |||
upgrading... | |||
release notes for 20120710 version indicate an error code fix | 01:30 | ||
and yes, I now get past the nqp clone to the parrot clone. | 01:31 | ||
diakopter | \o/ | ||
Coleoid: more progress for you? | |||
Coleoid | No, for pmichaud, but I'm probably going to try the new msysgit too. | 01:32 | |
Right now I'm trying to figure out the git incantation to get a brand new local rakudo copy. | 01:33 | ||
diakopter | pmichaud: ? isn't it git checkout . | ||
01:33
stephenlb joined
|
|||
diakopter | Coleoid: git clone git://github.com/rakudo/rakudo.git ? | 01:34 | |
(without the ?) | |||
pmichaud | I'm creating a document for this at the moment: docs.google.com/document/d/1kNED54...edit?pli=1 | 01:35 | |
01:37
alvis```` left
|
|||
pmichaud | okay, my system is building parrot now. | 01:37 | |
01:37
risou joined
|
|||
Coleoid | Yes-- though I tacked another name for the new clone folder on the end | 01:37 | |
01:37
alvis```` joined
|
|||
pmichaud | parrot built and installed successfully | 01:37 | |
Coleoid: yes, I see the edit -- thanks :-) | |||
diakopter | that was I | ||
pmichaud | oh | 01:38 | |
diakopter++ then | |||
diakopter | what does my name appear as there? | ||
Coleoid | Swell, I'm going to get the new-new msysgit installed, then, and retry... | ||
pmichaud | diakopter: the only other user I see right now is "anonymous 4995" | 01:39 | |
okay, the build now fails when trying to link libdyncall | |||
diakopter | same as Coleoid | ||
pmichaud: when prompted, I chose not to include the git commands | 01:41 | ||
pmichaud | gist.github.com/3087400 | ||
diakopter: I did that before... and then Configure.pl could never find the git commands. | |||
(iirc) | |||
diakopter | oh | 01:42 | |
diakopter tries following pmichaud's instructions from step 3 | 01:43 | ||
Coleoid | Can't install over git, it's got locked somehow, I'm rebooting, back in a while. | 01:46 | |
pmichaud | oh | ||
it's the dyncall stuff. | |||
I wonder if there's a way to disable that. | |||
01:46
Coleoid left
|
|||
pmichaud | since (afaik) dyncall really isn't needed for basic NQP. | 01:47 | |
diakopter | pmichaud: which strawberry do you have (check perl -v) | 01:48 | |
01:48
Coleoid joined
|
|||
pmichaud | 5.16.0 | 01:48 | |
diakopter | .. building parrot | 01:49 | |
..building nqp | 01:51 | ||
pmichaud: I have perl 5.12 (strawberry May 2011). That could be a difference. | |||
pmichaud | if I take the dyncall.ops target out of the Makefile, I get a bit farther. | 01:52 | |
diakopter | nqp finished building. | 01:53 | |
..running gmake install | |||
pmichaud | diakopter: you're 64-bit ? | ||
diakopter | yes, but perl says it's 32-bit | 01:54 | |
pmichaud | after removing the dyncall target, nqp built and installed for me | ||
wonder what gcc thinks, though. | |||
i.e., when it's building dyncall | |||
diakopter | rakudo built. | 01:55 | |
pmichaud | okay, that got me so that "perl Configure.pl --gen-parrot" completed from the rakudo dir.... rakudo is building now. | ||
diakopter | pmichaud: maybe downgrade strawberry? | 01:56 | |
01:56
mucker left
|
|||
pmichaud | yes, the rakudo build failed for me now looking for nqp_dyncall_ops. | 01:57 | |
so.... we'll need that somewhere. | |||
I'll downgrade strawberry and see if that helps | |||
diakopter | first try May 2011 then if that works try Nov 2011 | ||
(because May 2011 works for me) | |||
(in case it's a gcc version thing) | 01:58 | ||
pmichaud | diakopter: 5.12.3 ? | 01:59 | |
diakopter | yep | ||
pmichaud | okay, that leaves my %PATH% with the strawberry perl dirs after the git one | 02:02 | |
...but it shouldn't matter | |||
so let's try it :-) | |||
okay, (re)building Parrot | 02:03 | ||
parrot installed | 02:06 | ||
now building nqp | |||
failed building dyncall; same place (I think) | 02:07 | ||
diakopter | well, something about my setup differs. hrm. | ||
pmichaud | gist.github.com/3087499 | 02:08 | |
I'm thinking it may be a 32-bit vs 64-bit issue. | |||
Coleoid | Possible--I'm on 64 bit. | 02:09 | |
pmichaud | I might be able to borrow one of the family's 64-bit win machines and see if it works there. | ||
but I have to give the dog a walk now, so I'll be back in 30 | |||
diakopter | interesting it fails at a different spot from the later perl | 02:10 | |
Coleoid | And I'll be wrapping up for the night. | ||
diakopter | Coleoid: tomorrow we can try msvc; I have that to | ||
too | |||
Coleoid | But thanks greatly for the time and effort--it's a relief to know it's Not Just Me. :D | ||
diakopter: That sounds good, thanks! | 02:12 | ||
[Coke] notes that his successful parrot build is win7 | 02:16 | ||
diakopter | they were able to build parrot | 02:19 | |
phenny: tell pmichaud other than being on a 64-bit machine, the only difference I can imagine is that I have libicu in my path... | 02:20 | ||
phenny | diakopter: I'll pass that on when pmichaud is around. | ||
pmichaud | well, I'm booting my notebook into win xp pro now... I think it's 64-bit | 02:32 | |
phenny | pmichaud: 02:20Z <diakopter> tell pmichaud other than being on a 64-bit machine, the only difference I can imagine is that I have libicu in my path... | ||
pmichaud | sadly, it's 32-bit also :-/ | 02:35 | |
[Coke] | it was parrot & rakudo, and it was 32bit win7. | 02:38 | |
pmichaud | [Coke]: how recently? | 02:45 | |
okay, now attempting on a 64-bit windows 7 | 02:49 | ||
it failed for me on 64-bit windows 7 also. | 02:56 | ||
same error | |||
no wait, totally different error | |||
[Coke] | pmichaud: retested a month or so ago, I think. | 02:57 | |
pmichaud | [Coke]: I think some of the dyncall stuff has been added since then. | 02:58 | |
[Coke] | r: sub neg($a) { "-" ~ $a }; say neg 4 | ||
p6eval | rakudo d8e7b6: OUTPUT«-4» | ||
pmichaud | dyncall is nqp's version of NCI, iiuc | ||
[Coke] | "works for jnthn"... I'm guessing. Also, pretty sure I'm using the MSVC++ compiler | 02:59 | |
pmichaud | gist.github.com/3087699 # dyncall build failure under Win 7 64-bit | ||
[Coke] | (free one) | ||
pmichaud | yes, I can go and try with MSVC and Active Perl or something like that... but iwbni we could get it to work with strawberry | ||
[Coke] thinks "oh, maybe I can get work to send me to oscon, when is that.... Oh." | 03:07 | ||
[Coke] is not having a good con year. | |||
03:07
JimmyZ_ joined
|
|||
JimmyZ_ | btw, I was using strawberry perl on win32, nqp builds here | 03:08 | |
03:14
thou joined
|
|||
pmichaud | JimmyZ_: how recent nqp? | 03:14 | |
JimmyZ_ | pmichaud: about 2 weeks | 03:16 | |
pmichaud | hmmmm | ||
I could try the 2012.06 rakudo. | |||
github.com/perl6/nqp/issues/47 # nqp ticket | 03:18 | ||
JimmyZ_ | I can give it a try now | 03:19 | |
pmichaud | I was building from Rakudo HEAD when I got the errors in the ticket | ||
JimmyZ_ is cloning parrot | 03:20 | ||
03:23
Su-Shee_ joined
|
|||
pmichaud | I get the same sort of error for 2012.06 | 03:25 | |
03:27
Su-Shee left
|
|||
pmichaud | however, 2012.05 builds just fine on my system | 03:30 | |
so, it's something that changed in nqp since 2012.05 | 03:31 | ||
maybe a bisection is in order :-) | |||
JimmyZ_ | hmm, I got bad reloc address 0x0 in section `.data' | 03:43 | |
pmichaud | JimmyZ_: yeah, that's the error I've been getting. | 03:46 | |
Surprisingly, on my daughter's computer it built fine. | |||
so now I'm very confused. | |||
03:50
samlt joined
|
|||
pmichaud | hmmmmmm | 03:51 | |
[Coke] | ah. glad you finally found /a/ version that worked, anyway. | ||
that makes it much easier to find out when it when pear shaped. | |||
pmichaud | ...and it appears that later versions of nqp work as well. I'm guessing that the bump to Parrot 4.5.0 is where we start having problems | 03:52 | |
testing, though. | |||
(I think) I got nqp head to build on the original machine where it had failed previously, but using Parrot 4.4.0 | |||
03:58
plobsing joined,
Entonian joined,
Entonian left
|
|||
pmichaud | huh. nqp head just built fine for me, from a fresh checkout. | 04:02 | |
trying a fresh rakudo checkout now. | |||
[Coke] thinks he has enough notes for his $DAYJOB git-svn lighting talk tomorrow. | 04:08 | ||
[Coke] will think about making a coherent demo tomorrow. :P | |||
pmichaud | huh. making a fresh checkout of rakudo worked. | 04:10 | |
04:10
adu joined
|
|||
[Coke] | old build with crufty dlls? | 04:11 | |
pmichaud | well, since this is my first time _ever_ building rakudo under windows... I'm thinking no. | 04:12 | |
the only thing I can think of that I changed is a reboot | |||
adu | i pmichaud | 04:20 | |
s/i/hi/ | |||
04:27
samlt left
04:29
samlt joined
04:33
kaare__ joined
04:34
telex left
04:36
JimmyZ_ left
04:37
telex joined
04:41
zhutingting joined
04:47
nebuchad` joined
04:48
nebuchadnezzar left
04:51
zhutingting left,
zhutingting joined
05:02
brrt joined
05:13
dayangkun joined
05:14
brrt left,
dayangkun left
05:20
sirrobert joined
05:22
birdwindupbird joined
|
|||
sirrobert | How do I declare a class method that is an lvalue? | 05:22 | |
sorear | method foo() is rw { ... } | 05:24 | |
sirrobert | hmmm that's what I'm trying, but it says, "Cannot assign to a non-container" | 05:25 | |
r: class a { method x () is rw { ... } }; my $A = a.new(); $A.x = "foo"; | |||
p6eval | rakudo d8e7b6: OUTPUT«Stub code executed in method <anon> at src/gen/CORE.setting:9538 in <anon> at src/gen/Metamodel.pm:2304 in any find_method_fallback at src/gen/Metamodel.pm:2302 in any find_method at src/gen/Metamodel.pm:843 in block <anon> at /tmp/5q3ROygCZT:1»… | ||
sirrobert | (still learning to read the +p6eval output =) | 05:26 | |
r: class a { has $!x; method x () is rw { ... } }; my $A = a.new(); $A.x = "foo"; | 05:27 | ||
p6eval | rakudo d8e7b6: OUTPUT«Stub code executed in method <anon> at src/gen/CORE.setting:9538 in <anon> at src/gen/Metamodel.pm:2304 in any find_method_fallback at src/gen/Metamodel.pm:2302 in any find_method at src/gen/Metamodel.pm:843 in block <anon> at /tmp/bxgJp3_5yi:1»… | ||
05:27
stephenlb left
|
|||
sirrobert | ahh... | 05:30 | |
r: class a { has $!x; method x () is rw { return-rw $!x } }; my $A = a.new(); $A.x = "foo"; | |||
p6eval | rakudo d8e7b6: ( no output ) | ||
sirrobert | r: class a { has $!x; method x () is rw { return-rw $!x } }; my $A = a.new(); $A.x = "foo"; say $A.x | ||
p6eval | rakudo d8e7b6: OUTPUT«foo» | ||
sirrobert | great =) | ||
I had to "return-rw" the property | 05:31 | ||
Thanks, sorear =) | 05:32 | ||
05:33
mucker joined
|
|||
moritz | \o | 05:35 | |
sirrobert | hi moritz | ||
05:36
am0c joined
|
|||
adu | hi moritz | 05:38 | |
adu <3 Perl6 | |||
am0c | <3 Perl6 | ||
05:43
sisar joined
|
|||
moritz | <3 #perl6 | 05:44 | |
sirrobert | cool tip I learned tonight: columnate your text in vim with :<range>!column -t | 05:45 | |
e.g.: :.,.10!column -t (to columnate the next 10 lines on whitespace =) | |||
sisar | hi #perl6 ! | 05:48 | |
sirrobert | hallo =) | ||
05:55
Su-Shee_ is now known as Su-Shee
05:56
wtw joined
|
|||
adu <3 perl6 | 05:56 | ||
crap I already said that | |||
I need to say something new fast | 05:57 | ||
can't think of anything | |||
Su-Shee | good morning everyone. | ||
do I want star or monthly release these days? | |||
bonsaikitten | adu: "<4 perl6" ;) | ||
adu | hehehe | 05:58 | |
Su-Shee: morning! | 05:59 | ||
I am so fired up about PErl6 | |||
we are going to rock this boat | |||
06:01
kaleem joined
|
|||
dalek | c: 0a9ea4c | (Gabor Szabo)++ | lib/Str.pod: add trim |
06:04 | |
06:06
brrt joined
|
|||
sirrobert | ok, time for me to get some sleep. night all. | 06:07 | |
exit | |||
06:07
sirrobert left
|
|||
sisar | Su-Shee: well, both Star and compiler are released monthly. | 06:21 | |
06:23
nodmonkey joined,
sisar left
06:24
sisar joined
06:28
GlitchMr joined
06:31
brrt left
06:34
sudokode left
06:38
nebuchad` is now known as nebuchadnezzar
06:53
mucker left
06:54
szabgab joined
|
|||
szabgab | hi | 06:55 | |
r: $_ = "b"; say "qwar" ~~ /$_/ ?? "ok $_" !! 'not' | |||
p6eval | rakudo d8e7b6: OUTPUT«ok b» | ||
szabgab | why does this match? | 06:56 | |
r: my $r = "b"; say "qwar" ~~ /$r/ ?? 'ok' !! 'not' | |||
p6eval | rakudo d8e7b6: OUTPUT«not» | ||
sorear | r: $_ = "b"; say "qwar" ~~ / { say $_.perl } / ?? "ok $_" !! 'not' | 06:57 | |
p6eval | rakudo d8e7b6: OUTPUT«"qwar"ok b» | ||
sorear | because ~~ is a topicalizer | 06:58 | |
while the RHS code is running, $_ is temporarily bound to the LHS | |||
szabgab | oh, thanks | 07:00 | |
moritz | we abuse ~~ for two different purposes | 07:07 | |
betimes it strikes back at us. | |||
hoelzro | masak: nothing really; whenever I've looked at Perl 6 in the past, I just found it kind of ugly | 07:08 | |
now I don't really think so | |||
at least, not any uglier than STDOUT =) | 07:09 | ||
I take it you saw my blog post? | |||
moritz | masak and I both pasted the URL here | ||
hoelzro | oh, awesome =) | 07:10 | |
07:14
brrt joined,
adu left
07:26
szabgab left
|
|||
jnthn | morning o/ | 07:47 | |
sorear | o/ jnthn | ||
moritz | nr: say ' abc '.trim-leading.perl | 07:50 | |
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«"abc "» | ||
07:56
opeeper joined
|
|||
moritz | r: my $x = ({}; {}); say $x.perl | 07:57 | |
p6eval | rakudo d8e7b6: OUTPUT«{}» | ||
moritz | nr: my $x = ({}; {}); say $x.perl | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«{}» | ||
moritz | n: ({} {}) | 07:58 | |
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/RsKPV55U9x line 1:------> ({} ⏏{})Parse failed» | ||
opeeper | I have git clone rakudo from long ago, am on branch nom,, is there branch star i can checkout? | 08:01 | |
moritz | opeeper: no, star is a separate repo | ||
opeeper: star imports a copy of rakudo | 08:02 | ||
08:03
kresike joined
|
|||
kresike | hello all you happy perl6 people | 08:03 | |
sjn | o/ | 08:15 | |
08:15
Coleoid left
|
|||
moritz | \o | 08:15 | |
08:16
REPLeffect left
08:25
opeeper left
08:30
REPLeffect joined
08:31
xinming left
|
|||
dalek | pan style="color: #395be5">perl6-examples: 9aa2f7b | (Gerhard R)++ | shootout/regex-dna.p6 (2 files): [shootout/regex-dna] make v2 the default and remove v1 also uses subst() now that Rakudo can handle large regexes again |
08:33 | |
08:44
sergot joined
|
|||
sergot | hi o/ | 08:44 | |
moritz | \o sergot | 08:45 | |
08:49
dataship joined
08:54
dakkar joined
08:55
dataship left
09:00
muixirt joined
|
|||
muixirt | good morning | 09:01 | |
09:02
xinming joined
|
|||
sorear | good morning | 09:03 | |
muixirt | with a simple use LWP::Simple I get this lovely message "No STable at index 7" with R* 2012.06 | 09:06 | |
moritz | muixirt: yes, we have some order-of-precompilation problem in R* 2012.06 :( | 09:07 | |
muixirt: I hope/believe this is fixed by for the next R* release | |||
star: use URI; | |||
p6eval | star 2012.06: OUTPUT«(signal SEGV)» | ||
moritz | star: use LWP::Simple; | ||
p6eval | star 2012.06: OUTPUT«(signal SEGV)» | ||
muixirt | moritz: yes I deleted URI.pir and than URI works but not LWP::Simple | 09:08 | |
09:08
daxim joined
|
|||
moritz | muixirt: you might also need to delete LWP/Simple.pir and URI/Escape.pir | 09:09 | |
tadzik | deleting precompiled modules is always the safest option. It's also always the slowest solution :) | 09:11 | |
09:13
drbean joined
|
|||
muixirt | thanks moritz, it worked | 09:13 | |
moritz | (the problem was that URI.pm includes URI::Escape via 'needs', not 'use', and the module installer in star didn't track that dependency) | 09:14 | |
09:16
Coleoid2 joined
09:21
FireFly left,
FireFly joined
09:37
birdwindupbird left
09:39
drbean left
|
|||
moritz | www.drdobbs.com/architecture-and-de...442?pgno=4 nice comments about looking back at what other programming languages did, and simply stealing that isn't enough | 09:40 | |
09:40
odoacre left
09:42
drbean joined
09:48
bbkr joined
09:52
birdwindupbird joined
09:54
odoacre_ joined
09:55
[particle]1 joined
09:58
[particle] left
10:01
kaleem_ joined
10:04
lumi_ left
10:05
kaleem left
10:06
kaleem joined
10:08
samlt left,
scott__ left
10:09
kaleem_ left
10:10
mucker joined,
samlt joined
|
|||
moritz | r: regex foo ($x) { abc } # just checking if regexes can have a signature | 10:11 | |
p6eval | rakudo d8e7b6: OUTPUT«Useless declaration of a has-scoped method in mainline» | ||
10:12
sergot left
|
|||
moritz | r: grammar A { token foo($x) { \' ~ \' $x }; token TOP { <foo("bar") } }; say A.parse(q['bar']) | 10:12 | |
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===regex assertion not terminated by angle bracket at line 2, near " } }; say "» | ||
10:12
sergot joined
|
|||
moritz | r: grammar A { token foo($x) { \' ~ \' $x }; token TOP { <foo("bar")> } }; say A.parse(q['bar']) | 10:12 | |
p6eval | rakudo d8e7b6: OUTPUT«q['bar'] foo => q['bar']» | 10:13 | |
moritz | r: grammar A { token foo($x) { \' ~ \' $x }; token TOP { <foo("bar")> } }; say A.parse(q['baz']) | ||
p6eval | rakudo d8e7b6: OUTPUT«#<failed match>» | ||
moritz | PerlJam: are you OK with stealing github.com/perlpilot/perl6-docs/bl...-intro.pod (or parts thereof) for p6doc? | 10:17 | |
(I didn't see any license in that repo) | |||
10:19
Coleoid2 left
10:20
broquaint joined,
Psyche^ joined
10:24
Patterner left,
Psyche^ is now known as Patterner
10:27
Coleoid joined
10:34
brrt left
10:37
GlitchMr left,
GlitchMr joined
10:42
kaleem_ joined
10:46
kaleem left
10:55
spider-mario joined
10:57
zhutingting left,
birdwindupbird left
|
|||
arnsholt | r: sub (int $n, &callback:(Str, int, int --> int)) is native { * } | 11:03 | |
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===invoke() not implemented in class 'Capture'» | ||
11:03
harmil left,
harmil joined
|
|||
arnsholt | jnthn: I think the syntax isn't implemented after all | 11:03 | |
11:04
thelazydeveloper joined
|
|||
moritz | right | 11:06 | |
what I did was leave out the colon | |||
that creates a subsignature | |||
not a callable with specific properties | |||
11:08
zhutingting joined,
sirrobert joined
|
|||
jnthn | Right. | 11:08 | |
11:15
mucker left,
mucker joined
11:16
mucker left,
mucker joined,
mucker left
|
|||
arnsholt | r: sub (int $n, &callback(Str, int, int --> int)) is native { * } | 11:16 | |
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===Cannot call 'trait_mod:<is>'; none of these signatures match::(Mu:U $child, Mu:U $parent):(Attribute:D $attr, :rw(:$rw)!):(Attribute:D $attr, :readonly(:$readonly)!):(Attribute:D $attr, :box_target(:$box_target)!):(Routine:D $r, :rw(:$rw)!):(Rout… | ||
arnsholt | Spiffy. Thanks! | 11:17 | |
moritz | I'm not sure that's the right way forward, but it sure seems like an easy way forward :-) | ||
11:18
mucker joined
|
|||
arnsholt | I can live with that =) | 11:18 | |
Oh, and I thought I pasted my plan for implementing this stuff last night, but apparently I didn't | |||
It's at gist.github.com/3085270 | 11:19 | ||
jnthn | arnsholt: If you get it to work like that, getting the right syntax supported will be the easy bit :) | ||
arnsholt | Excellent | ||
11:20
birdwindupbird joined
|
|||
moritz | once the syntax with the colon is implemented, how is it stored in the signature? | 11:25 | |
11:26
samlt left
11:28
samlt joined
|
|||
sirrobert | how do you *remove* a mixin from an object? | 11:29 | |
moritz | you don't | ||
arnsholt | r: say Routine ~~ Callable | ||
p6eval | rakudo d8e7b6: OUTPUT«True» | ||
sirrobert | hmmm | 11:30 | |
moritz | just like you don't remove a superclass | ||
or the memory allocated with an object | |||
let's rephrase: if you want to remove a mixin, you're probably overusing mixins | |||
sirrobert | heh | ||
sjn can't imagine a situation when removing a mixin might be desirable | 11:31 | ||
sirrobert | I'm not using them yet... just trying to figure out a good implementation of a problem | ||
moritz | just like: if you want to extract values from a junction, you're overusing junctions | ||
sirrobert | So, I have an HTTP header object (pretty simple) | ||
it has a name and a value | |||
but the value behaves differently depending on the name | 11:32 | ||
moritz | in what way? | ||
sirrobert | (so, for example, in a Cache-Control header, the caching directives have specifications and sub-rules that the Age header's values don't have | ||
For example: | |||
moritz | that sounds like a classic use for subclassing | 11:33 | |
sirrobert | Cache-Control: private, community="UCI" | ||
(there's nothing even close to equivalent to that kind of behavior for Age) | 11:34 | ||
moritz | class HTTP::Header::Field::Cache-Control is HTTP::Header::Field { ... } | ||
sirrobert | yeah, but I was *hoping* to load it through the Header object | ||
moritz | well, the header object can have logic to create objects of the subclasses | ||
sirrobert | as in: my $header = ...::HTTP::Header.new(Cache-Control => '') | ||
yeah, but I wouldn't be able to switch header types easily =) | 11:35 | ||
$header.name = 'Age' | |||
moritz | don't do that then | ||
sirrobert | easy for you to say ;) | ||
moritz | yes | ||
we use immutable objects everywhere | |||
11:36
fglock joined
|
|||
moritz | every Int, Rat, Num, Str, Parcel etc. is immutable | 11:36 | |
I mean, how often do you create a HTTP header and then need to change the name? | |||
and if so, why can't you create a new object with the new name and old value? | 11:37 | ||
sirrobert | There's definitely no reason I couldn't require that | 11:38 | |
It depends on how you think about headers | |||
if you think about a header as a single kind of thing with variability, then you'd want to be able to do those things | 11:39 | ||
moritz | for me, a header is a just a glorified string | ||
sirrobert | if you think about each header as it's own kind of thing, then you probably wouldn't | ||
yeah =) | |||
I'd like to avoid a lot of heavy string manipulation (it's ugly =) | 11:40 | ||
moritz | ye | ||
s | |||
sirrobert | Right now I have it implemented with subclasses for each header type | ||
moritz | that's why you wrap it in an object that knows a bit more :-) | 11:41 | |
sirrobert | lipstick on a pig does make a prettier pig ;) | ||
moritz | but a pig with a chess board on its hide still lets you play chess :-) | ||
bbkr | I still don't see the need to remove mixin here. If functionality of header is defined by its name then if you change name you get different header. Why modify existing container (header object)? | 11:42 | |
moritz | bbkr: because sirrobert wants mutable header objects that don't have the notion of a separate container | 11:43 | |
sirrobert | bbkr: I'm going for a fairly faithful implementation of the W3C http header spec. That goal has some interesting challenges =) | ||
moritz: that's a good way to say it | 11:45 | ||
moritz -> extended afk | |||
bbkr | then maybe do not apply mixin but pretend that it is applied. save Cache-Control role as HTTP::Header attibute and then install ^add_fallback on HTTP::Header that will delegate unknown methods to this role. | 11:46 | |
sirrobert | hmmm | ||
11:47
skids left
|
|||
sirrobert | I understand the concept you are saying, but not the implementation details. Is there something I can read about ^add_fallback type stuff? | 11:47 | |
(and thanks =) | |||
bbkr | I used it in github.com/bbkr/jsonrpc/blob/maste...ent.pm#L11 | ||
sirrobert | ok! that could work for me. What is does the ? mean in $?PACKAGE ? | 11:48 | |
bbkr | fallback has 2 params - first closure tells you if your fallback is capable of handling requested method (at this point you may want to confirm by ^find_method in role), second param is closure that must return closure (the one you found by role.^find_method) | 11:51 | |
perlcabal.org/syn/Differences.html#...s_are_gone - explains $?PACKAGE | 11:52 | ||
sirrobert | makes sense. A quick google search didn't show me any docs on add_fallback. Any tips? | ||
(as to where to find docs, I mean =) | 11:53 | ||
11:56
tokuhiro_ joined
|
|||
bbkr | I'm not sure it is already documented :( | 11:57 | |
if it is already documented* | |||
sirrobert | ok, no problemo =) | ||
thanks a lot for your help | |||
bbkr | that should do the trick in the same way as JSON::RPC::Client is context-free but still allows $client.somemethod() to be handled | 11:58 | |
jnthn | So, why not have a | ||
has $.header-specific handles *; | |||
This object contains the special things related to the current header | 11:59 | ||
And then all you need to do is twiddle that object | |||
handles * means that any unhandled methods will try to delegate to that object. | |||
If you think you want addable/removable mixins, you probably want delegation really. | |||
That said, immutability has a lot to recommend it :) | 12:00 | ||
12:03
Coleoid left
12:09
jaldhar left
12:11
JimmyZ joined
|
|||
bbkr | jnthn++ I didn't know the trick with "handles *" | 12:19 | |
12:30
seldon joined
|
|||
seldon | Merry Christmas, #perl6. | 12:31 | |
jnthn | bbkr: Well, add_fallback is the plumbing for the handles porcelin, to use a Git analogy... :) | 12:32 | |
12:36
mtk left,
lumi_ joined
12:42
mtk joined
|
|||
timotimo | is it supposed to be the case that when i have sub MAIN(Bool :$a, Bool :$b, Bool :$c) i can't call my script with -ab, but -a -b is fine? | 12:43 | |
it seems --boing and -boing are both valid. is that a good decision? | 12:44 | ||
well, i guess it really is a question of style | |||
gfldex | -ab should mean the same then -a -b | 12:45 | |
if -a and -b are exclusive you have to handle that case by hand | |||
timotimo | gfldex: well, it seems some time ago someone decided that -ab should mean the same as --ab, rather than the same as -a -b, i was asking if that decision is set in stone and maybe ask to reconsider | 12:47 | |
gfldex | timotimo: see: www.iam.ubc.ca/guides/javatut99/ess...posix.html | ||
timotimo | i already know how posix programs do it :) | 12:48 | |
gfldex | in doubt do it the same then search.cpan.org/~jv/Getopt-Long-2.3...pt/Long.pm | 12:49 | |
or there will be lots of confusion | |||
[Coke] | timotimo: there was an attempt to completely redo command parsing. I think we pulled back from that, but I don't know what the current state is. | 12:51 | |
12:53
sftp_ joined,
sftp left
12:58
PacoAir joined
13:05
adu joined
13:06
GlitchMr42 joined
|
|||
lumi_ | timotimo: ISTR the issue was parsing short options that take a parameter | 13:07 | |
timotimo | right, those cannot be put before other short options. but they can be put at the end of a list of short operations, can't they? | ||
-abc 3 instead of -ab --long-c 3 should work? | |||
13:08
GlitchMr left,
zhutingting left
|
|||
lumi_ | timotimo: But you need to choose the right multi MAIN according to the options | 13:08 | |
13:08
zhutingting joined,
[particle]1 is now known as [particle]
|
|||
timotimo | oh, you mean that -b might take an argument in another MAIN multi? or something like that? | 13:09 | |
lumi_ | You might have 'multi MAIN(Bool :$a, Bool :$b)', and also 'multi MAIN(Str :$a)', so -ab can mean either the first overload with both flags, or the other one with $a = 'b' | 13:11 | |
timotimo | oh, that's tricky indeed | 13:12 | |
lumi_ | That's my vague recollection anyway, I tried finding it in the irclogs, but I don't remember when it was | 13:13 | |
13:13
GlitchMr42 is now known as GlitchMr
13:14
drbean left,
drbean joined
13:15
zhutingting left
|
|||
lumi_ | Maybe it's better to only accept --option and not -option, to avoid this confusion? | 13:17 | |
timotimo | i would say so, yes | ||
pmichaud | perhaps multi MAIN(Bool :$a, Bool :$b!) | ||
which runs only if the b option is say | 13:18 | ||
s/say/present/ | |||
good morning, #perl6 | |||
jnthn | morning, Pm :) | ||
13:18
atrodo joined
|
|||
PerlJam | greetings. | 13:20 | |
moritz: feel free to use anything I've written about Perl 6 to seed p6doc. | 13:21 | ||
adu | morning | 13:22 | |
pmichaud | I wonder where I can get a copy of 64-bit windows to install | ||
adu has no idea about windows | 13:23 | ||
pmichaud | or maybe I should try an ec2 instance | ||
jnthn | The Pirate Bay? <grin> | ||
pmichaud: I saw your Strawberry post. I build with ActiveState Perl + the Visual Studio toolchain. | |||
13:23
skids joined
|
|||
jnthn | pmichaud: It'd be nice to have Strawberry work too, of course... | 13:23 | |
pmichaud | jnthn: yeah, I was more interested in "easy for others to do" for that. | 13:24 | |
flussence | I wonder if reactOS is usable yet... | ||
pmichaud | and I think we need to be able to support Strawberry | ||
13:25
samlt left
|
|||
jnthn | It's desirable. I've tended towards the view of "at lesat make sure it always works well on one compiler on Windows". | 13:27 | |
And more are a bonus. | |||
masak | good day, #perl6 | 13:32 | |
adu | hey masak | 13:34 | |
13:37
samlt joined
|
|||
JimmyZ | I was using Strawberry perl 5.10 .... | 13:37 | |
but today I'm using 5.16 | |||
pmichaud: ^^ | 13:38 | ||
pmichaud | JimmyZ: yes; I found that 5.16 doesn't work for me on my 32-bit systems | ||
5.14 didn't work either, so I'm now trying 5.12 again just to make sure (and to have something to write up) | 13:39 | ||
...and I'm wondering what changed between 5.12 and 5.14 that causes dyncall to not work. | 13:40 | ||
13:48
samlt left
13:51
fridim_ joined
13:54
drbean left
13:55
tokuhiro_ left
13:56
drbean joined,
tokuhiro_ joined
14:00
tokuhiro_ left,
kaleem_ left
|
|||
[Coke] | hee. pugs passes 2 more tests than it did yesterday, rakudo doesn't. | 14:08 | |
[Coke] checks roast logs... | |||
adu | heh | 14:09 | |
[Coke] | ... weird. no changes that'd cause that in roast since the last pugs fudge. | ||
[Coke] wonders how much of pugs running at all is just heisencode at this point. | |||
14:11
cognominal_ left
14:14
cognominal joined,
sergot left
14:15
crab2313 joined
|
|||
seldon | I thought pugs was dead. | 14:18 | |
PerlJam | seldon: it was just hibernating for a while | ||
[Coke] | seldon: it's running almost 40% of the spectests that rakudo is. | 14:19 | |
... of the *number* of spectests. (not the same ones.) | |||
seldon | So it's only 60% dead? | ||
pmichaud | Pugs is channeling Kah Mun Rah. ("I have come BACK to life!") | ||
[Coke] | it doesn't have an active developer, but au did a great job keeping the last version on life support. | 14:20 | |
seldon | Pulling a Jesus, as it were. | ||
[Coke] | seldon: gist.github.com/1476841#file_perl6_pass_rates | 14:21 | |
note that most of those failures don't occur in a fresh checkout of pugs, and I have no idea why they're failing in my automated script. | |||
14:24
drbean left
14:26
drbean joined
14:30
GlitchMr42 joined
14:33
GlitchMr left,
GlitchMr42 is now known as GlitchMr
14:42
fglock left
|
|||
pmichaud | my @a = (3, 4, v1.2.3); say @a | 14:43 | |
r: my @a = (3, 4, v1.2.3); say @a | |||
p6eval | rakudo d8e7b6: OUTPUT«3 4 1 2 3» | ||
pmichaud | ...is that intentional? | ||
pmichaud checks spectests | 14:45 | ||
14:46
zhutingting joined,
cognominal left
14:48
cognominal joined
|
|||
masak .oO( we could scrap List and just use Version for all our sequencing needs ) | 14:49 | ||
jnthn | wow :) | ||
pmichaud | yeah, I'm thinking Version should has List ... instead of "is List" | ||
sirrobert | are there any docs available for ^add_fallback? | ||
jnthn | sirrobert: No, and...if you consider add_fallback a first resort rather than a last resort, something's wrong... :) | 14:50 | |
pmichaud | r: say v3.10 cmp v3.2 # oops | ||
p6eval | rakudo d8e7b6: OUTPUT«Increase» | ||
pmichaud adds spectest. | |||
sirrobert | I'm not sure it's a last resort, but it's at least a third resort at this point =) | ||
jnthn | sirrobert: OK, it's just that add_fallback exists at a meta-object level to help implement "handles", which is the user-oriented thing. | 14:52 | |
Well, to implement some cases of "handles" | |||
I'm all for meta-programming, but only if you exhausted what the object system offers out of the box ;) | |||
sirrobert | I'm pretty comfortable with the metaprogramming involved; but I'd *rather* use the out-of-the-box features as you say =) I'll try to find some docs on "handles" | 14:53 | |
kresike | bye all | ||
14:53
kresike left
|
|||
jnthn | S12 does a decent job on explaining handles | 14:53 | |
sirrobert | ok, looking (thanks) | 14:54 | |
jnthn | Dunno if p6doc has anything on it yet. | ||
sirrobert | I used it in moose a fair bit | ||
14:54
drbean left
14:55
kaare__ left
|
|||
jnthn | decommute & | 14:55 | |
14:56
drbean joined
|
|||
moritz | p6doc doesn't handle handles yet, no :/ | 14:59 | |
dalek | ast: 786c685 | pmichaud++ | S02-literals/version.t: Add version.t cmp test, fudged for rakudo. |
15:00 | |
masak | & | 15:01 | |
15:14
JimmyZ left
|
|||
pmichaud | r: my $range = 4..5; say 3 before $r | 15:14 | |
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===Variable $r is not declaredat /tmp/E3ct9F1H3O:1» | ||
pmichaud | r: my $range = 4..5; say 3 before $range | ||
p6eval | rakudo d8e7b6: OUTPUT«True» | ||
pmichaud | r: my $range = 4..5; say 4 before $range | 15:15 | |
p6eval | rakudo d8e7b6: OUTPUT«True» | ||
pmichaud | r: my $range = 4..5; say 5 before $range | ||
p6eval | rakudo d8e7b6: OUTPUT«False» | ||
pmichaud | r: my $range = 4..5; say 4.5 before $range | ||
p6eval | rakudo d8e7b6: OUTPUT«False» | ||
pmichaud | r: my $range = 4..5; say 4.5 after $range | ||
p6eval | rakudo d8e7b6: OUTPUT«True» | ||
moritz | strange | ||
pmichaud | hmmmmm | ||
I wonder if those should work :-) | |||
moritz | how would "work" look like? | 15:16 | |
pmichaud | well, we can already test if a value is *in* a range | ||
seems like we ought to be able to test if it comes before or after :-) | |||
moritz | so, before $range.min and after $range.max? | 15:17 | |
pmichaud | including exclusions, perhaps, yes. | ||
moritz | if that's what you mean, why don't you ask for it? :-) | ||
pmichaud | because 4 before 4^..5 wouldn't be the same as 4 before $range.min | 15:18 | |
it's just idle speculation at the moment; I'm not sure what $real cmp $range would need to look like | |||
moritz | and then you have to think about strings and string ranges | 15:19 | |
pmichaud | oh, string before/after is ordered already as well, so it seems like it should be similar | 15:20 | |
moritz | but note that string range generation uses a different comparison than before/after | 15:21 | |
(it checks .chars first, *then* before/after) | |||
so, things get trickier | |||
pmichaud | ....it does? | 15:22 | |
checking. | |||
moritz | r: say ('aa' .. 'z').list | ||
at least I think it should :-) | |||
p6eval | rakudo d8e7b6: OUTPUT«(timeout)» | ||
15:23
wtw left
|
|||
pmichaud | I don't believe it does that any more. | 15:23 | |
moritz | at least that's what p5 does | ||
15:23
bluescreen10 joined
|
|||
moritz | r: my $x = *; say (+$x) // 3 | 15:24 | |
p6eval | rakudo d8e7b6: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \$v, Mu *%_) in method Numeric at src/gen/CORE.setting:686 in sub prefix:<+> at src/gen/CORE.setting:2321 in block <anon> at /tmp/wRVIP2KAmz:1» | ||
15:24
drbean left
|
|||
moritz | that should probably just fail in a sensible way, not die | 15:25 | |
pmichaud | there's not a Whatever.Numeric | ||
moritz | maybe there should be | 15:26 | |
15:26
drbean joined
15:27
nightlord joined
|
|||
pmichaud | maybe the error message should say "Cannot call Numeric on object of type 'Whatever' ... " | 15:27 | |
moritz | technically the error message is correct | ||
15:28
birdwindupbird left
|
|||
moritz | because there's a multi available in Whatever (the Mu:U one), just none that matches | 15:28 | |
"Don't know how to make a number out of an object of type Whatever" | |||
maybe that should be the default numification in Mu:D: | |||
pmichaud | we can certainly try that. | 15:29 | |
makes sense, since all objects can .Stringy they should be able to .Numeric too :-) | 15:30 | ||
seldon | r: my $x = *; say (+$x)(3); | ||
p6eval | rakudo d8e7b6: OUTPUT«Cannot call 'Numeric'; none of these signatures match::(Mu:U \$v, Mu *%_) in method Numeric at src/gen/CORE.setting:686 in sub prefix:<+> at src/gen/CORE.setting:2321 in block <anon> at /tmp/OO6BoFFAIV:1» | ||
seldon | r: say (+*)(3); | 15:31 | |
p6eval | rakudo d8e7b6: OUTPUT«3» | ||
seldon | Also interesting: my &x = *; fails while my &x = +*; works. | 15:34 | |
pmichaud | +* is a code object (Callable), so the assignment is legal. | 15:35 | |
a bare * is a Whatever object, which isn't Callable. | |||
seldon | Huh. Indeed *(3) doesn't work. | ||
15:35
samlt joined
|
|||
pmichaud | right, * doesn't mean "closure" except when used with an operator | 15:35 | |
15:35
Coleoid joined
|
|||
pmichaud | r: (+*)(3) # works | 15:36 | |
p6eval | rakudo d8e7b6: ( no output ) | ||
pmichaud | r: say (+*)(3) # works | ||
p6eval | rakudo d8e7b6: OUTPUT«3» | ||
seldon | It would make a nifty identity function, though. | ||
pmichaud | well, only if we gave up the ability to use * for other things in other places | 15:37 | |
seldon | Perhaps a conversion operator *.Callable? It would mostly be interesting if you wanted to stow away closures for later use. | 15:48 | |
And it wouldn't change any parsing. | 15:49 | ||
pmichaud | {^$x} is shorter, though. | ||
er | |||
{$^x} | |||
moritz | {$_} | ||
seldon | But with the op you could write my &x = *; | ||
moritz | well, we could make * invocable, and have it return its argument | ||
r: say (2, 2).list cmp (2, 10).list | 15:50 | ||
p6eval | rakudo d8e7b6: OUTPUT«Decrease» | ||
pmichaud | moritz: you're clamining that class Whatever does Callable ? | ||
moritz: are you working on Version? I've got an edit going in a window right now | 15:51 | ||
moritz | pmichaud: we could make it that way. Currently it's certainly not specced that way | ||
pmichaud | I'm worried that it would cause all sorts of issues with multidispatch | ||
moritz | pmichaud: I've tried a Version patch, but it's not working | ||
pmichaud | Whatever doesn't mean "Callable", and I think it's a mistake to try to shoehorn it into that | ||
jnthn home | |||
moritz | pmichaud: you're probably right | ||
anyway, isn't (2, 2).list cmp (2, 10).list wrong? | 15:52 | ||
nr: say (2, 2).list cmp (2, 10).list | |||
p6eval | niecza v19-13-g442e075: OUTPUT«Increase» | ||
..rakudo d8e7b6: OUTPUT«Decrease» | |||
pmichaud | is &infix:<cmp> defined for lists? | ||
jnthn | Whatever almost certainly should not be callable. WhateverCode, however... :) | ||
moritz | I think that's the bug behind the failing Version cmp test you added | 15:53 | |
pmichaud: I'd expect it do lexicographic cmp on the elements | |||
pmichaud | ...is &infix:<cmp> defined for lists? | ||
moritz | pmichaud: in spec or in rakudo? | ||
pmichaud | I woudld find @a cmp @b to be a bit surprising. | ||
moritz: in spec. | 15:54 | ||
moritz | I wouldn't, not at all | ||
after we also define it for pairs | |||
15:54
mauke joined
|
|||
moritz | and there it's $a.key cmp $b.key || $a.value cmp $b.value | 15:54 | |
extending it to lists is obvious | |||
pmichaud | not to me... cmp normally works on scalars | ||
I'm not sure of anywhere else that we use cmp on aggregates of any form | |||
15:54
drbean left
|
|||
pmichaud | and I don't consider Pair to be an aggregate | 15:55 | |
moritz | but it is | ||
pmichaud | it acts more like a scalar with a name property than like an aggregate. | ||
Pair isn't an aggregate because it's not Iterable. It doesn't flatten, for instance. | |||
more generally, I think that Version ~~ List is wrong. | 15:56 | ||
moritz | why? | ||
pmichaud | r: my @a = (1,2,3, v4.5.6); say @a | ||
p6eval | rakudo d8e7b6: OUTPUT«1 2 3 4 5 6» | ||
moritz | maybe it schould be itemized then | ||
pmichaud | maybe it should act more like Match | ||
which also isn't iterable nor interpolative | 15:57 | ||
15:57
drbean joined
|
|||
moritz | well, that's what an itemized list would do, no? | 15:57 | |
pmichaud | I think a version should act like a List only when explicitly coerced to one | ||
I don't think that it should be Positional | |||
sub foo(@a) { ... }; foo(v3.4.5) | 15:58 | ||
moritz | good point | ||
mauke | perl6: say qq{ {2+3}} | ||
p6eval | rakudo d8e7b6: OUTPUT« 5» | ||
..niecza v19-13-g442e075: OUTPUT« {2+3}» | |||
mauke | what do I win? | 15:59 | |
PerlJam | mauke: nothing? :) | ||
15:59
[particle] left
|
|||
mauke | ruby and perl6 are fundamentally incompatible, and I think perl6 got it wrong :-/ | 15:59 | |
moritz | got what wrong? | 16:00 | |
mauke | code interpolation syntax | ||
PerlJam | mauke: why? | ||
16:00
cognominal left
16:01
cognominal joined
|
|||
moritz | nr: say " {2+3}" | 16:01 | |
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT« 5» | ||
mauke | { } are too weak for something as powerful as code interpolation | ||
moritz | I tend to agree | ||
mauke | let's say I want a big string that is CSS | 16:02 | |
I also want to interpolate parts of it | |||
pmichaud | inside of double-quoted strings, though, you typically don't want something too "heavy", because it gets in the way of the string. | ||
mauke | so I use a heredoc | ||
pmichaud | (as far as readability goes) | ||
mauke | in perl5 I'd get something like <<END / .column { background-color: ${\escape $foo->color}; } / END | 16:04 | |
flussence | this is why q has flags like rx | ||
PerlJam | mauke: There's always "use a template system" too | 16:05 | |
spider-mario | besides, that makes it easier to translate templates | ||
mauke | in perl6 I think it would be: qq:to(END) / .column \{ background-color: {escape $foo.color}; \} / END | ||
16:05
muixirt left
|
|||
PerlJam | flussence: the fine grain control of interpolation doesn't help in this scenario because the string will have lots of {} *and* only some of them should interpolate | 16:05 | |
mauke | the clear winner: ruby | 16:06 | |
pmichaud | I can do: | ||
spider-mario | how would it look like in Ruby? | ||
what* | |||
pmichaud | q:s { .column { background-color: $foo.color.&escape } } | ||
mauke | ruby uses #{...} for code in strings | 16:07 | |
PerlJam | spider-mario: #{code} IIRC | ||
pmichaud | the curlies don't interpolate | ||
jnthn | r: say "You can also interpolate $('ekil'.flip) this" | ||
p6eval | rakudo d8e7b6: OUTPUT«You can also interpolate like this» | ||
spider-mario | ok, thanks | ||
moritz would think &{...} might fit for Perl 6 | |||
16:08
zhutingting left
|
|||
jnthn | r: say "You can also interpolate &('ekil'.flip) this" # I guess :) | 16:08 | |
p6eval | rakudo d8e7b6: OUTPUT«You can also interpolate &('ekil'.flip) this» | ||
jnthn | hah, no :) | ||
Becuse there's no & contextualizer ;) | |||
mauke | "Unfortunately this suffers from the problem pervasive in Perl 5 of multi-pass parsing, which is masked somewhat because there's no way to hide a newline in Perl 5." | ||
mauke laughs bitterly | |||
Coleoid | [Coke]: If you have your $dayjob p6 environment and a few moments available, I'd like to know your toolchain and versions... | 16:09 | |
pmichaud | r: say q:s / .column { background-color: $(lc 'XYZ') } / | 16:10 | |
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===Colons may not be used to delimit quoting constructs at line 2, near ":s / .colu"» | ||
pmichaud | r: say qs / .column { background-color: $(lc 'XYZ') } / | ||
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===Unable to parse blockoid, couldn't find final '}' at line 2, near "background"» | ||
pmichaud | hmmm | ||
jnthn | pmichaud: Don't think we implement that stuff yet. | ||
PerlJam | r: say "foo $( my $x = 3 + 4; "bar" ) baz"; | ||
p6eval | rakudo d8e7b6: OUTPUT«===SORRY!===Redeclaration of symbol $xat /tmp/Aa6FKf8hzs:1» | ||
PerlJam | (where did I first declare it?) | 16:11 | |
bug and LTA error message | |||
pmichaud | $(...) isn't a closure. | ||
jnthn | The bug is that it thinks it's a redeclaration | ||
There shouldn't be an error. | |||
16:11
fridim_ left
|
|||
jnthn | The error is fine when it's triggered legitimately. | 16:11 | |
PerlJam | pmichaud: that would have been a better error message :) | ||
mauke | S02 explicitly says you can declare variables in $( ) | 16:12 | |
pmichaud | anyway, I wouldn't be surprised if Perl6 ended up with something like a :c(delim) option that allows specifying an alternate closure syntax. | ||
mauke | while that is nice for you, it doesn't help me with my problem :-) | 16:13 | |
16:13
adu left
|
|||
mauke | why is syntax so hard | 16:13 | |
pmichaud | is anyone filing PerlJam's bug find? | 16:14 | |
moritz | I can | ||
PerlJam | mauke: what exactly is your problem? What syntax to use for Perl 5? &{} seems like a winner to me. | 16:15 | |
mauke | PerlJam: I don't like &{} for approximately two reasons | ||
the first one is nobody else uses &{} for this | |||
PerlJam | Nobody used #{} before ruby. | 16:16 | |
(maybe) | |||
mauke | the second one is that &{} already means something else in perl5 | ||
spider-mario | does it? | ||
mauke | basically, a violation of the "similar things should look different" principle | ||
moritz | huh? | ||
spider-mario | you mean “different things” | 16:17 | |
moritz | I though similar things should look similar | ||
16:17
bbkr left
|
|||
moritz | and different things should look different :-) | 16:17 | |
mauke | moritz: no | ||
moritz | mauke: no? | ||
Coleoid | moritz: That's a different but also useful principle. | ||
spider-mario | and I’m not sure that that principle should apply accross different languages | ||
oh. | 16:18 | ||
PerlJam | mauke: But &mumble doesn't currently interpolate in strings anyway, so ... | ||
pmichaud | r: say "hello &uc('world')"; # checking | ||
p6eval | rakudo d8e7b6: OUTPUT«hello WORLD» | ||
pmichaud | &mumble interpolates if postcircumfixed. | 16:19 | |
PerlJam | sorry, I was speaking in a p5 context for mauke's problem | ||
pmichaud | oh | ||
I should probably stay out of this discussion. :-) | |||
16:19
[particle] joined
|
|||
Coleoid | Is there a build report collector for Rakudo that keeps latest success/failures with different configurations? | 16:21 | |
pmichaud | Coleoid: oh, I did more testing last night. I can build Rakudo under Win32 with Strawberry 5.12.3, but not with 5.14.1 or 5.16.0 | ||
I haven't been able to build Rakudo at all on Win7-64bit | |||
(with any version of Strawberry) | 16:22 | ||
diakopter did | |||
pmichaud: did you try building parrot with icu? | |||
pmichaud | diakopter: it's almost certainly not an icu thing | ||
mauke | spider-mario, moritz, PerlJam: the source of my principle seems to be www.nntp.perl.org/group/perl.perl6....11652.html | ||
(grep for "Umberto") | |||
pmichaud | it's entirely to do with the dyncall 3rd-party library | ||
I'm suspecting that dyncall with gcc under windows is a bit fragile; the dyncall developers all seem to use msvc | 16:23 | ||
diakopter: I can try it with icu, but dyncall is the consistent failure point, and afaik dyncall has almost nothing to do with icu | 16:24 | ||
of course, all of this would be helped if I had a 64-bit Windows to play with :) | |||
16:24
drbean left
|
|||
pmichaud | (I could nuke my notebook's copy of WinXP and install 64-bit Vista, I suppose.) | 16:25 | |
jnthn guesses it's some compilation flags issue. | |||
Oh, though maybe not... | |||
dyncall has its own configuration. | |||
pmichaud | well, if dyncall's gcc configuration doesn't match parrot/nqp's gcc configuration, then .... | ||
Coleoid | pmichaud: Thanks! So I won't worry about installing a whole basket of strawberries. | ||
pmichaud | Coleoid: if I get some time later I'll likely try again with ActivePerl and MSVC | 16:26 | |
pmichaud checks to see what version of Windows he has for his notebook | |||
16:26
drbean joined
|
|||
spider-mario | mauke : that’s interesting indeed. | 16:27 | |
thanks for sharing. | |||
16:27
nightlord left
16:28
sergot joined
|
|||
Coleoid | pmichaud: I'm thinking that's the way I'll head, too. | 16:28 | |
mauke | it's surprisingly on-topic for this channel, even :-) | ||
Coleoid | pmichaud: Well, I'll try with MSVC, anyhow, first. | 16:29 | |
16:29
alester joined
|
|||
Coleoid | diakopter: you're succeeding w/ win7/64, strawberry, msysgit, and not much else? | 16:31 | |
Aside from aforementioned icu? | |||
16:32
kaare__ joined
16:33
brrt joined
|
|||
diakopter | Coleoid: yes, as far as I can tell. | 16:35 | |
16:35
thou left
|
|||
diakopter | how about I try it with a separate install of the latest version of strawberry, and *only* strawberry, msysgit on my path | 16:35 | |
also, I'll upgrade msysgit to the latest | 16:36 | ||
pmichaud | afk # commute | ||
16:44
kaare__ is now known as kaare_
|
|||
diakopter | ok, trying with latest msysgit, latest 64-bit strawberry perl, and set PATH=%SystemRoot%\system32;%SystemRoot%;C:\strawberry2\c\bin;C:\strawberry2\perl\site\bin;C:\strawberry2\perl\bin;c:\Users\mwilson\src\icu\bin;C:\Program Files (x86)\Git\cmd | 16:47 | |
if it's broken, I'll add things back in one by one (including the older strawberry) to see what fixes it | 16:48 | ||
if it's not broken... I dunno. | |||
yay! it's broken! | 16:50 | ||
16:50
brrt left
|
|||
diakopter | actually I think I'll try latest 32-bit strawberry first | 16:51 | |
16:51
cognominal_ joined,
brrt1 joined
16:52
zby_home_ joined
|
|||
diakopter | phenny: tell pmichaud I got it to die with "undefined reference to `dcCall_x64_win64'" on my machine trying with latest msysgit, latest 64-bit strawberry perl, and set PATH=%SystemRoot%\system32;%SystemRoot%;C:\strawberry2\c\bin;C:\strawberry2\perl\site\bin;C:\strawberry2\perl\bin;c:\Users\mwilson\src\icu\bin;C:\Program Files (x86)\Git\cmd | 16:52 | |
phenny | diakopter: I'll pass that on when pmichaud is around. | ||
diakopter | phenny: tell pmichaud so it's definitely not icu | ||
phenny | diakopter: I'll pass that on when pmichaud is around. | ||
Coleoid | diakopter: Yay for broken! | 16:54 | |
16:54
cognominal_ left,
cognominal left,
cognominal_ joined,
drbean left
16:55
brrt1 left,
brrt joined
|
|||
Coleoid | If you pass build with Strawberry32 I'll be slightly mistifogged. | 16:55 | |
16:56
crab2313 left
16:57
drbean joined,
dakkar left
16:58
crab2313 joined
17:02
cognominal_ left,
cognominal_ joined
17:05
brrt left
17:11
brrt joined,
thou joined
|
|||
diakopter | Coleoid: yep, I get the same failure as pmichaud using 32-bit latest perl | 17:12 | |
flussence | oh hey, I didn't realise I could just do: (cd nqp; git clean -dfx; git checkout origin/master~100; perl Configure.pl; make)... | ||
time to bisect that stupid compile error on my laptop | |||
17:14
brrt left
17:18
MayDaniel joined
|
|||
diakopter | Coleoid: see my comment on github.com/perl6/nqp/issues/47 | 17:21 | |
Coleoid: basically, the only strawberry that we know works is 32-bit 5.12.3 (May 2011 release). | |||
Coleoid | diakopter: Does Strawberry bring in its own dyncall? | 17:24 | |
17:24
zby_home_ left,
zby_home joined,
drbean left
|
|||
Coleoid | diakopter: ...or am I trying too hard to make a connection between the too-few clues I see? | 17:24 | |
diakopter | no, it must be something about the later versions of gcc, and also something about the 64-bit gcc | 17:25 | |
17:26
drbean joined
|
|||
diakopter | Coleoid: ready to try msvc? or do you want to try strawberry 32-bit 5.12.3? | 17:27 | |
Coleoid | I figured out an incantation to build parrot with SbP & MSVC, but the same incantation (or primitive mods to it) doesn't work to change the NQP build over to MSVC. | ||
It still builds w/GCC. | |||
17:28
cognominal_ left,
cognominal_ joined
17:31
cognominal_ left
|
|||
diakopter | Coleoid: trying with VC10, and strawberry perl, but with strawberry\c\bin removed from PATH | 17:32 | |
32-bit VC10, I should specify | 17:33 | ||
Coleoid: I got inter::progs - Determine what C compiler and linker to use...Compilation | 17:37 | ||
failed with 'gcc' | |||
I wonder why it demands gcc | |||
because perl was compiled with gcc? | |||
ok, I'll try activestate perl instead of strawberry | 17:38 | ||
17:40
seldon left
|
|||
pmichaud | back again | 17:41 | |
phenny | pmichaud: 16:52Z <diakopter> tell pmichaud I got it to die with "undefined reference to `dcCall_x64_win64'" on my machine trying with latest msysgit, latest 64-bit strawberry perl, and set PATH=%SystemRoot%\system32;%SystemRoot%;C:\strawberry2\c\bin;C:\strawberry2\perl\site\bin;C:\strawberry2\perl\bin;c:\Users\mwilson\src\icu\bin;C:\Program Files (x86)\Git\cmd | ||
pmichaud: 16:52Z <diakopter> tell pmichaud so it's definitely not icu | |||
diakopter | pmichaud: I updated the nqp ticket | 17:43 | |
er, commented on it | |||
pmichaud | Coleoid: if you get parrot to build with MSVC, then NQP built using that parrot should also be using MSVC. | 17:44 | |
diakopter++ # updating ticket, testing | |||
Coleoid | pmichaud: I like that theory! | 17:45 | |
diakopter | Coleoid: which 'make' tool are you using with msvc? | ||
Coleoid | nmake | 17:46 | |
diakopter | where did you get it? | ||
jnthn | comes with msvc++, no? :) | ||
Coleoid | C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.EXE | 17:47 | |
afk a few... | |||
jnthn | www.microsoft.com/visualstudio/en-u...pp-express # it installs an IDE too, but also should give you the things you need to build NQP and Rakudo. | 17:48 | |
(Yes, it's free.) | 17:49 | ||
dalek | ast: 24916aa | pmichaud++ | S02-literals/version.t: Fix fudge. |
||
17:49
fgomez left
17:54
drbean left
17:57
drbean joined
|
|||
masak | good evening, #perl6 | 17:59 | |
pmichaud | masak! o/ | ||
masak | r: say "OH HAI" # I have a 14yo lokoing over my shoulder :) | ||
p6eval | rakudo d8e7b6: OUTPUT«OH HAI» | ||
masak | r: .say for 1..10 | ||
p6eval | rakudo d8e7b6: OUTPUT«12345678910» | ||
pmichaud | r: say "Hello 14yo looking over masak++'s shoulder!" | 18:00 | |
p6eval | rakudo d8e7b6: OUTPUT«Hello 14yo looking over masak++'s shoulder!» | ||
diakopter | Coleoid: did you use vcvarsall to setup your environment? | ||
masak | r: .say for "Jokubas", *.chomp ... "" | 18:01 | |
p6eval | rakudo d8e7b6: OUTPUT«(timeout)» | ||
pmichaud | ... .chop? | ||
masak | o.O | ||
flussence | that should'a worked. | ||
masak | r: .say for "Jokubas", *.chop ... "" | ||
pmichaud | .chomp only eats newlines, iirc. | ||
p6eval | rakudo d8e7b6: OUTPUT«JokubasJokubaJokubJokuJokJoJ» | ||
18:01
mucker left
|
|||
flussence | oh, there | 18:02 | |
masak | \o/ | ||
pmichaud | ooooh | ||
r: .say for "pmichaud", *.substr(1) ... "" | |||
p6eval | rakudo d8e7b6: OUTPUT«pmichaudmichaudichaudchaudhaudaududd» | ||
pmichaud | coooooooooool | ||
masak++ | |||
masak | :D | ||
18:03
Jokubas joined
|
|||
masak | Jikubas: OH HAI \o/ | 18:03 | |
Jokubas* | |||
Jokubas | oh hello there :) | ||
18:03
supernovus joined,
Jokubas left
|
|||
masak | 14yo was brief here :) | 18:03 | |
diakopter checks out rakudo+nqp+parrot for the 15th-ish time in 20 hours. | |||
pmichaud | I remember being 14yo.... like it was 32 years ago. :) | ||
I got my first computer at 14. Dad didn't want me to have one... figured it would end up in the closet and be a waste of money. :-P | 18:04 | ||
flussence | r: .say for reverse [\~] 'abcdef'.comb | 18:05 | |
p6eval | rakudo d8e7b6: OUTPUT«abcdefabcdeabcdabcaba» | ||
flussence | .oO( gee, I like making things difficult... ) |
||
supernovus | In a comb() regex, is there a way to say I don't want a part of the pattern included in the results? Say for instance, $string.comb(/\".*?\" | \'.*?\' | \S+/); As it currently works, the strings in quotes have the quotes included in the matches, is there a way to exclude them automatically? Or is this best left to trimming them out after the matches? | 18:09 | |
diakopter | pmichaud: I updated your windows rakudo build doc a lot | 18:10 | |
flussence | nr: say q{"abc" d}.comb(/ \" <( .*? )> \"); | 18:11 | |
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Unable to parse regex; couldn't find final '/' at /tmp/ak6A1FkTa7 line 1:------> say q{"abc" d}.comb(/ \" <( .*? )> \"⏏);Parse failed» | ||
..rakudo d8e7b6: OUTPUT«===SORRY!===Preceding context expects a term, but found infix / insteadat /tmp/dY5A8wpx3Q:1» | |||
Coleoid | diakopter: yep, VCVars via the studio command line shortcut. | ||
flussence | whoops | ||
nr: say q{"abc" d}.comb(/ \" <( .*? )> \" /); | |||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«abc» | ||
diakopter | parrot *feels* like it's building significantly faster using msvc than using gcc | 18:12 | |
18:13
snearch joined
|
|||
diakopter | same with nqp. | 18:13 | |
Coleoid: I didn't have to modify anything to get parrot and nqp to build | 18:14 | ||
Coleoid | With SbPerl and MSVC? | ||
diakopter | no, activeperl and msvc | 18:15 | |
jnthn: do you build with activeperl or strawberry? | 18:16 | ||
supernovus | I just realized my question, while academically interesting, is actually unnecessary, as I want the quotes in the returned strings in my particular application after all. Ah the joys of writing template engines. | ||
diakopter | Coleoid: I think with msvc you'll have to use activeperl, because parrot tries to get its compiler info from perl (I think) | 18:17 | |
Coleoid | diakopter: AsPerl and MSVC is probably my evening config change. | 18:18 | |
diakopter | Coleoid: see my instructions at docs.google.com/document/d/1kNED54...edit?pli=1 | ||
however, on my machine, rakudo built with msvc builds CORE.setting 13% slower than rakudo built with gcc | 18:20 | ||
there, built successfully on 64-bit Win7 with 64-bit activeperl and 64-bit msvc | 18:22 | ||
18:24
crab2313 left,
drbean left
|
|||
Coleoid | Thanks for the doc! I may try both paths for the practice, but I don't feel I've got the chops to fix Strawberry or dyncall to remove the version sensitivity, so I think my working env will be AsPerl and MSVC. | 18:25 | |
18:26
drbean joined
|
|||
Coleoid | Is there a build-on-config success/failure collector for Rakudo? ISTR Perl 5 has one, and I'm not sure which other projects do. | 18:27 | |
18:27
crab2313 joined
|
|||
Coleoid | Gone for now, $dayjob calls. | 18:28 | |
Thanks for the assistance, diakopter++, pmichaud++ ! | 18:30 | ||
diakopter | yw | ||
jnthn | diakopter: Active | 18:33 | |
diakopter | k | ||
jnthn: see the doc linked above and suggest/make changes if you like | 18:34 | ||
18:34
Coleoid left
|
|||
jnthn | diakopter: May be worth a note that the bitness of the AS and MSVC should match. Otherwise, there will be trouble. | 18:36 | |
diakopter | done. | 18:38 | |
18:40
sporous joined
|
|||
pmichaud | STD.pm6 still uses the older ** syntax for repetition? | 18:41 | |
jnthn | pmichaud: ** is still the syntax for repetition a number of times, iirc, just not for separators. | 18:42 | |
arnsholt | jnthn: I've realized there are two callback cases to be handled BTW | ||
jnthn | oh | ||
token charnames { \s* [<charname><.ws>] ** [','\s*] } | |||
Yeah, that's gotta be outdated... | |||
arnsholt | C calling back into Perl (which is what I'm handling now) and Perl invoking a function pointer returned from C | ||
pmichaud | yes, I meant for separators, thanks | ||
arnsholt | I've relegated the latter case to "marginal not gonna bother" for the time being | 18:43 | |
jnthn | I guess STD was updated to parse the new syntax, but doesn't use it itself yet. | ||
pmichaud | I wonder if that's worth of a github issue :) | ||
jnthn | arnsholt: +1 | ||
pmichaud | STD parses the new syntax? | ||
jnthn | arnsholt: I think the "calling back to Perl" is the useful case | ||
pmichaud | hmmmmm | ||
arnsholt | But hopefully we can use the existing NativeCall REPR to do most of the heavy lifting | ||
jnthn | std: /a+ % b/ | ||
pmichaud | maybe I should file a github issue ticket for it :) | ||
p6eval | std fd2647b: OUTPUT«ok 00:00 41m» | ||
pmichaud | std: /a+ %% b/ # checking | 18:44 | |
p6eval | std fd2647b: OUTPUT«ok 00:00 41m» | ||
arnsholt | Yeah, definitely. Doing continuation passing between C and Perl smells way, way marginal as far as use cases go | ||
pmichaud | well, it could parse the new syntax but not implement it. | ||
I'd better leave it as an issue for now and let someone more familiar with STD.pm6 status make patches. | |||
jnthn | +1 | 18:45 | |
Yeah, see <separator> in the regex chunk of the grammar | |||
I think I may have stolen it pretty much as is into QRegex. | |||
18:45
thou left
|
|||
pmichaud | yes, I looked at that last week and it looked fine. | 18:45 | |
(about the same time I was updating for <( and )> and looking at other regexy things. | 18:46 | ||
18:49
thou joined
|
|||
jnthn did something right in the regex engine! :) | 18:49 | ||
[Coke] | phenny: tell Coleoid that smolder.parrot.org/app/projects/smoke_reports/5 exists for tracking test failures on different versions/platforms. | ||
phenny | [Coke]: I'll pass that on when Coleoid is around. | ||
[Coke] is pretty sure there used to be a "make smolder_test" or similar. | 18:50 | ||
18:50
vmspb joined
18:52
daxim left
|
|||
sorear | good * #perl6 | 18:54 | |
flussence | [Coke]: `make spectest_smolder` | ||
18:54
telex left,
drbean left
|
|||
mauke | niecza: q{ {2+2} } | 18:54 | |
p6eval | niecza v19-13-g442e075: ( no output ) | ||
benabik | Or just `make smolder` to run the basic tests, IIRC. | 18:55 | |
18:55
drbean joined
|
|||
[Coke] is reminded that he stalled out on github.com/coke/muddle | 19:00 | ||
19:01
telex joined
|
|||
flussence | ooh, I think I can bisect this all the way using only battery power... | 19:01 | |
19:12
GlitchMr left
19:16
samlt left
19:17
pyrimidine joined
19:22
spider-mario_ joined
19:23
spider-mario left
19:24
drbean left
19:25
[particle]1 joined
19:26
drbean joined
19:28
samlt joined
19:29
[particle] left
|
|||
tadzik | ho, FPW's Lightning Talks are online | 19:41 | |
brrr, it's horrible to listen to yourself talking | 19:42 | ||
jnthn | I know! | ||
tadzik | <insert rageface> | ||
jnthn | I'm always like..."wtf, I sound like THAT"? | ||
19:43
Bucciarati left
|
|||
sergot | tadzik: where are they? :) | 19:43 | |
19:43
sudokode joined
|
|||
tadzik | sergot: try "journeesperl" maybe | 19:44 | |
mine is at www.youtube.com/watch?v=_qtLHrQXblY | |||
19:44
birdwindupbird joined
|
|||
PerlJam | 1 euro/day is better than $10USD/day at many US hotels (oddly, it's the cheaper hotels that have free internet for guests) | 19:47 | |
sergot | tadzik++ I like it \o/ | 19:48 | |
tadzik | \o/ | ||
that's good to hear | 19:49 | ||
shame the Bailador one wasn't recorded | |||
19:50
Bucciarati joined
|
|||
flussence | PerlJam: I've heard it explained as people who stay at expensive hotels and need internet are usually on business trips, so they don't care what the cost is; it all goes on their corporate account anyway. The hotels have figured this out and milk it for all they can :) | 19:50 | |
PerlJam | heh, I'm watching jnthn's LT on awesome operators and it sounds like mst piped up to ask about anime cats. | 19:51 | |
flussence: yeah, that's what I figured too | |||
flussence | jnthn! nqp 35db044 broke my laptop's perl6! and it's a 50 thousand line diff! | 19:52 | |
jnthn | oh f... | ||
What can I say, I code REALLY fast :P | |||
It's hard to take commit breaks. | 19:53 | ||
tadzik | :D | ||
moritz | is that the bootsrap update? | ||
jnthn | Oh. It was a bootstrap update. | ||
That potentially means that any commit between this bootstrap update and the last bootstrap update before it is guilty :( | 19:54 | ||
19:54
drbean left
|
|||
jnthn | The one before it was 594b59d | 19:55 | |
19:56
snearch left,
drbean joined
|
|||
jnthn | 98 commits /o\ | 19:56 | |
moritz | that was altnfa, no? | ||
jnthn | Yeah | ||
moritz | and qrpa | 19:57 | |
tadzik | aaargh | ||
jnthn | Well | ||
flussence | I did a git bisect over the last 400 commits to get here, if there's a way to do this part myself I can try it again | ||
jnthn | The way to find it is to bisect all of those revisions. | ||
Basically, for each commit, do make bootstrap-files; make clean; make | |||
well, Configure first. | 19:58 | ||
flussence | .oO( time to plug in the laptop charger... ) |
||
jnthn | BUT...not every commit will be an NQP in a particularly working state. | ||
tadzik | panda doesn't like to be compiled while it's running | ||
flussence | bad panda! be more re-entrant! :) | 19:59 | |
jnthn | flussence: If you want to check one revision out by hand with the method I suggested that would give us some idea... d63dec6 is a good one. | 20:00 | |
flussence | right. | ||
jnthn | flussence: That is the last revision before work on altnfa started. | ||
20:00
mauke left,
preflex left
|
|||
jnthn | ed6ecff is also maybe interesting in so far as it's a point where altnfa works, but before some optimizations. | 20:02 | |
sorear | thank you tadzik for inspiring me to finish niecza/non-bootstrap :D | ||
tadzik | hehehe | ||
masak | tadzik++ sorear++ | 20:04 | |
tadzik | aaargh I fail at git | ||
dalek | nda: b19c383 | tadzik++ | / (4 files): Remove platform-specific bootstraps in favor (favour?) of pure-Perl6 version |
20:05 | |
sorear | tadzik: favor and favour are both valid | ||
tadzik | oh, not so much | ||
sorear: the latter is british, right? | |||
masak | aye. | ||
sorear | the former is more common in the US, the latter is more common in the commonwealth, right | ||
20:05
sporous left
|
|||
tadzik | british-ish | 20:05 | |
sorear | I don't know much about english as written in poland :D | 20:06 | |
tadzik | :) | ||
masak | hey! don't muddle a totally black-and-white issue! :P | ||
tadzik | Polish English | ||
masak | 'ou' is BE. | ||
tadzik | ok, what was I to do with panda again | ||
masak | which is why the Brits spell it *loul* | ||
sorear | .oO( Reverse Polish English ) |
||
masak .oO( I need to reverse Polish up my English ) | |||
20:06
mauke joined
20:07
crab2313 left
|
|||
tadzik | I'd be glad to hear if bootstrap.pl works for anyone else than me :) Volunteers? | 20:07 | |
dalek | nda/pod-installing: 395943c | tadzik++ | ext/File/Find.pm: Merge branch 'master' into pod-installing |
||
nda/pod-installing: de5092e | tadzik++ | / (9 files): Merge branch 'pod-installing' of github.com:tadzik/panda into pod-installing |
|||
tadzik | oh gosh, what happened :) | ||
arnsholt | One of my professors has a standard exam question for his grammar engineering class called Reverse English | ||
It's pretty hard | |||
20:09
mauke left,
preflex_ joined,
preflex_ is now known as preflex
20:12
mauke joined
20:13
preflex left
|
|||
pmichaud | hmmmm, github fail.... or at least delay | 20:14 | |
dalek | ast: 37470f3 | pmichaud++ | S02- (2 files): Some more tests for the Version type. |
20:16 | |
tadzik | anyone experienced with git submodules? | ||
or should I just stay away from them? :) | |||
masak | rn: say "abc".trans(['a' => 'n']) | 20:17 | |
p6eval | niecza v19-13-g442e075: OUTPUT«Unhandled exception: ["a" => "n"] is not a Pair at /home/p6eval/niecza/lib/CORE.setting line 1403 (die @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 2647 (ANON @ 6)  at /home/p6eval/niecza/lib/CORE.setting line 2678 (Niecza-trans @ 9)  at /hom… | ||
..rakudo d8e7b6: OUTPUT«Only Pair objects are allowed as arguments to Str.trans, got Array in method trans at src/gen/CORE.setting:4232 in block <anon> at /tmp/GsYXaNxK_P:1» | |||
masak | rn: say "abc".trans(['a'] => '[n']) | ||
dalek | kudo/nom: d66eff4 | pmichaud++ | src/core/Version.pm: Refactor Version so that it's not ~~ List. |
||
kudo/nom: efc327f | pmichaud++ | src/core/Version.pm: Add Version.new(Str:d) method. |
|||
kudo/nom: a67c130 | pmichaud++ | src/Perl6/ (2 files): Switch compiler to use Version.new(Str) instead of Version.new(@array). |
|||
p6eval | niecza v19-13-g442e075: OUTPUT«===SORRY!===Unable to parse argument list at /tmp/beCmohgT7z line 1:------> say "abc".trans(⏏['a'] => '[n'])Couldn't find final ')'; gave up at /tmp/beCmohgT7z line 1:------> say "abc".trans(['a'] => '[n'… | ||
..rakudo d8e7b6: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2, near "])"» | |||
kudo/nom: d0963e9 | pmichaud++ | src/core/Version.pm: Remove Version.new(@args, :plus) form. |
|||
kudo/nom: 6282653 | pmichaud++ | / (2 files): Add &infix:<cmp>(Version, Version); |
|||
masak | rn: say "abc".trans(['a'] => ['n']) | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«nbc» | ||
masak | rn: say "abc".trans(['a..c'] => ['n..p']) | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«abc» | ||
dalek | ast: 15c92c1 | pmichaud++ | S02-literals/version.t: Unfudge now-passing cmp test in version.t . |
||
masak | did I just dream it, or should .trans support .. in strings in arrays in pairs? | 20:18 | |
pmichaud | masak: I've never been able to keep up with all of the .trans forms :) | ||
.trans reminds me of the many iterations of ... before it was simplified :) | |||
masak | well, the calling syntax of .trans always struck me as one level too complicated. | 20:19 | |
but I don't remember it changing so much, tbh. | |||
in the spec, that is. | 20:20 | ||
20:20
Bucciarati left
|
|||
pmichaud | yes, the calling syntax reminds me of that also. It feels like overloading too many options into one method, so that you're never sure which combinations are valid (and if they're valid, what they do) | 20:20 | |
masak | *nod* | 20:21 | |
pmichaud | anyway, I don't know the answer to the .trans question, sorry. :) | ||
afk # decommute | |||
masak czechs S05 | 20:23 | ||
flussence | btw if anyone's looking for a puzzle to solve, using one .trans(«& < > " '»...) to escape HTML is currently slower than doing five separate .subst calls. :) | ||
PerlJam | masak: in any case, it seems weird to me that .trans would allow .trans('a..c' => 'n..p'), but not allow .trans(['a..c] => ['n..p']); | ||
flussence | d63dec6 builds fine. trying the other one now... | ||
masak | oh! it seems it's either should be with no arrays, or with ranges of chars. | 20:24 | |
the combo I did is not in there. | |||
which kinda proves pmichaud's point, I guess. | |||
PerlJam | yep | ||
masak | rn: say "abc".trans('a..c' => 'n..p') | ||
p6eval | rakudo d8e7b6, niecza v19-13-g442e075: OUTPUT«nop» | ||
masak | there we go. | ||
20:24
drbean left
|
|||
masak | I'd like to file a formal complaint that I'm more than Least Surprised. :) | 20:25 | |
20:25
drbean joined
20:29
sftp_ left
20:30
sftp joined
20:31
[particle]1 is now known as [particle]
20:32
adu joined
|
|||
masak | in #postgresql they have a nice atmosphere, too. there's a nick there "RhodiumToad". I'm starting to think there's a positive correlation between channel niceness and amphibian nick density. | 20:33 | |
pmichaud | github.com/perl6/specs/issues/new # <-- complaint department for masak++ | 20:36 | |
or, p6l if you also want extra bikeshedding with your order :) | |||
masak | that seems not entirely unapt for this. | 20:37 | |
I'll see if I have time to put together either a specbug, or a p6l thread seed, or both, tonight. | |||
if not, I'll get to it tomorrow. | |||
dalek | nda/offline-bootstrap: c77524e | tadzik++ | / (38 files): First shot at offline bootstraping; seems to work |
||
20:38
MayDaniel left
|
|||
flussence | aha. | 20:43 | |
ed6ecff is bad. | |||
(still bisecting, but at least I have two endpoints to go from) | 20:44 | ||
jnthn | That narrows it to 33 commits | 20:45 | |
masak | furthermore, I posit that the "Download" link on perl6.org is lacking for two reasons: (a) too many clicks for no benefit. I count 3 clicks to actually start a download. decisions on the way which don't really matter. | 20:49 | |
(b) never once does it mention Niecza. | |||
the (a) one is unfortunate from a "conversion" perspective. the (b) one is unacceptable. | 20:50 | ||
20:51
Bucciarati joined
|
|||
flussence | have it like mozilla.com... but whichever perl6 has the current highest test score gets the big button :) | 20:52 | |
(also, ow. that's a lot of orange on their site.) | 20:53 | ||
20:53
crab2313 joined,
adu left
|
|||
pmichaud | masak: I think having a single download page on perl6.org would be useful for both (a) and (b) | 20:54 | |
20:54
drbean left
20:55
drbean joined
|
|||
PerlJam | what about making the download button more into a box with 3ish buttons that read "Download Rakudo", "Download Niecza", "Download Pugs" ? | 20:55 | |
dalek | nda/offline-bootstrap: c37cd2c | tadzik++ | b (2 files): Ensure that DESTDIR is respected |
||
pmichaud | someone new to perl6 would want to know the difference and how to choose. | ||
tadzik | phenny: tell moritz panda on offline-bootstrap is capable of installing itself to a specified directory without an internet connection. That could prove useful for Star | 20:56 | |
phenny | tadzik: I'll pass that on when moritz is around. | ||
masak | pmichaud: +1 for Download page. | ||
pmichaud: if we can make that page very simple and 1-click, then that would be really nice. | |||
pmichaud | yes, I agree. | ||
jnthn | Also, when we have it, should link directly to MSI for Windows users too. | 20:57 | |
dalek | nda/offline-bootstrap: ee1aa2b | tadzik++ | projects.json.bootstrap: Oops, forgot the most important part |
||
pmichaud | yes, I agree. | ||
and I expect 2012.07 star to have a MSI for Windows. | |||
masak | a good first start would be simply: "There are two Perl 6 compilers that we recommend: * Rakudo: [.tar.gz latest], [Windows latest] * Niecza [latest]" | ||
or maybe s/Rakudo/Rakudo Star/ | |||
pmichaud | if someone prototypes a page I'll do some updates to it. I'll also make sure that updating that page gets into the appropriate sets of release notes. | 20:58 | |
tadzik | phenny: tell moritz also, by manipulating projects.json.bootstrap and bootstrap.pl it should be able to install any Star modules required, all offline | 20:59 | |
phenny | tadzik: I'll pass that on when moritz is around. | ||
masak | if no-one gets to it before tomorrow, I'll try to make time for prototyping a page after doing the .trans bits. | ||
dalek | d: 3b49ac8 | pmichaud++ | STD.pm6: The '+' in <?before \d+> is redundant. |
21:01 | |
21:05
skids left
21:07
fgomez joined
|
|||
dalek | osystem: 32358db | (Timothy Totten)++ | META.list: Added Template6 to module list. |
21:10 | |
sergot | good night! o/ | 21:11 | |
21:11
sergot left
|
|||
masak | dobranoc, sergocie. | 21:13 | |
tadzik | 'noc | ||
21:17
birdwindupbird left
21:19
lue left,
Bucciarati left
21:20
dukeleto joined
|
|||
[Coke] has a nice first experience with SourceTree from atlassian on OS X. | 21:22 | ||
21:22
kaare_ left
|
|||
[Coke] | (native osx git gui) | 21:22 | |
PerlJam | [Coke]: excellent. | 21:23 | |
I remember trying several svn gui clients on MacOS a few years ago and they invariably corrupted things. Thus I'm a little gun-shy when it comes to source code control guis | 21:24 | ||
21:24
drbean left
21:25
drbean joined
21:33
supernovus left,
lue joined
21:35
zby_home left
21:36
vmspb left
|
|||
masak | lol I managed to produce another July blog post! \o/ strangelyconsistent.org/blog/july-1...her-things | 21:38 | |
read it while it's still warm. | |||
jnthn | pmichaud: Don't suppose you know off the top of yoru head if peek_exception always gets the same thing an immediately-following .get_result ($Pfoo) does? | 21:39 | |
*your | |||
hmm, it looks like it does... | 21:40 | ||
flussence | r: say ('a'..'z')[0 ..^ */3] | 21:47 | |
p6eval | rakudo 628265: OUTPUT«a b c d e f g h i» | ||
flussence | .oO( /me ponders the evil ways which this can be misused... ) |
||
turns out not many. nuts :( | 21:51 | ||
21:54
drbean left
|
|||
pmichaud | jnthn: peek_exception? what's that? | 21:55 | |
pmichaud doesn't remember "peek_exception" | |||
what's a good name for a method that decontainerizes all of the elements in a list? | |||
21:56
drbean joined
|
|||
pmichaud | we could potentially bring back .seq for that :) | 21:56 | |
21:59
Bucciarati joined
|
|||
masak | sometimes I feel there should be more of an across-the-board solution to decontainerization. not just scattered types everywhere. | 22:00 | |
jnthn | pmichaud: Something I think I may not need in the end... :) | 22:01 | |
pmichaud: It was possibly just a hack on top of the existing pile of exception code-gen hacks... | 22:02 | ||
diakopter | [Coke]: I spend a very large part of my $work time interacting with APIs of very large installations of various Atlassian products. | 22:03 | |
oh, and I attended the Atlassian conference in SF last month | 22:04 | ||
pmichaud | masak: well, that's why I'm asking about a method and not a type :-) | 22:05 | |
jnthn: I'm also thinking of adding some sort of $!flat flag to Parcel, to signal when all of the elements are already flat. | 22:06 | ||
diakopter | pmichaud: how about decontainerize_all_the_things | ||
jnthn | You think it's cute today... :) | ||
pmichaud | diakopter: well, yes, I could do something like that; I'm hoping for something that is spec-ish | ||
jnthn | pmichaud: Benefit? | ||
pmichaud | .values would be another choice.... but we already have .values meaning something else | ||
jnthn | pmichaud: Performance? Semantics? | 22:07 | |
pmichaud | performance, mainly | ||
some help with semantics | |||
diakopter | .containeds | ||
jnthn | pmichaud: How would be decide when to set it? | ||
pmichaud | jnthn: the parcel would detect it and set it at runtime (mre) | ||
$!flat can be True, False, or Mu (don't know yet) | |||
jnthn | nqp: pir::die__Ps('lol') | 22:08 | |
p6eval | nqp: OUTPUT«error:imcc:The opcode 'die_p_sc' (die<2>) was not found. Check the type and number of the arguments in file '(file unknown)' line 172237460» | ||
jnthn | nqp: pir::die__vs('lol') | ||
p6eval | nqp: OUTPUT«lolcurrent instr.: '_block1000' pc 24 ((file unknown):36) (/tmp/FpsHtMtc6v:1)» | ||
jnthn | pmichaud: Can we ever know it at compile time, ooc? | ||
pmichaud | when we ask a Parcel for something where flatness would help, it can inspect its elements very quickly (parcels are finite) to decide that and set the flag. | ||
jnthn: we can know it at compile time sometimes, yes. | |||
but more importantly, we can detect it at build time | |||
*and* our Parcel builder is in C | |||
*and* we're already scanning all of the elements of the Parcel | 22:09 | ||
jnthn | Ah | ||
pmichaud | so it's just an additional check then to set the flag. If we don't want to incur the runtime cost at build time, we can always wait to incur it at .flat time | ||
jnthn | There's the extra memory too, of course... | ||
pmichaud | one extra binding, yes. | 22:10 | |
jnthn | otoh | ||
We currently in build Parcels even full of literals every single time at runtime. | |||
pmichaud | well, I expect that to be optimized away someday | ||
jnthn | Doing those once at compile time will win us plenty and this seems to increase the value of doing that. | 22:11 | |
(e.g. it's even more that we can figure out at compile time) | |||
pmichaud | yes | ||
jnthn | Sounds like it's an overall win. | ||
pmichaud | mainly it bugs me that Parcel.flat constructs a (lazy) list that then has to be iterated in order to do things like .[] on the Parcel | ||
if the Parcel already knows it's flat, it can construct a reified list directly | 22:12 | ||
22:12
alester left
|
|||
jnthn | *nod* | 22:12 | |
pmichaud | and that's just a simple clone + create operation | ||
instead of a bunch of reify calls | |||
jnthn wonders how common that case is | 22:13 | ||
pmichaud | well, it's about to be more common. | ||
while working on Version today, I discovered it bugs me that it's holding the components of the version as a List/Array | |||
because it's too easy for someone to accidentally get a hold of the List/Array and then start shifting or pushing on it | 22:14 | ||
(thus changing the original value in Version) | |||
masak | aye. | ||
jnthn | eek! | ||
pmichaud | so the way to fix that is to have the Version hold a Parcel instead | ||
masak | or do preemptive cloning before handing out the List/Array. | ||
pmichaud | actually, I was looking for a List that couldn't be shifted or unshifted or pushed or popped or .... and then I said "oh! That's a Parcel!" | 22:15 | |
jnthn | Aha! :) | ||
pmichaud | so, many places where we have @!attr may become stored parcels instead. | 22:16 | |
jnthn | (Aside: ARGH WTF OMG DIE DIE <STAB> DIE...PIR has .get_result AND .get_results and they mean different things!!1!) | ||
pmichaud | and since the most common thing to do on a Parcel is iterate it... as in .map or .values.... well, knowing that it's already flat can be a big win. | 22:17 | |
jnthn | Makes sense. | ||
+1 | |||
pmichaud | flattening ListIters can also do some nice shortcircuits if they encounter a Parcel that is already known to be flat. | 22:18 | |
i.e., an immediate splice into the results instead of a splice + scan further. | 22:19 | ||
22:19
fgomez left,
sporous joined,
fgomez joined
|
|||
masak has a feeling something in the above discussion will have consequences that will allow him to submit a rakudobug or two in the future :) | 22:19 | ||
pmichaud | masak: I actually suspect we'll end up closing bugs. | 22:20 | |
flussence | $ git bisect bad | 22:21 | |
80306ffca6bedaf1b2755771d2e7a52fa757b3e4 is the first bad commit | |||
pmichaud | anyway, if the parcel can be a parcel of decontainerized thingies, then we have a truly immutable object :-) | ||
thus the desire for a method that returns a decontainerized version of a list :-) | |||
jnthn | flussence: Wow | 22:22 | |
22:22
harmil left
|
|||
jnthn | That...would not have been anywhere near the top of my guess list :S | 22:22 | |
flussence | I don't know much of this code, but I agree, that looks totally innocuous to me :/ | 22:23 | |
jnthn | Yeah :S | ||
dalek | p/toqast: 08f40a4 | jnthn++ | src/QAST/Operations.nqp: Implement CATCH and CONTROL cases of nqp::handle. |
||
p/toqast: 1def481 | jnthn++ | src/QAST/Operations.nqp: Add nqp::die_s. |
|||
p/toqast: b38ba4a | jnthn++ | t/qast/qast.t: A couple of tests for nqp::handle, both of which pass. |
|||
22:24
drbean left
22:25
drbean joined
|
|||
pmichaud | ....moving from an alt to an altseq? | 22:26 | |
the other way around, I could see being an issue, but that.... :-? | |||
jnthn | flussence: 0920483 certainly is OK? | 22:27 | |
And 80306ff dies with the same error that HEAD does? | |||
22:27
gfldex left
|
|||
flussence | wait... 80306 *doesn't* | 22:28 | |
invoke() not implemented in class 'BUILD_MAGIC' | |||
22:29
bluescreen10 left
|
|||
flussence | the error I had to start with was "not implemented in class ')'" | 22:29 | |
jnthn | I think those are really the same underlying cause, though. | 22:30 | |
pmichaud | rakudo.org/2012/06/30/rakudo-star-2...mment-1723 # just arrived on rakudo.org | 22:31 | |
should we file an issue ticket; if so, where? | |||
22:31
PacoAir left
|
|||
flussence | I'm trying 0920483 now... IIRC that thing in single quotes was '$' at one point too. | 22:31 | |
pmichaud | I guess it should go to RT | ||
masak | RT? | ||
yes. | |||
22:34
crab2313 left
22:39
fgomez left
22:48
whiteknight joined,
whiteknight is now known as Guest9713
|
|||
masak | was I the only one to read yesterday's backlog and think "should Positional[::T] really be covariant on T? it's a read-write thing, it should be invariant" ? | 22:50 | |
sorear | SOP for object-oriented languages is to make arrays be covariant with the possibility of exceptions from store. | 22:52 | |
flussence | 0920483 works. hmm | ||
22:53
skids joined,
spider-mario_ left
22:54
gfldex joined,
fgomez joined,
drbean left
22:55
drbean joined
|
|||
masak | sorear: there are some days when I don't like assignment, period. :/ | 22:56 | |
'night, #perl6 | |||
flussence | so... a broken build for approximately two people, with absolutely nothing in common in the OS besides 32-bit linux, and it's from a 4-char diff. BLARGH | 22:58 | |
jnthn | BLARGH indeed. :S | 22:59 | |
dalek | p/toqast: 8dfe9bb | jnthn++ | src/QAST/Operations.nqp: Missing exception handler pops. |
23:05 | |
jnthn | 'night, #perl6 | 23:16 | |
23:24
drbean left
23:27
drbean joined
|
|||
dalek | kudo/nom: a7aeeaf | pmichaud++ | src/ (3 files): Add nqp::p6listitems, which returns $!items RPA for a List, vivifying it if needed. |
23:31 | |
kudo/nom: a3b6fa8 | pmichaud++ | src/core/Array.pm: Update some Array methods to use nqp::p6listitems(); |
|||
kudo/nom: 8ab5600 | pmichaud++ | src/core/List.pm: List.values always returns a List that may be mutated separately from the invocant. |
|||
kudo/relist: 5126575 | pmichaud++ | src/ (3 files): Add nqp::p6listitems, which returns $!items RPA for a List, vivifying it if needed. |
|||
kudo/relist: 2520130 | pmichaud++ | src/core/Array.pm: Update some Array methods to use nqp::p6listitems(); |
|||
kudo/relist: 2164859 | pmichaud++ | src/core/List.pm: List.values always returns a List that may be mutated separately from the invocant. |
|||
pmichaud | erg, I only wanted to push the one branch. | ||
oh well. | |||
23:35
cognominal joined
23:49
thou left
23:54
thou joined,
drbean left
23:56
drbean joined
|