»ö« 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! | YAPC::NA talk submissions due end of Month. Have you submitted your talk?
Set by toddr_ on 18 March 2013.
BenGoldberg p6: say True.cos 00:06
p6eval rakudo ba5e04: OUTPUT«0.54030230586814␤»
..niecza v24-35-g5c06e28: OUTPUT«0.54030230586813977␤»
diakopter p6: say False.cotan 00:07
p6eval rakudo ba5e04: OUTPUT«Divide by zero␤ in method cotan at src/gen/CORE.setting:3564␤ in method cotan at src/gen/CORE.setting:2997␤ in method cotan at src/gen/CORE.setting:2255␤ in block at /tmp/GuNkILSeYI:1␤␤»
..niecza v24-35-g5c06e28: OUTPUT«Inf␤»
diakopter niecza++ 00:08
colomon++
(I assume)
BenGoldberg Actually, I think that the division by zero might be more correct. Possibly. 00:15
pmichaud good afternoon, #perl6. Happy Easter. :-) 00:16
BenGoldberg p6: say 1/0
p6eval rakudo ba5e04: OUTPUT«Divide by zero␤ in sub infix:<div> at src/gen/CORE.setting:3235␤ in sub infix:<div> at src/gen/CORE.setting:2886␤ in method floor at src/gen/CORE.setting:8460␤ in method Str at src/gen/CORE.setting:8478␤ in method Str at src/gen/CORE.setting:882␤ in method gi…
..niecza v24-35-g5c06e28: OUTPUT«Inf␤»
FROGGS hi pmichaud
BenGoldberg Should division by zero throw an exception, or return infinity? 00:18
pmichaud it actually returns Failure in Rakudo. 00:23
I think TimToady++ would ask what do you want to happen if the division by zero occurs in the guided missile controller :) 00:24
p6: say (1/0).WHAT
p6eval rakudo 2441b0: OUTPUT«(Rat)␤»
..niecza v24-35-g5c06e28: OUTPUT«Num()␤»
pmichaud p6: say (1/0).Num.WHAT
p6eval niecza v24-35-g5c06e28: OUTPUT«Num()␤»
..rakudo 2441b0: OUTPUT«(Num)␤»
pmichaud hmm, interesting.
diakopter p6: say (1/0).Num 00:25
p6eval rakudo 2441b0, niecza v24-35-g5c06e28: OUTPUT«Inf␤»
pmichaud p6: say 1/0e0
p6eval rakudo 2441b0: OUTPUT«Divide by zero␤ in sub infix:</> at src/gen/CORE.setting:3689␤ in sub infix:</> at src/gen/CORE.setting:2881␤ in sub infix:</> at src/gen/CORE.setting:3069␤ in sub infix:</> at src/gen/CORE.setting:2881␤ in block at /tmp/sbjVzXktkV:1␤␤»
..niecza v24-35-g5c06e28: OUTPUT«Inf␤»
pmichaud p6: say (1/0e0).gist
p6eval niecza v24-35-g5c06e28: OUTPUT«Inf␤»
..rakudo 2441b0: OUTPUT«Divide by zero␤ in sub infix:</> at src/gen/CORE.setting:3689␤ in sub infix:</> at src/gen/CORE.setting:2881␤ in sub infix:</> at src/gen/CORE.setting:3069␤ in sub infix:</> at src/gen/CORE.setting:2881␤ in block at /tmp/TFaEZo4NRO:1␤␤»
diakopter p6: say (1 div (my \a=0)).Num
p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: System.DivideByZeroException: Division by zero␤ at Builtins.divop (Niecza.Constants c, Int32 opc, Niecza.Variable a1, Niecza.Variable a2) [0x00000] in <filename unknown>:0 ␤ at CORE.6a5f7f48-6eb9-4551-ac86-f520337465e6.C1453infix:<di…
pmichaud p6: say (1/0e0).WHAT
p6eval ..rakudo 2441b0: OUTPUT«Divide by zero␤ in sub infix:<div> at src/gen/CORE.setting:3235␤ in sub infix:<div> at src/gen/CORE.setting:2886␤ in block at /tmp/o0OIx7PxSv:1␤␤» 00:26
rakudo 2441b0: OUTPUT«Divide by zero␤ in sub infix:</> at src/gen/CORE.setting:3689␤ in sub infix:</> at src/gen/CORE.setting:2881␤ in sub infix:</> at src/gen/CORE.setting:3069␤ in sub infix:</> at src/gen/CORE.setting:2881␤ in block at /tmp/6bb18Cjqw3:1␤␤»
..niecza v24-35-g5c06e28: OUTPUT«Num()␤»
pmichaud maybe rakudo's failure mode was changed then.
diakopter p6: say (1e0 div 0e0).WHAT 00:27
p6eval rakudo 2441b0: OUTPUT«Cannot call 'infix:<div>'; none of these signatures match:␤:(Int:D \a, Int:D \b)␤:(int $a, int $b)␤ in sub infix:<div> at src/gen/CORE.setting:2886␤ in block at /tmp/LPrQ5i43m0:1␤␤»
..niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: System.DivideByZeroException: Division by zero␤ at Niecza.BigInteger.DivRem (BigInteger dividend, BigInteger divisor, Niecza.BigInteger& remainder) [0x00000] in <filename unknown>:0 ␤ at Builtins.divop (Niecza.Constants c, Int32 opc,…
diakopter at some point, I'd expect it to coerce.. 00:28
esp if it recognizes the num is exactly an int
adu arnsholt: did you mention Clang? 00:54
diakopter hey guys, check out the silver sponsors on all pages of yapcna.org \o/ 02:38
timotimo mornin' 05:26
diakopter o/
sorear o/ 05:29
diakopter Camelia is on yapcna.org :) and will be on the t-shirt :D 05:31
(which will test the monochromatic version of Camelia in extremely low resolution on a t-shirt) 05:35
timotimo diakopter: that's a strange april fool's joke 05:41
diakopter timotimo: but... I was serious.
see, fooled you! 05:42
no really, it'll be on the t-shirt 05:43
timotimo whoa, you got me! 05:45
diakopter again?
timotimo ;) 05:47
i got up early and then i was tired 05:50
i'm not sure if i should be surprised or really not
diakopter r: my $s = 2; my $::s = 3; say $s; say $::s 06:23
p6eval rakudo 2441b0: OUTPUT«2␤2␤»
diakopter rn: my $s = 2; my $::s = 3; say $s; say $::s; $::s = 4; say $s; say $::s; $s = 7; say $s; say $::s; 06:25
p6eval niecza v24-35-g5c06e28: OUTPUT«Potential difficulties:␤ Useless redeclaration of variable $s (see line 1) at /tmp/Db5b2qTORX line 1:␤------> my $s = 2; my $::s ⏏= 3; say $s; say $::s; $::s = 4; say $s;␤␤3␤3␤4␤4␤7␤7␤»
..rakudo 2441b0: OUTPUT«2␤2␤4␤4␤7␤7␤»
anant Doubt - Looking at "Str.HOW.methods(Str)", why does ".methods()" need an argument? Wouldn't it already know it's managing the "Str" type object? 08:18
lizmat good * #perl6! 09:37
reading through S02, I was wondering whether "parens" is a good replacement for "parentheses" 09:38
yes, it is shorter, but "parens" does not occur in my Webster's dictionary
lizmat wonders whether she should s/parens/parentheses/ in the synopses 09:39
masak lizmat: might be a good idea, yes. perldoc seems to use 'parenthesis'/'parentheses' consistently. 09:40
(good * to you too!) :) 09:41
tadzik hello hello
lizmat got talked into giving a presentation at YAPC::NA
an updated version of the talk I gave at FOSDEM 09:42
dalek ast: 03d527f | (Tobias Leich)++ | S04-declarations/our.t:
added tests for our-scoped variables
09:57
FROGGS can somebody please review this new test file?
if the test is okay I want to push my rakudopatch 09:58
masak FROGGS: re question on L18: yes. that's one of the main points of 'our' vars, IIUC. 10:05
FROGGS: re question on L23: yes, that is right.
FROGGS masak: thanks!
masak FROGGS: why are you using classes and then calling them 'packages'? :) 10:07
I mean, they are. I was just wondering why you weren't using modules and calling them modules. 10:08
FROGGS hmmm, true 10:09
will change
FROGGS masak: I guess I call them package and will actually use packages :o) 10:15
dalek kudo/nom: ffe441f | (Tobias Leich)++ | / (2 files):
install our-scoped variables in the nextmost package
10:18
Heuristic branch merge: pushed 40 commits to rakudo/froggs_multibyte by FROGGS 10:19
masak um, was that branch merge intentional?
diakopter 65 yapc::na talk slots (24 20-min and the rest 50-min), and 97 non-lightning talks submitted so far
masak: I'm guessing cross-branch
FROGGS masak: no, but it doesn't hurt 10:20
masak ok.
just checking.
FROGGS masak: I could delete that branch anyway
dalek ast: 75c8a16 | (Tobias Leich)++ | S04-declarations/our.t:
use packages when we talk about packages
10:21
masak FROGGS: test file looks good. 10:22
FROGGS thanks for checking 10:23
masak FROGGS: I didn't really understand what you were testing with the 'eval' one, and what that had to do with 'our' variables.
FROGGS masak: hmmm, I copied that from my.t, the first $e declaration could be 'our' though 10:24
but it is basically the same test as on line 12
dalek ast: b0e6796 | (Tobias Leich)++ | S04-declarations/our.t:
remove redundant (and probably misplaced) test
10:29
masak FROGGS: yeah, but it doesn't have anything to do with 'our' because there's no 'our' declaration inside. 10:34
only two 'my' declarations.
FROGGS masak: right 10:35
and if it would be 'our' it would be the same test as above
lizmat masak: so it's ok if I go ahead with s/parens/parentheses/ in S0[34568] and S11 10:45
and S12 10:46
?
diakopter TimToady likes parens 10:49
dunno if enough to want to keep them
dalek ast: cf7ea4f | (Tobias Leich)++ | S04-declarations/our.t:
fudged for niecza
10:50
FROGGS lizmat: maybe it is enough if you do "parens (parentheses)" on the first occourance? 10:51
lizmat maybe then better to start a glossary, with terms such as "parens", "numa", "gcd" in them 10:52
numa and gcd I had to look up to make sure what they meant
tadzik numa? 10:53
lizmat see?
tadzik I see that I haven't really read the specs :P
lizmat en.wikipedia.org/wiki/Non-Uniform_Memory_Access
S02, about object identity
tadzik duckduckgo suggested: "Numa Numa (Internet Meme)"
masak :P 10:58
gcd is pretty well-known in math circles, fwiw. 10:59
rn: say 10 gcd 6 11:00
p6eval rakudo 2441b0, niecza v24-35-g5c06e28: OUTPUT«2␤»
masak rn: say 10 lcm 6
p6eval rakudo 2441b0, niecza v24-35-g5c06e28: OUTPUT«30␤»
tadzik masak, masak, did you try pandabrew?
masak tadzik: I did not. I'm a bit... distracted right now by @friends ;) 11:01
will be back to full speed tomorrow afternoon.
tadzik ha, okay :) 11:02
masak r: my %translations = 'cow' => 'vache', 'window' => 'fenêtre'; say %translations<cow> 11:03
p6eval rakudo 2441b0: OUTPUT«vache␤»
FROGGS r: @friends 11:12
p6eval rakudo 2441b0: OUTPUT«===SORRY!===␤Variable '@friends' is not declared␤at /tmp/4_iAVOWkyM:1␤------> @friends⏏<EOL>␤ expecting any of:␤ postfix␤»
FROGGS see? 11:12
there is no such thing
jnthn is safely back from vacation 11:14
Good afternoon, #perl6
lizmat welcome back, jnthn!
masak: I wanted to be sure gcd in that context wouldn't mean something like "global context destruction" 11:15
FROGGS hi jnthn \o/
masak jnthn! \o/ 11:17
dalek ecza: 65f862c | (Tobias Leich)++ | t/spectest.data:
added S04-declarations/our.t
FROGGS masak / jnthn / moritz (when awake): do you mind if I change rakudo that it will look up 'use v5' as a module too? 11:24
masak I'm not present enough to be able to answer that. 11:26
nwc10 good pm jnthn
jnthn o/ lizmat, FROGG, masak, nwc10 :) 11:27
FROGGS: How exactly are you pondering changing it?
FROGGS: In the actions?
tadzik hooray, jnthn!
lizmat I also wonder: use 5.10 should do the same thing, no? 11:28
jnthn lizmat: I hesitate on that one a bit. 11:29
jnthn lizmat: It'd imply a very particular emulation, I guess. 11:29
arnsholt investigates a NativeCall segfault 11:30
FROGGS jnthn: in the grammar... so that 5.-versions are treated as module usage
pmurias one thing we need to consider is that the spec seems to imply use v5 import the Perl module 11:31
lizmat if the goal is to allow darkpan modules that have "use 5.10" in their code to run transparently on Rakudo, some sort of support for that syntax would be needed, I suppose
FROGGS only in the token statement_control:sym<use>
pmurias re supporting use v5.10,v5.12... we definitly want to support that too, as it's also used to request extra perl features (like 'say') 11:34
FROGGS jnthn: I'll gist the patch later 11:36
jnthn FROGGS: ok :) 11:37
pmurias re 'use v5' being treated like 'use Perl:ver<5.*>' S11:497
FROGGS pmurias: right, all features turned on
jnthn just did a 5 hour timezone shift on top of only 3 hours sleep, and should not be relied on too heavily for sanity today ;)
FROGGS hehe
jnthn: I slept about 1.5 hours... because hacking till 4 a.m. and can't get to sleep because of thinking about how to implement these and that :P 11:38
lizmat remembers being in the flow and is looking forward to being it again soon 11:39
*in it
pmurias FROGGS: a basic 'use v5' as module support can be implemented with a one line change
pastie.org/7267265 11:40
jnthn FROGGS: Yes, I've taken to crashing on the sofa for an hour between leaving the keyboard and trying to sleep, doing something non-programming. Otherwise I would have that kind of problem very regularly.
FROGGS pmurias: true, even a 'v'? '5' '.'? could (something like that)
pmurias: ohh, that looks nice 11:41
bbiab 11:42
dalek ecs: 890758f | (Elizabeth Mattijsen)++ | S02-bits.pod:
Typo fix
11:50
jnthn anant: (answering earlier question) needs an argument so as to support prototype OO systems, where the meta-data is tied up with the object and the HOW is actually just some singleton thingy 12:00
anant jnthn: So this singleton HOW object (seems to be Perl6::Metamodel::ClassHOW.new()) actually inquires the object passed as an argument for meta-data? 12:05
jnthn anant: No, because ClassHOW implements class-based OO. 12:06
anant: It's more if you're implementing an object system along the lines of what JavaScript has, for example.
nwc10 jnthn: nqp-jvm prep still "works" on my machine apart from the 2 usual failures on nqptest 12:10
arnsholt jnthn: Have you ever managed to trash the PMC *allocation data* (which is stored just before the PMC in memory, I think) from NQP's C code?
jnthn arnsholt: Not knowingly... :) 12:12
[Coke] finds a coffee. 12:13
jnthn is going through mail and sees [Coke]++ has been adding loads of tests and closing RTs :) 12:14
[Coke] All the easy ones, anyways. 12:17
I left you all the tricksy bits. :)
anant jnthn: Bit confused. Which module implements prototype OO in p6? say Str.HOW; say Int.HOW; etc all give Perl6::Metamodel::ClassHOW 12:44
census Hi! 12:56
[Coke] looks like new tests caused a niecza hang when running the suite yesterday. 13:02
I just killed the offending test file.
arnsholt anant: AFAIK no-one's implemented prototype OO yet, but it can be done 13:15
anant arnsholt: so the .HOW.methods() taking in an argument is more of a future-proofing thing? 13:17
colomon [Coke]: WHAT WAS IT? 13:18
errr, sorry about the caps lock
moritz anant: no. A metaclass can handle more than one class
so you need to pass in an extra object to let it know which one you're working on 13:19
I don't know if rakudo uses this mechanism, but I'm pretty sure SMOP did 13:20
jnthn I suspect it'll come in rather useful when we get to HLL interop style things
moritz (SMOP being a runtime library for MOP stuff written in C, back in the days)
lizmat Regarding S02L1734-41: square brackets? I don't see any square brackets there ? 13:21
jnthn e.g. for the JVM port to provide access to Java classes, for example.
moritz lizmat: the example with square brackets would be my Hash[Array[Recipe]] %book 13:22
lizmat Parametric types are named using square brackets, so: my Hash of Array of Recipe %book; actually means: my Hash:of(Array:of(Recipe)) %book;
is what it says...
so an omission in S02? 13:23
moritz yes
moritz jnthn: at your convenience, please take a look at irclog.perlgeek.de/perl6/2013-03-23#i_6622306 I'm kinda stuck with the EXPORT_hash branch 13:24
anant moritz: Do all objects delegate to the same metaclass instance?
moritz all objects of the same type do, in rakudo
moritz so in rakudo it wouldn't be necessary to pass in the extra argument right now 13:25
so in some sense it's both for future-proving and past-proving :-)
jnthn: (that branch is in the [email@hidden.address] fork) 13:26
anant as that would explain it needing the object as an argument 13:27
[Coke] colomon: I didn't write it down, sorry. 13:29
dalek ecs: aff4d83 | (Elizabeth Mattijsen)++ | S02-bits.pod:
Added omitted square brackets example with parametric typing.
colomon doh
[Coke] you'll see it in the failures when I post today, though.
anant r: say Int.HOW.methods(); 13:30
p6eval rakudo ffe441: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤ in any methods at src/gen/Metamodel.pm:419␤ in block at /tmp/PtCn_a4cc8:1␤␤»
anant moritz: Rakudo wants that argument ...
moritz yes
but at its current state, it could have been written to not need it, afaict 13:31
anant moritz: which is what was confusing me
moritz anant: I think one motivation was to allow objects with mixins to retain the original type 13:36
jnthn moritz: Note that you can't QAST::WVal something that doesn't already live in an SC
colomon [Coke]: maybe our.t? Lots of changes, and it seems like it's the only one that's changed since the last time I ran make spectest. 13:37
jnthn moritz: Why are you WVal'ing it, ooc? 13:38
colomon jnthn! \o/
moritz jnthn: a type object of a lexical class that I try to import
jnthn moritz: It was actually written as a class? Hmm
moritz jnthn: it looks like this: my class A { }; our sub EXPORT(|) { (A => A).hash }
jnthn moritz: OK, I think I'll have to build the branch. But I'm not sure I have the energy/concentration for it today.
moritz jnthn: ok, no hurry 13:39
jnthn o/ colomon :)
[Coke] colomon: weird. the niecza run is done, I don't see anything new in the diff since yesterday. :( 13:40
jnthn moritz: I do find it very odd that the lexical class would not have had its type object put in an SC, though...
colomon [Coke]: and our.t worked fine when I tried it. :\
[Coke] colomon: there are like 35 failures that are ongoing, btw. 13:41
our.t seems fine, aye.
wonder if it was something that died after generating the "end of test" output. hurm. 13:42
colomon [Coke]: yeah, there's the subst.t thing (which I still think is a spec issue, gonna blog about it at some point) and a bunch of misc. failures caused by TimToady++ reworking the return value of if that's it's not clear to me if they are roast bugs or niecza bugs. 13:42
moritz jnthn: I tried also to $*W.add_object every symbol that we import, but that made setting compilation blow up, so I quickly abandoned that approach 13:43
colomon [Coke]: in other words, I've been trying to fix the obvious things, and putting off dealing with the tricky issues until I had more time. :)
moritz jnthn: also it seems that the SC comes from a CompUnit.sc() call. Is it normal to have CompUnits without a SC? 13:44
PerlJam Any good perl-related AFJs today? 13:57
lizmat YAPC::Hawaii comes to mind 13:58
dalek rl6-roast-data: 9fbc3ca | coke++ | / (4 files):
today (automated commit)
14:47
ast: f637132 | coke++ | S (3 files):
pugs fudge
14:57
arnsholt r: (-> { say $^b; say $^a })(1, 2) 15:00
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Placeholder variable '$^a' cannot override existing signature␤at /tmp/_WDOGpKdaH:1␤------> (-> { say $^b; say $^a }⏏)(1, 2)␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ …
arnsholt r: (-> { say $^b; say $^a; })(1, 2)
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Placeholder variable '$^a' cannot override existing signature␤at /tmp/KCBhD2pFBZ:1␤------> (-> { say $^b; say $^a; }⏏)(1, 2)␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ …
moritz r: try eval '-> { say $^b; say $^a; }'; say $!.perl 15:02
tadzik panda lacks a vision
p6eval rakudo ffe441: OUTPUT«X::Signature::Placeholder.new(placeholder => "\$^a", filename => "eval_0", line => 1, column => Any, modules => Array.new(), is-compile-time => 1, pre => "-> \{ say \$^b; say \$^a; }", post => "<EOL>", highexpect => Array.new("postfix", "statement end", "statement …
arnsholt r: (sub { say $^b; say $^a; })(1, 2) 15:06
p6eval rakudo ffe441: OUTPUT«2␤1␤»
moritz tadzik: how about "be an awesome module installer"? 15:08
tadzik that's a good one 15:09
Now I need to think of a way to get there
step one: stop hating the code
I have a couple of ideas, and all of them involve turning stuff upside down and breaking backwards compat. 15:10
I could set up a compatibility layer, I guess
moritz or work on a fork 15:12
tadzik my thoughts keep circling around a git-like thing 15:13
moritz what's the logical successor to panda? babypanda? bear? :-)
git-like in what way?
tadzik so we have a set of independent tools, like panda-build, panda-fetch, panda-test. They can be nice developer tools
early tests show that panda-build can be even faster than ufo && make
pmichaud p6: "panda".succ.say
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«pandb␤»
tadzik then we can have a Mother Tool, called just 'panda', which saves the user the effort of typing all those things to install stuff 15:14
PerlJam "pan db"? it's a bread database ?
:-)
pmichaud it's part of our bread and butter, yes.
tadzik haha
[Coke] AHAHAHAHA.
tadzik and then one of the points is to keep those small tools simple 15:15
so no tight-coupling, no more insanity like Panda::Resources etc
[Coke] So, planetsix.perl.org/ is going away. I am trying out planeteria.org/perl6 as a replacement. I noticed recent changes were not reflecting on the front page. I email the admin, get back: "Congratulations, your perl6 feed broke the system!" 15:16
awwaiid p6: say sub { $^a / $^b }.(1, 3); say sub { $^b / $^a }.(1, 3)
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/uSoGNCTyJX:1␤------> say sub { $^a / $^b }⏏.(1, 3); say sub { $^b / $^a }.(1, 3)␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement mo…
..niecza v24-35-g5c06e28: OUTPUT«0.333333␤3␤»
[Coke] feels bad&happy
moritz feels destructive 15:17
tadzik I see things like "1; }" all over my code. I still don't completely get sink context 15:18
moritz [Coke]: do you know know if we'll get redirects to a new site from planetsix?
tadzik: I'm so >.< close to making for-loops eager again
moritz it's just silly to try to make a construct lazy that people don't expect to be lazy 15:19
tadzik moritz: so I'm not the only one?
moritz and then jump through hoops to make it appear to DWYM most of the time
tadzik: not at all
tadzik the point of for, imho, is that it doesn't return results. So I expect side-effects to happen _now_
[Coke] moritz: I don't know if that part of the infrastructure is also going away. Certainly I will blog about it in a feed that appears in sixplanet before it gets shut off.
moritz [Coke]: which time frame are we talking about? 15:20
if it's two weeks or more, I might be able to set up a new system on planet.perl6.org or so 15:21
and then slowly migrate it to perl 6 :-)
[Coke] moritz: I don't know. I assume it's related to: log.perl.org/2013/03/svnperlorg-shu...month.html 15:22
pmichaud one can always write 'sink'; at the end instead of '1' 15:22
or even 15:23
sink for @list { ... }
[Coke] sink--
moritz sink do for @list { ... }
pmichaud: but it's still silly
it violates everybody's expectations except TimToady_'s and mine
and mine only because I implemented sink context
pmichaud well, and mine. :) 15:24
although I'm fine with an eager for also.
tadzik :D
pmichaud ooc, because my brane isn't all here at the moment, do we have use cases for the lazy 'for' ? 15:25
[Coke] Is there a doc on sink context other than the specific mentions in the spec (e.g. "Because C<gather> evaluates its block or statement in sink context")
PerlJam pmichaud: when it's acting like map?
pmichaud PerlJam: I mean, like an example :-) 15:26
I suppose statement modifier for
moritz www.debian.org/ # lolcat debian 15:28
tadzik lol. Cat. 15:29
moritz wonders what Cat.lol will return. Probably just a Cat.
[Coke] r: Cat 15:30
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Undeclared name:␤ Cat used at line 1. Did you mean 'Rat'?␤␤»
[Coke] . o O (Eek!)
pmichaud suggests creating a NYI for Cat 15:36
[Coke] wonders who zbornheimer is.
PerlJam
.oO( a nyi-cat? is that like nyancat? )
15:37
jnthn pmichaud: I think list comprehensions are the main use case 15:45
jnthn suspects that somewhere on RosettaCode are examples 15:46
[Coke] rakudo: /$'x'/ 15:50
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/IY9DmuO6ZJ:1␤------> /$⏏'x'/␤ expecting any of:␤ statement list␤ prefix or term␤ prefix or meta-prefix␤»
[Coke] std: /$'x'/ 15:51
p6eval std 86b102f: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter $ (must be quoted to match literally) at /tmp/rRTDyXwWaK line 1:␤------> /$⏏'x'/␤Can't call method "from" on unblessed reference at STD.pm line 53909.␤FAILED 00:00 42m␤»
tadzik r: sub foo($a = 5) { say $a }; foo(Any) # bug? 16:04
p6eval rakudo ffe441: OUTPUT«(Any)␤»
PerlJam r: sub foo($a = 5) { say $a }; foo(Nil); 16:07
p6eval rakudo ffe441: OUTPUT«Nil␤»
PerlJam I think there's at least one bug here. 16:08
[Coke] no. no more bugs. stop opening new bugs! ;) 16:09
[Coke] r: say 292+335+1-65 16:20
p6eval rakudo ffe441: OUTPUT«563␤»
[Coke] colomon: no hangs today. 16:50
planeteria.org/perl6 is now up and running. I haven't decided if this is a permanet replacement for planetsix.perl.org/ 16:55
timotimo i wonder how many people approximately are on perl.perl6.users, but never on the irc 17:01
[Coke] moritz: we can get the old URL redirecting to the new one. 17:03
census anybody have a quick sec. just have a general web scraping question (not perl5 specific) if that is ok ... 17:10
tadzik if it's not Perl 5 specific maybe it's at least Perl 6 specific? 17:11
flussence ask away, all my answers will be in PHP
census hahahah
i'm trying to extract information off of a table. 17:12
there's a value in the table that is 0 on the screen. however when i printed the internal contents of the table. it shows up as not having any value. as a result, the ultimate value is that this cell is blank. i ran the code on this table many times so it is not a spuriously bad web connection
in perl 5 lingo, i tried doing a data dumper. 17:13
maybe i'm dumping the wrong thing ... but how can something show up on the screen and not in the raw table.
i do not have this problem with any of the other contents of the table ...
if it would help and would not be unwelcomed ... i could show brief code and/or the results of the data dumper and/or the raw table ...
i meant the table as it appears on the web 17:14
FROGGS jnthn / pmurias: what about that? gist.github.com/FROGGS/5286324 17:23
(untested)
dalek rl6-roast-data: 1832362 | coke++ | / (4 files):
today (automated commit)
17:25
[Coke] .u fi 18:03
yoleaux U+FB01 LATIN SMALL LIGATURE FI [Ll] (fi)
colomon [Coke]: no hangs for me ether 18:33
[Coke] so, all clear. 18:39
except for the failures. ;)
rn: use Test; my $answer = 0; my @x = 41, (42 if $answer), 43; my @y = 41, ($answer ? 18:53
? 42 !! ()), 43; my @z = 41, 43; is @y, @z, "sanity check"; is @x, @y, "if expr o
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Confused at /tmp/KnzlwM0vDE line 1:␤------> 2 if $answer), 43; my @y = 41, ($answer ⏏?␤␤Parse failed␤␤»
..rakudo ffe441: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/XHHsmwgeAl:1␤------> 2 if $answer), 43; my @y = 41, ($answer ⏏?␤ expecting any of:␤ postfix␤ infix stopper␤ infix or meta-infix␤ statement end␤ statem…
[Coke] arg.
n false cond";
rn: use Test; my $answer = 0; my @x = 41, (42 if $answer), 43; my @y = 41, ($answer ?? 42 !! ()), 43; my @z = 41, 43; is @y, @z, "sanity check"; is @x, @y, "if expr on false cond"; 18:54
p6eval rakudo ffe441: OUTPUT«ok 1 - sanity check␤ok 2 - if expr on false cond␤»
..niecza v24-35-g5c06e28: OUTPUT«ok 1 - sanity check␤not ok 2 - if expr on false cond␤# /tmp/SGb2xxOHJm line 1␤# Failed test␤# got: 41 43␤# expected: 41 43␤»
[Coke] colomon: there's one.
extra space in the output.
(S04-statement-modifiers/if.t)
lizmat n: my %bar= <foo baz>; say $%bar 19:07
p6eval niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Invalid hard reference syntax at /tmp/YV7CJuFPJ3 line 1:␤------> my %bar= <foo baz>; say $⏏%bar␤␤Parse failed␤␤»
lizmat r: my %bar= <foo baz>; say $%bar
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Invalid hard reference syntax␤at /tmp/kHEa5_QypS:1␤------> my %bar= <foo baz>; say $⏏%bar␤ expecting any of:␤ argument list␤ prefix or term␤ prefix or meta-prefix␤»
lizmat rn: my %bar= <foo baz>; say item %bar
p6eval niecza v24-35-g5c06e28: OUTPUT«{"foo" => "baz"}␤»
..rakudo ffe441: OUTPUT«("foo" => "baz").hash␤»
lizmat S02L2108 states: "Array and Hash variables can be evaluated in item context by prefixing 19:08
them with a single dollar sign:"
so what's wrong with: 19:09
rn: my %bar= <foo baz>; say $%bar
p6eval rakudo ffe441: OUTPUT«===SORRY!===␤Invalid hard reference syntax␤at /tmp/UPvNmCY1sI:1␤------> my %bar= <foo baz>; say $⏏%bar␤ expecting any of:␤ argument list␤ prefix or term␤ prefix or meta-prefix␤»
..niecza v24-35-g5c06e28: OUTPUT«===SORRY!===␤␤Invalid hard reference syntax at /tmp/SRzGpmUcIM line 1:␤------> my %bar= <foo baz>; say $⏏%bar␤␤Parse failed␤␤»
moritz NYI.
lizmat ok
moritz both rakudo and niecza follow an outdated STD.pm6 here
timotimo :D 19:12
er, is there something to be happy about here? if not: mischan :|
lizmat I see that rakudo and niecza differ on the item output
who is righter? 19:13
moritz huh? both say "Invalid hard reference syntax", no?
oh, different output
lizmat rn: my %bar= <foo baz>; say item %bar
p6eval niecza v24-35-g5c06e28: OUTPUT«{"foo" => "baz"}␤»
..rakudo ffe441: OUTPUT«("foo" => "baz").hash␤»
moritz rakudo's looks wrong to me 19:14
nr: my %bar = <a b c d>; say elems item %bar
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«2␤»
moritz nr: my %bar = <a b c d>; my $c = 0; ++$c for item %bar; say $c 19:14
p6eval rakudo ffe441: OUTPUT«2␤»
..niecza v24-35-g5c06e28: OUTPUT«1␤»
moritz niecza is right here, and rakudo is wrong 19:15
moritz submits rakudobug
lizmat :-)
my first rakudobug by proxy :-)
moritz lizmat++ 19:16
moritz lizmat: your first rakudobug is henceforth known as [perl #117431] 19:26
lizmat rn: say item :mice<blind> 19:28
p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: No value for parameter '$x' in 'item'␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (item @ 1) ␤ at /tmp/P7iaxwRZ2d line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6eval/niecza/lib…
..rakudo ffe441: OUTPUT«Unexpected named parameter 'mice' passed␤ in sub item at src/gen/CORE.setting:1760␤ in sub item at src/gen/CORE.setting:1760␤ in block at /tmp/NpUaaEr6YS:1␤␤»
lizmat rn: say item (:mice<blind>)
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«"mice" => "blind"␤»
lizmat rn: say item(:mice<blind>) 19:29
p6eval niecza v24-35-g5c06e28: OUTPUT«Unhandled exception: No value for parameter '$x' in 'item'␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (item @ 1) ␤ at /tmp/TVsQiACylQ line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3) ␤ at /home/p6eval/niecza/lib…
..rakudo ffe441: OUTPUT«Unexpected named parameter 'mice' passed␤ in sub item at src/gen/CORE.setting:1760␤ in sub item at src/gen/CORE.setting:1760␤ in block at /tmp/XDrNC8yHTF:1␤␤»
lizmat rn: say item((:mice<blind>))
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«"mice" => "blind"␤»
lizmat rn: say :mice<blind>.perl 19:30
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«"mice" => "blind"␤»
lizmat rn: say (:mice<blind>).perl
sorear r: say item 19:31
p6eval rakudo ffe441, niecza v24-35-g5c06e28: OUTPUT«"mice" => "blind"␤»
rakudo ffe441: OUTPUT«␤»
lizmat is wondering why the parentheses are needed
moritz r: my $c = 0; $c++ for {a => 1, b => 2}; say $c
p6eval rakudo ffe441: OUTPUT«1␤»
moritz lizmat: so that :mice<blind> isn't a named argument 19:32
lizmat: and the decision if something is a named argument is syntactic; adding parens around it makes it a positional argument
other ways would be
moritz r: say item "mice" => "blind"; # quotes around the key 19:32
p6eval rakudo ffe441: OUTPUT«"mice" => "blind"␤»
moritz r: my $pair = :mice<blind>; say item $pair; # pair literal not part of a call 19:33
p6eval rakudo ffe441: OUTPUT«"mice" => "blind"␤»
lizmat I understand the alternatives
yet I somehow expected that :mice<blind> would already be a pair, and therefore a positional 19:34
moritz then you must align your expectations with reality :-)
lizmat fair enough 19:35
moritz r: sub it($a) { $a }; it((a => 1, b => 2).hash).perl.say
p6eval rakudo ffe441: OUTPUT«{"a" => 1, "b" => 2}␤»
moritz r: sub it(*@a) { my $ = @a }; it((a => 1, b => 2).hash).perl.say
p6eval rakudo ffe441: OUTPUT«["a" => 1, "b" => 2]␤»
colomon [Coke]: yes, that's the issue with most of the problems. what I don't know is if it's a bug or not. like I said, TimToady made the change to niecza that caused that group of failures. What I don't know is if the problem is he didn't make enough change, or if the problem is that the test hasn't kept up with the latest spec. 19:37
moritz masak: haiku.nytimes.com/ 19:43
moritz oh, and I want TEE-TWO RE-VIEWs! 19:46
frdmn can someone help me with the Bot::BasicBot module 19:54
i try to fetch teh mirc color codes out of the said method but instead of something like "\x034red" i get "4red"
[Coke] colomon: I have no idea, yah. 19:55
frdmn: someone ported basicbot to perl 6?
moritz frdmn: there might be character with code 03 before 4
frdmn: try outputting .perl of the string, which shows such escape sequences 19:56
frdmn phew... actually i am a total perl newbie and have to research about that first where to put it 19:57
:P
frdmn ha, moritz, i im running your ilbot :P 19:57
*am
diakopter read that as ruining at first 20:00
sorear _ilbot or ilbot6? 20:01
frdmn _ilbot 20:04
oh
moritz oh, then you need use Data::Dumper; $Data::Dumper::Useqq = 1; print Dumper $line; # in sub dbwrite 20:08
though perl 5 help is actually off-topic here :-) 20:09
frdmn: if you write a patch that filters out IRC colors, please submit it as a pull request to github.com/moritz/ilbot/
frdmn will do :) 20:10
moritz probably $line =~ s/ \x15 | \x03\ d{1,2} (?: ,\d{1,2} )? /gx; # or so 20:12
though maybe they should be logged, and filtered out on display 20:13
there's something to be said for always storing exactly what you receive
[Coke] tadzik: ping. 20:20
tadzik [Coke]: pong 20:22
[Coke] did you accidentally file ttjjss.wordpress.com/2013/03/27/pol...us-update/ under "parrot" at one point?
(it is showing up at planetparrot, but is not in the feed planet parrot uses on your site.) 20:23
tadzik no, I did not. But everything I write shows up on planet parrot for some reason
for as long as I remember
[Coke] ok. Danke. 20:25
tadzik bitte 20:26
\o/ Ich kann spreche Deutch 20:27
* Deutsch
[Coke] well, planeteria doesn't seem to suffer from this problem. 20:29
tadzik ossum
[Coke] (which I thought was a bug. ;)
[Coke] planeteria really doesn't like your ś though. :( 20:34
tadzik /o\
tadzik suddenly wishes LEAVE runs even when an exception is thrown 20:51
[Coke] FINALLY.
szabgab [Coke] could you please check the list of sources on planeteria.org/perl6/ it migh be a bit out of that. In any case please replace the feed from szabgab.com by the feed from perl6maven.com/
[Coke] Is there a way to specify multiple phasers at once?
diakopter tadzik: maybe a ... SUSPENDONCE phaser?
[Coke] szabgab: the entries that are in there are from the sixplanet feed. (minus some that appear to have been culled when the admin fixed the feed) 20:52
LEAVE|CATCH { always do this.}
tadzik hmm. This new rewrite of panda just installed Benchmark in 4.55 seconds
diakopter o-O 20:53
[Coke] szabgab: you had 2 feeds in old planet. you just want maven going forward?
tadzik but I'm cheating, I gave it the git repo url
szabgab [Coke] oh and wast that different from planetsix.perl-foundation.org/ ?
[Coke] yes please
the perl 6 maven :)
dalek : 3d2cd1a | (Tobias Leich)++ | META.info:
make v5 pandaable
tadzik \o/ 20:54
[Coke] szabgab: I think perl-foundation is an alias.
tadzik I'm now going to install v5 with redpanda ;) 20:54
szabgab [Coke] so yes, when I write about Perl 6 it is on the Perl 6 Maven
dalek osystem: 78dc3e1 | (Tobias Leich)++ | META.list:
added v5 - Perl 5 Slang
20:55
FROGGS tadzik: you changed panda the last days? how do I set it up on a fresh rakudo? 20:55
tadzik FROGGS: I did not break the original panda, yet
tadzik FROGGS: there is pandabrew, which is quite cute 20:55
and I'm still working on a new version (mostly a rewrite) of panda, but that's not yet ready 20:56
FROGGS so I just clone that repo and I'm done? do I need to copy modules around?
tadzik pandabrew is ready for testing though. It should improve the panda experience significantly
try it: github.com/tadzik/pandabrew
pandabrew init # brews a new panda 20:57
FROGGS is cloning
tadzik pandabrew env # put that in .bashrc/.zshrc
it automatically detects when you've updated rakudo, and offers to rebuild the installed modules
[Coke] szabgab: updated. will take some time to reflect. 20:58
FROGGS tadzik: you should chmod 0755 it :o)
tadzik ayes, I should 20:59
but well, if you install pandabrew with panda it will 0755 it itself :P
fixed, thanks 21:00
szabgab [Coke] thanks 21:01
FROGGS tadzik: that `pandabrew env` is not quit right 21:03
tadzik how so?
FROGGS if I run `panda`, I get 'pandabrew: command not found'
tadzik uh-oh
well, it assumes pandabrew is installed by panda :F
FROGGS hmmm, chicken&egg problem? 21:04
tadzik sort of 21:04
[Coke] bootstrap to the rescue! ;) 21:05
tadzik pandabrew improves panda experience, but is not a substitute
pandabrew init bootstraps panda, I guess it could also install itself afterwards
all this could be improved :\ 21:06
labster good day, all you happy perl6 people
FROGGS hi labster 21:07
FROGGS tadzik: looks like v5 doesn't like panda (or panda doesn't like v5) 21:07
labster tadzik: I sent you a pull request for File::HomeDir (which would improve pandabrew)
FROGGS ===SORRY!===
Could not find NQPP6QRegex in any of: ...
tadzik labster: looking 21:08
FROGGS: ahyes
labster hi FROGGS o/
tadzik FROGGS: well, NQPP@*$J(@! is not in lib anywhere :(
it should probably be installed with Rakudo 21:09
if the module ecosystem wants to use it
labster: looks good, thanks!
[Coke] is nqpp6qregex from the parrot nqp? 21:10
FROGGS [Coke]: right 21:12
[Coke] URK?
masak moritz: I'll have some time to look at tee-two re-views tomorrow ;) thanks for your enthusiasm. 21:13
[Coke] I am surprised to find anything in rakudo-land depending on that.
FROGGS [Coke]: well, v5 is not really in rakudo land 21:14
[Coke] I'm just wondering why use anything from parrot's nqp (which is on the table to get removed from parrot) rather than nqp. 21:15
FROGGS [Coke]: ahh, no 21:17
[Coke]: it is nqp@parrot, not parrot-nqp
[Coke] Carry on, then. ;) 21:18
FROGGS *g* 21:22
frdmn if i ord() an character and get "3" as result... what is that? 21:29
geekosaur control-C? 21:30
FROGGS frdmn: it the third character in the ascii table
FROGGS r: say "A".ord 21:30
p6eval rakudo ffe441: OUTPUT«65␤»
FROGGS r: say 65.chr
p6eval rakudo ffe441: OUTPUT«A␤»
frdmn i mean... i have a regexp like: s/\x02|\x09|\x13|\x0f|\x15|\x1f|\x16|\x12|\x03(?:\d{1,2}(?:,\d{1,2})?)?//
i want to include that character in there
FROGGS s/\x02|\x03|\x09|\x13|\x0f|\x15|\x1f|\x16|\x12|\x03(?:\d{1,2}(?:,\d{1,2})?)?// 21:31
frdmn oh i am stupid
i tried \x3
thank your FROGGS
geekosaur \x3 is the same as \x03 21:32
frdmn hmm... it still appears
geekosaur and that looks like mIRC attributes (colors)
and indeed it is control-C
frdmn "101 2 3 101 [...]"
all the color attributes are working fine... and the bold tag 21:33
geekosaur you already have \x03 in that regex 21:34
the original one, that is
frdmn yeah
that is used for colors
\x03
geekosaur yes
so why are you trying to add it again? 21:35
sorear the behavior of \x has changed between 5 and 6. beware.
frdmn im using 5
geekosaur maybe this belongs in #perl then :)
frdmn probably, sorry :/
frdmn i was just still in here because of the auther of ilbot :P 21:36
*author
sorear geekosaur: iirc moritz has told people to come to #perl6 for ilbot help 21:41
geekosaur ah
frdmn not sure if its a perl5 or 6 relevant problem but, when i call a method of a module (IRC::Utils)) i get an "Use of inherited AUTOLOAD for non-method IrcLogBot::strip_color() is deprecated at ilbot2.pl line 34." error 22:07
frdmn and the script exits 22:07
can someone help me out there?
masak frdmn: I think you'll have better luck when moritz is awake. right now he's asleep, I think. 22:09
frdmn: try in, hm, about eight hours.
frdmn okay, masak 22:10
i assume he is a european?
diakopter or europan 22:11
FROGGS frdmn: you're assuming right
frdmn i am from germany as well :P
FROGGS frdmn: me too :o)
frdmn \o/
FROGGS beeing in the same timezone is always a plus
diakopter me too, well, 8 generations ago 22:12
FROGGS hehe
frdmn FROGGS: indeed
:P
FROGGS diakopter: well, that's true for your neighbours as well :P
well, at least the chance is pretty gohigh
high
lue hello world o/ 22:27
FROGGS hi lue 22:28
lue could be in the German timezone too. It'd make his day line up with most people's here
labster It would be nice if S05 actually defined backslash sequences, rather than depend on P5's spec. 23:02
I'm porting something with \l (lc next letter), and that property isn't mentioned at all, as taken out or included. 23:03
huh... it's lowercasing something that matches [a-z]? that's a no-op anyway! 23:11