»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
timotimo ./bench time rakudo-jvm/46234b5 12621,67s user 252,31s system 175% cpu 2:02:10,22 total 00:02
2 hours, seriously? >_>
timotimo i guess that's just because the jvm can go up so high in its counts and gets the startup time added each time >_< 00:06
timotimo yeah, it's at like 4 seconds startup time per data point, run each data point twice for minimally more precise measurements, go up a whole bunch of steps before aborting 00:08
timotimo (did i mention the 10 runs it does at the beginning at 0 scale to figure out the compile- and startuptime? 00:25
timotimo those add a whooping 40 to 45 seconds for each of the 44 tests) 00:25
timotimo p: say (40 * 44) / 60 00:25
camelia rakudo-parrot 46234b: OUTPUT«29.333333␤»
timotimo that alone is *half* an *hour*
whoa.
p: say (45 * 44) / 60 # this is closer to it 00:26
camelia rakudo-parrot 46234b: OUTPUT«33␤»
dalek ast: f86c971 | (Pepe Schwarz)++ | S32-exceptions/misc.t:
Adjusted a few tests that declare a class to do so lexically.
00:38
psch 9 failing tests on nom in that file now! 00:39
one of those is really easy to get passing too!
that's why it's 8 failing tests on my refactor heh 00:40
github.com/rakudo/rakudo/blob/nom/...r.nqp#L586 # :method needs a '!' in the beginning
but that's obviously not urgent in any way
timotimo huh? 00:41
that's weird to me
psch timotimo: the value
timotimo :!method($name)?
psch :method("!" ~ $name)
timotimo oh
psch to have a textual representation for private
timotimo okay, fair enough
want me to quickly put it in?
psch i don't mind either way; it's in my refactor, if you have some time to spare i'd rather you look over that
timotimo i don't quite understand why you had to put the "my" in there, though 00:42
psch the previous ways failed with "Redeclaration of symbol A"
there's a few 'class A' tests in the file
timotimo oh
psch i'd have thought throws_like has it's own scope, but it works like this and doesn't otherwise... 00:43
maybe that should get filed as a bug against Test.pm
timotimo but always inside a throws_like, eh?
i kind of don't think those should even collide
psch i agree, intuitively they definitely shouldn't 00:44
*filed against Test::Util rather
although i'm not sure if that's to blame here 00:45
timotimo it just EVALs it :\
r: EVAL "class Barf {}"; EVAL "class Barf {}";
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«===SORRY!=== Error while compiling eval_0␤Unable to parse class definition␤at eval_0:1␤------> class Barf ⏏<EOL>␤ expecting any of:␤ statement list␤ …»
timotimo oh, hehe 00:46
r: EVAL 'class Barf {}'; EVAL 'class Barf {}';
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«===SORRY!=== Error while compiling eval_1␤Redeclaration of symbol Barf␤at eval_1:1␤------> class Barf ⏏{}␤ expecting any of:␤ statement list␤ prefi…»
timotimo r: EVAL 'class Barf {}'; say ::.keys();
camelia rakudo-parrot 46234b, rakudo-moar 46234b: OUTPUT«$! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER␤»
..rakudo-jvm 46234b: OUTPUT«::?PACKAGE $! GLOBALish EXPORT !UNIT_MARKER $=pod $_ $/ $?PACKAGE␤»
timotimo hmm. class declarations are our-scoped by default, eh?
psch according to S12, yes 00:48
timotimo so i guess it would be correct to require a "my" there?
psch that's my understanding, yes 00:49
at least if the class(es) aren't used over multiple tests, although those should probably be grouped in a block
timotimo wouldn't the our scope go past even a block? 00:50
r: { EVAL 'class Barf {}';}; {EVAL 'class Barf {}';}
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«===SORRY!=== Error while compiling eval_1␤Redeclaration of symbol Barf␤at eval_1:1␤------> class Barf ⏏{}␤ expecting any of:␤ statement list␤ prefi…»
psch right, it does because we're still in GLOBAL
timotimo i wonder why we don't get colors from camelia any more
psch i have colors?
timotimo oh, huh?
psch didn't you mess around with 24bit fonts or something?
timotimo OUTPUT«?31m===?0mSORRY!?31m=== ← this is what i see
no, i didn't :)
psch i thought i read something in the clog, but i must've been wrong 00:51
timotimo 12,02heyo
i see those colors
geekosaur I barely see yours... 00:52
skids Yeah, I've never seen colors from camelia in xchat-gnome, despite having "show colors" on. But I saw that. 00:52
geekosaur odd
oh, no it's not
timotimo huh? 00:53
geekosaur I have a script
timotimo oh, do you? :)
i believe i used to see color back when i was using irssi
psch i'm running stock irssi
geekosaur lpaste.net/99716 00:54
timotimo huh.
i was convinced, camelia had something that turns ansi escape code colors into irc colors 00:55
skids Is the color system well modularized? 00:56
timotimo the color system of what?
skids of rakudo. 00:57
(or nqp)
timotimo that's just Term::ANSIColor
skids wherever it is done.
psch coloring of exceptions is hardcoded in src/core/Exception.pm in gist() 00:58
that is X::Comp::Exception.gist()
psch err, almost 00:59
role X::Comp is Exception... :)
timotimo oh, indeed
that's not super cool.
did you know that Pod::To::Text can do ansi coloring and formatting if you ask nicely? :3 01:00
skids Well I imangine you want exceptions working well before you're ready to load Term::ANSIcolor
timotimo POD_TO_TEXT_ANSI=1 perl6 --doc=Text Foo.pm
true indeed
psch .oO( so ask nicely means in all-caps... ) 01:01
timotimo :)
geekosaur just means it's in the environment and following convention :p 01:01
psch geekosaur: i realize that, i guess i'm getting a bit silly because it's late 01:05
lue timotimo: camelia has never used IRC colors.
timotimo weird! 01:06
irssi must have that ansi color stuff baked in or it just passes it straight on through
lue there must be some ANSI color setting that got turned off in your client if you're not seeing it colored any more.
r: say "\e"
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«␤»
geekosaur lue: xchat doesn't do ANSI color 01:07
lue timotimo: irssi is the terminal thing, right? Then it gets the literal escape char followed by [ <colors> m
timotimo well, i went from irssi to weechat
lue and the terminal knows that combination of characters as ANSI coloring :) 01:07
geekosaur some of us have scripts that rewrite ANSI color onto mIRC color. ircii I wouldn't know about
timotimo gitorious.org/irker/drnlms-irker/c...8d9d3c52f3 - when searching for weechat + ansi %) 01:07
geekosaur but not uncommon for curses stuff to strip control chars
since curses does not render them 01:08
lue timotimo: either irssi didn't strip escape chars before passing to the terminal, or it handled them for you.
psch irssi does what termcap/terminfo say the terminal can do according to their faq 01:08
which in this case probably means "pass through" 01:09
but then the faq actually says "handles colors", so i shouldn't just say things like that 01:11
geekosaur yes, for one thing no terminal speaks mIRC colors directly that I'm aware of
timotimo heh.
psch timotimo: in case want it, the pre-commit hook now lives here and is a bit smarter about the cwd -> github.com/peschwa/roast_hooks/blo...pre-commit 01:12
oh but i forgot to push the a fix
actually, the trailing-/-fix
psch ...and now it also just fixes the plan, because why would anyone want to do that manually? 01:52
colomon psch: might be dangerous for some of the weirder test files? 01:58
colomon hates doing it manually too 01:59
psch colomon: i'm parsing Test.pm output 02:01
but the replace might be bad
yeah, the condition for the replace is bogus right now 02:02
curiously it worked in a test-run right now 02:03
colomon it used to be the case that some files didn't have plans 02:05
psch well if there's no plan then there's no complaint from Test.pm that there's a bad plan 02:05
cases like S32-exceptions/misc.t just have a "done;" at the end
those don't emit "Bad plan. Looks like you planned \d+ tests but ran \d+." message 02:06
that's the line i'm parsing after running the test to get the right number for the plan
colomon gotcha 02:07
there were a couple files I remember running into that had really weird crap going on. But it might still work for you.
also, of course, there's the danger that the something is actually wrong with the test, and that's why the plan isn't right. 02:08
psch right, that's another case i've missed
although i gotta check if i get "Bad plan" if a testfile dies inbetween 02:09
psch the weird case i'm not sure how to handle is "we ran as many tests as we planned but still died for some reason" 03:04
i'm not sure i agree with how Test.pm handles that case, it reports everything as ok and PASS, but a die() for whatever reason is at least something to be suspicious about, isn't it 03:05
skids sorry to bump in and out so much; fighting with trying to get gtkrc to set pidgin's colors. 03:17
psch well, my hook is now pretty conservative about what stays staged, i'll just run it for some time and see how well it works 03:30
i guess that means it's time add many more tests to roast heh 03:31
anyway, good night #perl6 o/
eiro hello #perl6 07:52
raydiak wow, I'm back...nothing quite so fun as losing most of a day to a flaky VPS :P hope it still works when I try to get today's work done tomorrow; at least #perl6 was largely spared my insanity today :) good morning and good night, all 08:21
timotimo °\ 09:03
mathw o/ 09:04
moritz _o/ 09:14
FROGGS 09:15
grondilu rn: sub f($a, $b, $c) { $a + 2*$b + 3*$c }; my &g = &f.assuming(1, *, 2); say g(4); 09:20
camelia rakudo-moar 46234b: OUTPUT«Too many positional parameters passed; got 4 but expected 3␤ in sub f at /tmp/tmpfile:1␤ in sub CURRIED at src/gen/m-CORE.setting:3040␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 46234b: OUTPUT«Too many positional parameters passed; got 4 but expected 3␤ in sub f at /tmp/tmpfile:1␤ in sub CURRIED at gen/parrot/CORE.setting:3044␤ in block at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Excess arguments to f, used 3 of 4 positionals␤ at /tmp/tmpfile line 0 (f @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1166 (ANON @ 6) ␤ at /tmp/tmpfile line 1 (mainline @ 6) ␤ at /home/p6eval/niecza/lib/CORE.se…»
..rakudo-jvm 46234b: OUTPUT«Too many positional parameters passed; got 4 but expected 3␤ in sub f at /tmp/tmpfile:1␤ in sub CURRIED at gen/jvm/CORE.setting:3040␤ in block at /tmp/tmpfile:1␤␤»
timotimo hm, could very well be that the whatever case of assuming is NYI 09:27
i wonder if that counts as an LHF
Timbus r: sub f($a, $b, $c) { $a + 2*$b + 3*$c }; my &g = &f.assuming(a => 1, c => 2); say g(4); 09:28
camelia rakudo-moar 46234b: OUTPUT«Not enough positional parameters passed; got 1 but expected 3␤ in sub f at /tmp/tmpfile:1␤ in sub CURRIED at src/gen/m-CORE.setting:3040␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot 46234b: OUTPUT«Not enough positional parameters passed; got 1 but expected 3␤ in sub f at /tmp/tmpfile:1␤ in sub CURRIED at gen/parrot/CORE.setting:3044␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 46234b: OUTPUT«Not enough positional parameters passed; got 1 but expected 3␤ in sub f at /tmp/tmpfile:1␤ in sub CURRIED at gen/jvm/CORE.setting:3040␤ in block at /tmp/tmpfile:1␤␤»
Timbus aw
timotimo i wonder how good the test coverage of that feature is.
Timbus github.com/rakudo/rakudo/blob/9b62...ine.pm#L27 09:29
moritz is against that feature
it makes the names of position parameters part of the public API, AGAIN
after we've worked to remove that
Timbus iono, i was jsut trying to trick it 09:30
jnthn morning o/ 09:31
timotimo yeah, the named parameter thing doesn't sound good 09:39
jnthn my &g = { f(1, $^a, 2) }; # :-) 09:40
timotimo oh hey jnthn 10:53
i think we ought to build a single serving site "doesjnthnhavetuitstoday.com" 10:54
FROGGS *g* 11:08
+1
timotimo: and then we can vote?
jnthn o.O
timotimo nah ;) 11:09
FROGGS jnthn: if you are nice to me I'd even vote for you having a beer tonight :o)
tadzik anybody with a linux system with gtk, but no gtk-dev installed? 11:43
FROGGS tadzik: me 11:48
tadzik FROGGS: could you tell me the exit status of `pkg-config --libs --cflags gtk+-2.0`? 11:49
FROGGS pkg-config --libs --cflags gtk+-2.0 11:51
Package gtk+-2.0 was not found in the pkg-config search path.
tadzik echo $? 11:53
FROGGS 1
tadzik okay, awesome :) Thanks a lot
FROGGS you're welcome :o) 11:53
pmichaud r: say ~((1,2) xx 10) 13:42
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2␤»
pmichaud r: say join('', (1,2) xx 10) 13:43
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«12121212121212121212␤»
tadzik people who've been to YAPC Kiev, please take a look at your credit card balances
mine was just stolen (copied), and money withdrawn in Thailand 13:44
moritz is happy he only paid with cash (and $employer payed the hotel)
jnthn tadzik: Ohh...that was from all the way back in *Kiev*? 13:45
jnthn had blamed the Thai withdrawal his bank blocked on something more recent... 13:46
tadzik: Interesting. Hope you didn't lose anything, aside from wasted time having to get a replacement card...
tadzik jnthn: I dunno, that just sounds as a high-risk place I was in :/ And it's suspisciously close to Half a Year Ago
jnthn: the bank says that they should be able to cover all losses, as I reacted in like 30 seconds 13:47
jnthn tadzik: Yeah. I had exact same. Thing is, it happened to me just after a trip to Donetsk last...hm, November or so. So I'd blamed it on that...
tadzik I suddenly got 5 text messages saying "your withdraw didn't succeed because of insufficient funds"
and I'm sitting at home, not near any ATM 13:48
hm, maybe it was recent
jnthn tadzik: Mine didn't even allow the withdrawal. I suspect 'cus I use the card for just about everything here in Sweden, and so the fraud systems spotted the impossibility of me having got groceries in the morning and withdrawing in Thailand a couple of hours later, or something. 13:49
tadzik heh
jnthn Sweden is so card-oriented you can buy a hotdog with card without even thinking about it... :) 13:50
moritz people did warn me that I should call the bank before traveling .de -> .tr -> .ua in a single day, because the fraud system might mark it as stolen 13:52
jnthn I'm impressed by bank *did* spot it. My card has a habbit of being used all over the place for legit reasons... 13:53
*my
Almost all Europe, though... 13:54
ribasushi
.oO( wait... poland is deemed safer than ukraine?! )
13:55
ribasushi runs 13:56
moritz maybe they thought that it's too warm in Thailand for jnthn to be there
jnthn Curiously, I got a postcard for Thailand today. It does indeed look rather warm... 13:57
jnthn is envious that $friend got to enjoy Thai food, though... :) 13:58
s/for/from/
[Coke] waves 14:02
FROGGS r: say (1,2).join xx 10).join('|') 14:22
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unexpected closing bracket␤at /tmp/tmpfile:1␤------> say (1,2).join xx 10⏏).join('|')␤»
FROGGS r: say ((1,2).join xx 10).join('|')
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«12|12|12|12|12|12|12|12|12|12␤»
moritz r: say ((1, 2) xx 10).join: '|'< 14:23
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse quote-words subscript; couldn't find right angle quote␤at /tmp/tmpfile:1␤------> say ((1, 2) xx 10).join: '|'<⏏[31…»
moritz r: say ((1, 2) xx 10).join: '|'
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«1|2|1|2|1|2|1|2|1|2|1|2|1|2|1|2|1|2|1|2␤»
moritz r: say ((1, 2) xx 10).tree.join: '|'
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b: OUTPUT«1 2|1 2|1 2|1 2|1 2|1 2|1 2|1 2|1 2|1 2␤» 14:24
timotimo how unreasonable would it be to create an assuming candidate by running an eval?
moritz very
timotimo er ... for the (10, *, 30) case i mean
rather than, say, slicing and dicing the positionals passed in 14:25
timotimo rn: sub abc($a, $b, $c) { "$a $b $c" }; say &abc.assuming(1, *, 3)(100); 14:30
camelia rakudo-parrot 46234b: OUTPUT«Too many positional parameters passed; got 4 but expected 3␤ in sub abc at /tmp/tmpfile:1␤ in sub CURRIED at gen/parrot/CORE.setting:3044␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 46234b: OUTPUT«Too many positional parameters passed; got 4 but expected 3␤ in sub abc at /tmp/tmpfile:1␤ in sub CURRIED at gen/jvm/CORE.setting:3040␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-moar 46234b: OUTPUT«Too many positional parameters passed; got 4 but expected 3␤ in sub abc at /tmp/tmpfile:1␤ in sub CURRIED at src/gen/m-CORE.setting:3040␤ in block at /tmp/tmpfile:1␤␤»
..niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: Excess arguments to abc, used 3 of 4 positionals␤ at /tmp/tmpfile line 0 (abc @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1166 (ANON @ 6) ␤ at /tmp/tmpfile line 1 (mainline @ 5) ␤ at /home/p6eval/niecza/lib/COR…»
jnthn rn: sub abc($a, $b, $c) { "$a $b $c" }; say {abc(1,$^a,3)}(100) # problem solved :P 14:32
camelia rakudo-parrot 46234b, rakudo-jvm 46234b, rakudo-moar 46234b, niecza v24-109-g48a8de3: OUTPUT«1 100 3␤»
timotimo jnthn: i'd have to build that with an eval. 14:32
that's why i'm asking if it sounds unreasonable :)
jnthn timotimo: uh, I'm suggesting you *write that* and don't try to twist assuming into doing it :P 14:33
timotimo ... isn't that specced, though?
jnthn Given that it's actually shorter than your original suggestion.
Isn't what spec'd? Using * in assuming?
timotimo yes
timotimo looks
jnthn Ugh
I kinda hope not, but maybe it is...
timotimo it is apparently not 14:34
colomon \o/
timotimo okay.
colomon ;)
pmichaud good morning, #perl6 15:04
timotimo hello patrick! 15:05
PerlJam pmichaud o/
timotimo how are you today?
pmichaud Mostly tired. :-)
timotimo my day was similar to that >_<
pmichaud For those of you following my ongoing robotics team saga... on Saturday my older robotics team unexpectedly advanced to the super-regional championships in two weeks. :) 15:06
timotimo \o/
congrats to the little ones
pmichaud (unexpected as in "we really didn't plan for it")
moritz $robots++ 15:07
$robot-makers++
sjn $robot-overlords++
jnthn (pmichaud's robotics teams)++ # wow, *nice*! 15:08
sjn I, for one, welcome our new robotic overlords 15:09
nwc10 pmichaud: so, "no plan survives contact with the enemy"? Cool. 15:22
moritz in this case, no enemy survived contact with the plan, I guess :-) 15:23
rjbs pmichaud: congratulations and good luck! 15:49
What more can one hope for than to be blindsided by success?
(Flappy Birds Guy not withstanding)
masak (pmichaud's super-regional overlord makers)++ 15:52
timotimo so, openpipe works completely on moarvm now on both windows and linux? 16:01
rjbs: "not withstanding the success"? :)
rjbs Well, he got blindsided by successand was miserable. 16:02
timotimo yeah, he didn't withstand the success 16:03
that's probably not what withstand means :|
rjbs ha
No, quite a good wordplay!
He didn't withstand the success. Usually, "X notwithstanding Y" (as one word) means "X is generally true despite the possible counterexample of Y" 16:04
timotimo :)
rjbs Maybe you're more fluent than I am and already know this. Whois indicates you're from Gallifrey, so you've maybe spoken English for several centuries. 16:04
timotimo :D 16:05
rjbs (Hm, I got him from :) to :D... what comes next?)
:-|⊃ 16:06
no, not very good
timotimo so, what about moarvm and openpipe? do i have to build it myself first? :P 16:07
seems like system.rakudo.moar succeeds in all tests, but it outputs "execvp: no such file or directory" three times in perl6-roast-data 16:09
FROGGS timotimo: openpipe works, except whn it does not (for pippo) 16:15
and the execvp msg is about testing an not existing command
timotimo ah, that's good to know
thanks
i'll have a "weekly perl6 changes" blog post ready in a couple of minutes
FROGGS \o/ 16:16
timotimo i'd also like to have a section of "things community members are working on that may or may not land soon"
any suggestions for that?
i only kind of know what i'm up to
FROGGS ohh, that is nice 16:17
well, maybe "eleven" will be on that list next time
timotimo should i leave it out for this week's list?
FROGGS yes
timotimo OK
FROGGS well, you could mention that we're aorking on panda atm
timotimo oh yes 16:18
FROGGS to make it work on moar...
timotimo and hoelzro has slugged through all the star modules
FROGGS and that ufo is working on moar (I hope that this is correct)
timotimo who besides you is working on the moar side of things for panda?
FROGGS dunno
:o)
timotimo hmm 16:19
at some point we could have a rakudo release focused on audio engineering
and call it Rakudo Sitar
jnthn expects to be working on Moar I/O stuff and hopefully getting sockets in place in the next week. 16:20
timotimo \o/
FROGGS \o/ 16:21
lovely!!
FROGGS .oO( I/O, I'm tired of using technology. Why don't you sit down on top of me? I/O, I'm tired of using technology. I need you right in front of me - Milow ) 16:23
timotimo p6weekly.wordpress.com/2014/02/10/...6-of-2014/ 16:29
masak timotimo++ 16:30
masak (for loops being in sink context at the statement level)++ # that is very good 16:31
timotimo agreed 16:32
it has been specced for a few weeks now
masak do we really have "lazy" and "eager" prefixes? the commit I saw fly by just parsed them, didn't give them semantics.
never seen "I'ven't" before :) 16:33
timotimo: "Until I do the rakudo release for this month, jnthn wants to get the IO system rewritten/refactored." -- think it should be s/Until/Before/ 16:34
jnthn masak: eager does call .eager, iirc 16:39
FROGGS timotimo++ 16:55
FROGGS p: say eager for ^10 -> $x { -$x } # I guess I will get used to do this instead using map :o) 16:57
camelia rakudo-parrot 46234b: OUTPUT«0 -1 -2 -3 -4 -5 -6 -7 -8 -9␤»
timotimo or do.
or surround it in ( ) 16:58
p: say (for ^10 -> $x { -$x })
camelia rakudo-parrot 46234b: OUTPUT«0 -1 -2 -3 -4 -5 -6 -7 -8 -9␤»
TimToady masak: well, really at "statementlist" level, since there are statements in various other places too that don't impose sink context 17:41
masak troo
TimToady inside parens or brackets, for instance
as timotimo++ was demonstrating above, now that I see it 17:42
TimToady rosettacode.org/wiki/AKS_test_for_primes#Perl_6 is kinda prety now; not sure what to explain, if anything... 17:47
*pretty 17:49
syntax highlighting is ignorant of closure interpolation, alas
jnthn TimToady: Should the default semantics for (.foo for @a) be lazy? 17:50
TimToady I'd think so; "lists are lazy by default in Perl 6" is what we've been maintaining 17:51
jnthn OK
Now statementlist level ones are sink, I think we're safe to do that.
TimToady \o/
there are probably some RC entries to fix soonish... :) 17:52
jnthn I guess same rules apply with (loop { foo() }) style things?
TimToady I'd think so, especially since loop is by default infinite 17:53
jnthn *nod*
TimToady some things can obviously be optimized to eager, of course
jnthn I'm still not happy with any of the ways I thought of to factor the value producing / sink variants of those, but will implement the value producing case once I think up a factoring I'm happy with. 17:54
TimToady one of the more important spots to eagerize may be iterating shaped arrays
vendethiel I still don't understand the purpose of `so` 19:00
jnthn Low precedence of ?, just like and is low prec of && 19:01
moritz m: say 5 ~~ any(1..10)
camelia rakudo-moar 46234b: OUTPUT«True␤»
moritz m: say 5 == any(1..10)
camelia rakudo-moar 46234b: OUTPUT«any(False, False, False, False, True, False, False, False, False, False)␤»
moritz m: say so 5 == any(1..10)
camelia rakudo-moar 46234b: OUTPUT«True␤»
moritz kinda prefers the second answer
jnthn :) 19:02
moritz faq.perl6.org/#so
jnthn Yeah. You'd need parens if you used prefix:<?> there...and it's nicer without :)
walk &
vendethiel noted. moritz++
TimToady arguably the "$p > 1 and" just clutters things up if you're never going to call it with anything less than 2 19:03
vendethiel That faq is rly cool !
moritz \o/ 19:04
TimToady maybe I should just assert it in the siggie
dalek q: 2b78b5a | moritz++ | answers.md:
link to doc.perl6.org/language/containers
19:06
moritz maybe tonight is a good time for doc hacking
does anybody have wishes on what to document? 19:07
TimToady hah, last changes actually broke that AKS solution :) 19:11
vendethiel " In general this requires solving the halting problem, which even Perl 6 compiler writers have trouble with." oh, really ? :D 19:12
TimToady can't write a list comprehension inside {} anymore...
vendethiel also, typo "has a ist of known Perl 6 modules, " ist -> list
dalek q: f25bbba | moritz++ | answers.md:
typo, vendethiel++
19:13
moritz m: .say for <a b c>.combinations(2) 19:14
camelia rakudo-moar 46234b: OUTPUT«a b␤a c␤b c␤»
vendethiel moritz++
moritz m: say .join('|') for <a b c>.combinations(2)
camelia rakudo-moar 46234b: OUTPUT«a|b␤a|c␤b|c␤»
TimToady hmm, for is supposed to flatten, I think 19:17
oh, wait, nm
.combinations doesn't return parcels anymore
moritz only if... nm
:-)
TimToady is still very out-of-it
moritz m: say .join('|') for <a b c>.combinations(2..3) 19:18
camelia rakudo-moar 46234b: OUTPUT«a|b␤a|c␤b|c␤a|b|c␤»
dalek c: 1c5b353 | moritz++ | lib/List.pod:
Document List.combinations
19:20
moritz r: .say for <a b c>.permutations 19:21
camelia rakudo-parrot 46234b, rakudo-jvm 46234b: OUTPUT«a b c␤a c b␤b a c␤b c a␤c a b␤c b a␤»
..rakudo-moar 46234b: OUTPUT«Cannot call 'postcircumfix:<[ ]>'; none of these signatures match:␤:(Any \SELF, int $pos)␤:(Any \SELF, int $pos, :BIND($BIND)!)␤:(Any \SELF, int $pos, Any :SINK($SINK)!, *%other)␤:(Any \SELF, int $pos, Any :delete($delete)!, *%other)␤:(Any \SELF,…»
moritz moarbug! 19:22
moritz p: .say for <a a b>.permutations 19:24
camelia rakudo-parrot 46234b: OUTPUT«a a b␤a b a␤a a b␤a b a␤b a a␤b a a␤»
dalek c: 493a216 | moritz++ | lib/List.pod:
List.permutations
19:28
dalek c: 9214f42 | moritz++ | htmlify.pl:
hopefully more distinct styling for the footer
19:32
raydiak moritz: since you're working on docs, figured I'd mention that search on the homepage will be done some time in the next 12 hours...been having problems w/my server on and off for a couple days now, it has slowed my progress on all things (switching to linode next month, methinks) 19:43
moritz raydiak: ok, no hurry 19:52
dalek p: 13ef89d | (Tobias Leich)++ | tools/build/MOAR_REVISION:
bump rev for waitpid fix
kudo/nom: 260cd71 | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump rev for waitpid fix
19:53
raydiak moritz: yeah, I know, I just look like a flake when I express intention to perform a 1-2 hour job, and then it doesn't materialize for days :) so figured I'd touch base so you don't decide to go off and replicate the work I already started 20:13
yath ohai o/ 20:37
FROGGS RT #121213 20:38
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121213
pippo m: nqp::getenvhash(); 20:39
camelia ( no output )
pippo m: say nqp::getenvhash();
camelia rakudo-moar 46234b: OUTPUT«("LESSOPEN" => "| /usr/bin/lesspipe \%s", "TMUX" => "/tmp/tmux-1005/default,26465,0", "MAIL" => "/var/mail/p6eval", "SSH_CLIENT" => "87.158.155.58 41019 22", "USER" => "p6eval", "LANGUAGE" => "en_US:en", "SHLVL" => "2", "HOME" => "/home/p6eval", "XDG_SESSI…»
nwc10 what's the best way to do a range in NQP? eg this: 21:04
r: my $a = [-258..258]; for ($a) {say($_)} 21:05
but not Perl 6
camelia rakudo-parrot 260cd7, rakudo-jvm 260cd7, rakudo-moar 260cd7: OUTPUT«-258 -257 -256 -255 -254 -253 -252 -251 -250 -249 -248 -247 -246 -245 -244 -243 -242 -241 -240 -239 -238 -237 -236 -235 -234 -233 -232 -231 -230 -229 -228 -227 -226 -225 -224 -223 -222 -221 -220 -219 -218 -217 -216 …»
nwc10 is there any Fine Manual for NQP?
moritz nwc10: not really; the best documentation is the "Rakudo and NQP Internals Workshop" course material by jnthn++ 21:07
timotimo nwc10: i think you'll need to build a loop for that 21:08
nwc10 3 arg for exists? Or I need something more primitive?
timotimo i would personally build a while loop
jnthn hoelzro: Just pushed a fix for RT #121213. 21:09
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121213
jnthn nwc10: If NQP has that, it's the loop statement.
nqp: sub range($min, $max) { my @x; nqp::push(@x, $min++) while $min <= $max; @x } # or so 21:10
camelia ( no output ) 21:11
jnthn nqp: sub range($min, $max) { my @x; nqp::push(@x, $min++) while $min <= $max; @x }; for range(1,10) { say($_) } 21:11
camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
nwc10 aha thanks
timotimo i don't think it's necessarily a good idea to generate an actual list for that :P 21:52
oh, hehe 21:53
randal l schwartz commented on the unary sort advent calendar post with "Yeay! A built-in Schwartzian Transform!" 21:54
raydiak moritz: the home search is in the "search" branch of my doc fork, and you can see it working at p6doc.cyberuniverses.com - I won't merge it until I've gotten your feedback 23:07
and off to do errands...bbl
timotimo raydiak: when you input something that leads to no results, it doesn't give any feedback that it actually works 23:09
and if you find something, it will make a popup that extends past the right end of the page, so you have to horizontally scroll to see everything
jnthn timotimo: whtat browser, ooc? 23:11
timotimo chrome 23:12
jnthn timotimo: Did you mean vertically in the second comment?
Oh, no, you didn't
timotimo i have to scroll from the left to the right
jnthn But I don't get that issue
oh, wait...depends what I search
timotimo yeah 23:13
"method" for example :P
jnthn I think the search box probably wants to move inline with the page, to the left, though.
So you notice it
It should be one of the first things people notice, I think.
As folks search long before they browse, these days...
timotimo aye
people these days am i rite