»ö« 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.
sjn r: [+]((11..*)[^14]) 00:16
camelia ( no output )
sjn r: say [+]((11..*)[^14])
camelia rakudo-{parrot,jvm,moar} 28d672: OUTPUT«245␤»
sjn r: say [+] (11..*)[^14] 00:17
camelia rakudo-{parrot,jvm,moar} 28d672: OUTPUT«245␤»
sjn r: say [+](11..*)[^14]
TimToady no :) 00:18
sjn confusing, eh
camelia rakudo-{parrot,jvm,moar} 28d672: OUTPUT«(timeout)»
TimToady [+]() is just like foo()
sjn it is? o_O
TimToady reductions are exactly like list operators, including the rule that parens make it a function call 00:19
sjn when would you want to call a reduction operator as a function?
TimToady when you want to something else after as a postfix 00:20
timotimo m: say [\+](1, 2, 3, 4, 5)[^2]
camelia rakudo-moar 28d672: OUTPUT«1 3␤»
timotimo m: say [\+] (1, 2, 3, 4, 5)[^2] # as opposed to this
camelia rakudo-moar 28d672: OUTPUT«1 3␤»
TimToady well, you lucked out :)
timotimo ... er
timotimo is quite tired, it seems 00:21
colomon … er indeed
TimToady you see the difference with the infinite list, what with [+] being somewhat more eager than [\+] 00:22
m: my $pair = (<this is>, <a list>, <of four>, <sublists>) => "Or is it?"; say $pair.key; 00:23
camelia rakudo-moar 28d672: OUTPUT«this is a list of four sublists␤»
sjn is new to [+] too :-\
TimToady earlier, it was implied that these lists flatten in the key
they don't
m: my $pair = (<this is>, <a list>, <of four>, <sublists>) => "Or is it?"; say $pair.key.perl
camelia rakudo-moar 28d672: OUTPUT«$(("this", "is"), ("a", "list"), ("of", "four"), "sublists")␤»
TimToady see, the structure is still in the key
colomon oh! I missed the \
TimToady m: say [\+] 1,2,3 00:24
camelia rakudo-moar 28d672: OUTPUT«1 3 6␤» 00:25
TimToady note that it returns the same # of values, hence the [^2] worked either way
despite doing the operations in the opposite order
why I said "lucked out" :) 00:26
colomon right
sjn thanks, 00:29
sjn also now understands why [+]((11..*)[^14]) worked 00:30
sjn thought he was overriding presedence 00:32
TimToady well foo() is very high precedence :) 00:34
sjn r: say [+].WHAT 00:37
camelia rakudo-{parrot,jvm,moar} 28d672: OUTPUT«(Int)␤»
sjn r: say &[+].WHAT
camelia rakudo-{parrot,jvm,moar} 28d672: OUTPUT«(Sub+{<anon>}+{Precedence})␤»
TimToady verb vs noun
on top of which, &[+] isn't a reduction 00:38
timotimo it's interesting that it's sometimes easier to verb than to noun in perl6
TimToady both FP and OO are biased in favor of verbs over nouns, though differently
foo bar $baz vs $bas.bar.foo 00:39
timotimo i thought in OO you usually can't have a verb without a noun to accompany it? :)
TimToady .really?
timotimo well, in java.
timotimo remembers that article
TimToady but you often want to call methods on something that is returned
FP and OO just have different ways of cascading verbs
timotimo ah, mhm 00:40
TimToady m: say [+] 00:41
camelia rakudo-moar 28d672: OUTPUT«0␤»
TimToady m: say [*]
camelia rakudo-moar 28d672: OUTPUT«1␤»
TimToady that's the other thing going on here
BenGoldberg m: say [**] 00:58
camelia rakudo-moar 28d672: OUTPUT«1␤»
BenGoldberg m: say [%]
camelia rakudo-moar 28d672: OUTPUT«===SORRY!===␤No zero-arg meaning for infix:<%>␤»
BenGoldberg m: say [!] 00:59
camelia rakudo-moar 28d672: OUTPUT«===SORRY!=== Error while compiling /tmp/N41X2ZKN1f␤Negation metaoperator not followed by valid infix␤at /tmp/N41X2ZKN1f:1␤------> say [!⏏]␤ expecting any of:␤ argument list␤ prefix or term…»
rindolf Hi all. 01:57
TimToady: here?
rgbkrk perl6: say 3; 05:27
camelia rakudo-{parrot,jvm,moar} 28d672, niecza v24-109-g48a8de3: OUTPUT«3␤»
rgbkrk nice
masak morning, #perl6 06:50
cognominal morning 06:52
sergot morning \o 06:53
masak m: say [max] 06:54
camelia rakudo-moar 28d672: OUTPUT«-Inf␤»
masak m: say [&&]
camelia rakudo-moar 28d672: OUTPUT«True␤»
DrEeevil outspeaking.com/words-of-technology...t-win.html that's an interesting interpretation 06:59
masak "It's *possible* that one of the Perl 6 works-in-progress will reach a point of usability and gain stability and maturity as a useful product, with documentation, libraries, support, and uptake." -- that was the important one for me. 07:38
masak first off, while there have been many parallel efforts during the years, right now basically all the focus is on Rakudo and its backends. 07:39
I understand if for a relative outsider that still looks like several works-in-progress. it doesn't feel like that from the inside.
DrEeevil hrm, it's not as bad as the python3 split, imo
masak no? interesting.
DrEeevil perl5 is not deprecated
python upstream actively tries to get people to use py3, with the usual response of "lol" - who is going to port all the code for us? 07:40
masak deprecation doesn't stop ~85% of the Python community from using Python 2.7
DrEeevil well, circular - e.g. django, it now has theoretical py3 support, but practically that's still not production-ready
so if I were starting any py project now, well, I still stick to py2
thus all my effort goes into improving py2 libs. derp :D 07:41
masak right. 07:43
DrEeevil so the business case for py3 is, hmm, I spend a few hundred to a few thousand hours of effort on no visible progress, and get a performance penalty for that
not something that interests me
nwc10 masak: is it a public holiday in Sweden today? Or is Austria divergently special? 07:45
and where is TFM where I can R this?
masak nwc10: no, today seems to be a workday. though I know some people who have a day off. 07:47
masak nwc10: as to TFM, en.wikipedia.org/wiki/Public_holidays_in_Sweden seems to cover it fairly well. 07:50
masak nwc10: that article even mentions "flag days", so it should suit you :P 07:51
nwc10 interesting. Articles on outspeaking.com don't have authors. They don't even have dates. 07:59
masak how... convenient. 07:59
FROGGS m: "a" ~~ /. { my $s := nqp::findmethod(self, 'orig')(self); say nqp::isstr $s } / 08:00
camelia rakudo-moar 28d672: OUTPUT«===SORRY!===␤'self' used where no object is available␤at /tmp/tfNO4ZDT0C:1␤------> "a" ~~ /. { my $s := nqp::findmethod(⏏self, 'orig')(self); say nqp::isstr $s }␤'self' used where no object is available␤at /…»
FROGGS m: grammar G { method TOP { . { my $s := nqp::findmethod(self, 'orig')(self); say nqp::isstr $s } } }; G.parse("a") 08:01
camelia rakudo-moar 28d672: OUTPUT«===SORRY!=== Error while compiling /tmp/zLkfHUnCrR␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/zLkfHUnCrR:1␤------> grammar G { method TOP { . ⏏{ my $s := nqp::findmethod(self, 'orig'…»
FROGGS m: grammar G { token TOP { . { my $s := nqp::findmethod(self, 'orig')(self); say nqp::isstr $s } } }; G.parse("a")
camelia rakudo-moar 28d672: OUTPUT«0␤»
FROGGS hmmmm
FROGGS ahh, I think I know! 08:03
masak FROGGS: 'method TOP' 08:05
FROGGS yes yes
that was just a thinko
masak oh, you fixed it later. 08:06
FROGGS I have the problem that a native str is sneaked into the match objects of the token of a slang
masak how sneaky. 08:06
FROGGS yeah....
FROGGS I turn v5 into pure Perl 6 atm... and that is an issue right now 08:07
FROGGS yay, it works :o) 08:17
masak xfix: github.com/perl6/specs/commit/5cad...7e1a7d7b0c -- the title says one thing (returns Int), but the patch says another (returns Rat). 08:30
dalek ecs: 740854e | masak++ | S03-operators.pod:
actually mention that % does (Int, Int) -> Int
08:35
moritz does S03 contain a type matrix somewhere? 08:41
yoleaux 8 Jun 2014 21:11Z <raiph> moritz: I'm trying to encourage a little cleanup of gh/perl6; please search for 'moritz' in questhub.io/realm/perl/quest/53457...d24e00006d TIA
moritz .tell raiph re perl6/p5-modules: you could contact the authors of the invidial modules, tell them to fork the repo (or extract subdirs) if they're still interested 08:53
yoleaux moritz: I'll pass your message to raiph.
moritz .tell raiph i've updated rakudo.de a bit 09:17
yoleaux moritz: I'll pass your message to raiph.
ennio Hi all 09:23
ennio I have a noob question 09:24
FROGGS hi ennio 09:24
ennio Is there any difference between declaring a string in code and reading a string from a file with slurp 09:25
FROGGS ennio: the string in the code is in a constant table, because it will always be constant in your program 09:26
the string from the file is not in that table of course
ennio I'm not able to read a markdown file and parse it with Text::Markdown 09:28
But it works with simple embedded strings
FROGGS so it seems that your are perhaps not reading the file in properly, or the file is misformatted 09:29
ennio: can you no-paste your code?
should look a bit like: say parse-markdown( "myfile".IO.slurp ).to_html 09:30
ennio gist.github.com/scriplit/7c9e86d0a8361dc41aa9
sergot ennio: I did this that way: github.com/sergot/filip.sergot.pl/...gen.p6#L90 09:31
but I didn't use slurp 09:33
FROGGS From embedded string:
<strong>bold</strong> and <em>italic</em>
From file:
<strong>bold</strong> and <em>italic</em>
ennio: it works on my box
ennio: do you get an error message?
ennio No such method ast for invocant of type Any 09:34
masak ennio: your gist certainly looks like it *should* work, both ways.
ennio: if someone manages to reproduce your problem, we might be looking at a bug report here... 09:35
sergot ennio: btw. Text::Markdown has only bold, italics and code working iirc
masak yeah, I should get on that :)
the target feature set is "enough so that I can run my blog on it"...
oh, FROGGS++ managed a non-reproduce above. I missed that. 09:36
FROGGS ennio: what is your perl6 --version?
ennio 2014.05 on MoarVM
FROGGS hmmmm 09:37
masak odd. 09:37
FROGGS ennio: can you please also pass --ll-exception when running the script? and then no-paste the backtrace?
masak yes, that'll likely help a lot. 09:38
sergot ennio: work for me too
works
FROGGS I mean, this can only mean that it failed to parse the document...
FROGGS arglbargl... porting EXPR from nqp to P6 is not that easy... "This type does not support associative operations" 09:41
masak lunch & 09:43
ennio Ok, sorry my gist works actually - it breaks only if I add a newline at the end 09:48
...of the md file 09:49
sergot Oh, true, that's weird, same here.
FROGGS that should be an easy fix to allow empty lines in the grammar at Markdown.pm at the bottom... 09:50
ennio: I guess masak would be happy to recieve a pull request :o) 09:51
ennio Hmmm need to learn how to write a perl6 grammar first :-) 09:54
FROGGS ennio: it is just a classy form of a regex :o) 09:57
timotimo good day 10:33
FROGGS hi timotimo
jnthn
.oO( is it? :P )
10:34
FROGGS I think so :o) 10:36
well, except for the air conditioning of our server room at $work 10:37
timotimo "classy form of regex", that's a good one 10:44
nwc10 FROGGS: is it supposed to be a public holiday in Germany?
ie is your server room like the British weather - aware of the calendar
FROGGS nwc10: yes 11:07
FROGGS nwc10: err, that 'yes' was about the holiday... and no, that air conditioning is just crappy 11:37
masak newline at the end of file -- yes, happily accepting issues/pull requests for that. 12:24
sergot masak: github.com/masak/markdown/pull/1 12:26
ennio++ 12:27
masak ooh
masak ennio: hm, github.com/scriplit/markdown/commi...d0ac19a1d6 doesn't look quite right. 12:32
ennio: should probably still be [\n\n+]
ennio: could you fix that and, um, pull request again or something? 12:33
ennio Ithe \n+ 12:34
ennio never will use irc fron my phone in the future :-) 12:35
ennio I don't know why but the constraint \n+ is not applied 12:36
sergot ennio: masak: it'll work with [\n\n+] \n*
ennio Shouldn't it work without the \n* then? 12:37
sergot If we have no \n there it doesn't work with files containing empty lines, if we have \n+ there it deosn't work with just strings. 12:39
masak to be precise: I was fine with the addition of \n* -- I don't see why the + inside the [\n\n+] was removed. 12:41
that latter change seems unrelated to the PR, and so I don't want to accept it as it stands.
(and if the tests still pass with that + gone, then we're missing a test -- pull requests welcome) :) 12:42
ennio Nee 12:43
Need to study a bit more to understand what this + does :-) 12:44
masak <paragraph>* % [\n\n+] means "zero or more paragraphs, separated by two or more newline characters" 12:47
your change makes that instead "...separated by exactly two newline characters"
jnthn I mighta written taht as [\n ** 2..*] 12:49
ennio And more newlines are captured by \n* now 12:50
jnthn Yes, but the \n* after it doesn't fall within the paragraph separator, no?
If it's <paragraph>* % [\n\n+] \n* 12:51
masak what jnthn said.
ennio: you don't seem to understand the % construct yet.
ennio: <paragraph>* % [\n\n+] is one unit, tied together by the % 12:52
ennio: the thing that comes after the % in the [] is a separator
ennio Ok
masak hope that helps -- if not, ask more questions :) 12:53
sergot m: grammar A { token TOP { ^ <a>* % [\|] $ }; token a { \w } }; say A.parse("q|w|e|r|t|y"); 12:55
camelia rakudo-moar 28d672: OUTPUT«「q|w|e|r|t|y」␤ a => 「q」␤ a => 「w」␤ a => 「e」␤ a => 「r」␤ a => 「t」␤ a => 「y」␤␤»
sergot m: grammar A { token TOP { ^ <a>* % \| $ }; token a { \w } }; say A.parse("q|w|e|r|t|y"); 12:56
camelia rakudo-moar 28d672: OUTPUT«「q|w|e|r|t|y」␤ a => 「q」␤ a => 「w」␤ a => 「e」␤ a => 「r」␤ a => 「t」␤ a => 「y」␤␤»
sergot m: grammar A { token TOP { ^ <a>* % '|' $ }; token a { \w } }; say A.parse("q|w|e|r|t|y");
camelia rakudo-moar 28d672: OUTPUT«「q|w|e|r|t|y」␤ a => 「q」␤ a => 「w」␤ a => 「e」␤ a => 「r」␤ a => 「t」␤ a => 「y」␤␤»
[Coke] yawns. 12:57
lichtkind Segmentation fault 13:12
make: *** [gen/parrot/stage1/NQPP6QRegex.pbc] Fehler 139
masak epic fehl. 13:21
nwc10 groans 13:22
PerlJam nwc10: you're in 4th place for what I assume is the p5 code (merlyn wasn't too clear about which code base he was using) Only about 60,000 more change lines and you'll be in 2nd! :) 13:27
nwc10 unclear too. ohloh puts me second by whatever metric they use: www.ohloh.net/p/perl/contributors/summary 13:33
which might be number of commits. Not changes, not blame annotation
nwc10 typically, I think I've been making smaller commits than the mean commit size (but more of them) 13:35
and also I've removed more lines of code that many people
colomon removal++
nwc10 although don't confuse "lines of files shipped in the tarball" with "lines of code" - davem removed a lot of Changes files, and I've removed a lot of auto-generated stuff 13:36
PerlJam merlyn's metric using "git blame" won't give you credit for the lines that aren't there, but they are equally important (if not more important sometimes :)
nwc10 also, if I know what merlyn's metric is, I can game it, by systmatically removing or changing lines of code of the people "ahead"
jnthn :D 13:37
moritz assuming you actually care to game the metric :-) 13:38
nwc10 I'm more curious what the stats are for Rakudo, and how to dilute the scors of the current metrics: www.ohloh.net/p/rakudo/contributors/summary
scores of the current "winners"
ie, how to broaden the contributor base
jnthn lizmat++ is beating me in the last 12 months :) 13:39
nwc10 in particular, "Other" is slacking off. 17% all time, 15% last 12 months, and a mere 3% in the last month.
PerlJam I think that Rakudo's code is easier to grok, so that barrier to entry is quite a bit lower than P5. It seems the "big" problem for contributing is finding useful problems to work on (or maybe finding problems to work on that aren't being quickly solved by the existing contributor base) 13:40
nwc10 PerlJam: OK, so how could we make it easier to match such tasks to potential volunteers? 13:41
moritz well, I had an approach 13:42
with weekly blog posts that invite people to solve very specific, approachable tasks
PerlJam I dunno. Maybe a big list of the known problems along with some hints as to what's need to solve them (knowledge of grammars, concurrent programming, etc.)
moritz and it got us a few short-term and medium term contributors
PerlJam moritz++ that's sounds awesome.
moritz but I ran out of steam and ideas 13:43
perlgeek.de/blog-en/perl-6/contribu...ounce.html # from 2010
PerlJam IMHO, our biggest lack is documentation, tutorials, and whatever other "educational" materials we can generate to get people started *using* P6. 13:46
That's what I intend to do if I can ever find some time and get my head oriented right--write some stuff that helps people get started 13:47
FROGGS ++PerlJam 13:48
vendethiel oh, I'm in that newest list :o) 13:49
pmichaud, coke and jnthn are the oldest in there 13:50
vendethiel (and probably the most profilic ones) 13:50
PerlJam moritz: re, running out of ideas ... Couldn't we troll the RT tickets for ideas? Or does the problem then become the time it takes to specify the problem enough so that someone can solve it? 13:51
moritz PerlJam: well, RT is full of stuff; sifting through it to find something that you are confident that is easy to fix is the problem. Plus writing up, yes 13:52
PerlJam maybe at the next YAPC, instead of a hackathon, there should be a specifiathon where we troll RT and pull out problems for people to solve and specify them enough so that others can contrubute. 13:55
well ... by "we" I mean "you guys" because I won't be at YAPC this year :( 13:56
moritz PerlJam: well, the real problem is that this preparation needs to happen *before* the specifiathon
PerlJam aye. That makes sense. 13:58
moritz we can start crowd-sourcing problems/tickets now, and then either use it for YAPC or blog-driven 13:59
PerlJam The beauty of a whatever-athon is that its designated time. You know going in what you're going to be doing, so you prepare to do it. If you try to do the same thing "in your spare time", you never have enough spare time to make significant progress. (OR maybe that's just my personal problem)
vendethiel doing stuff in your spare time requires A LOT of organization 14:02
[Coke] (coke is the oldest where?) 14:06
vendethiel [Coke]: (contributor. one of the) 14:09
PerlJam Coke: ohloh says your first commit was "about 8 years ago"
zengargoyle perl6.org/community/irc -> 'Much real-time discussion happens on our IRC channel, #perl6 or irc.freenode.net.' ~~ s/or/on/ :) 14:24
dalek href="https://perl6.org:">perl6.org: 625577f | moritz++ | source/community/irc.html:
Fix typo, zengargoyle++
14:25
FROGGS m: say "a" ~~ / . { $<O> := "ohh" } { $<sym> := $<OPER> } /; 14:26
camelia rakudo-moar 28d672: OUTPUT«「a」␤␤»
FROGGS m: say "a" ~~ / . { $<O> := "ohh"; $<sym> := $<OPER> } /;
camelia rakudo-moar 28d672: OUTPUT«===SORRY!===␤postcircumfix:<{ }> binding not defined for type Match␤»
FROGGS jnthn: what kind of bug is that ---^?
zengargoyle is there a good p6 hacking document like perldoc perlhack* in p5? 14:27
PerlJam zengargoyle: that's a good question.
zengargoyle i.e. from git clone to email patch 14:28
moritz you mean, from git clone to pull request? :-)
no end-to-doc, I'm afraid :(
jnthn There's a "Submitting Patches" section in README
But yeah, it's not end-to-end. 14:29
moritz and docs/arechiture.{svg,html} inside the rakudo repo
PerlJam zengargoyle: you can start a more comprehensive document if you like :)
moritz for a broad overview
jnthn There is a whole bunch of material on learning how the internals work.
moritz ah right, the excellent internals workshop
jnthn github.com/edumentab/rakudo-and-nq...als-course
edumentab.github.io/rakudo-and-nqp-...ls-course/ # PDFs
moritz jnthn++ a thousand times over for that 14:30
masak dijkmat++ # for buying the course and allowing it to be open-sourced 14:31
moritz aye 14:32
lizmat++ woolfy++
[Coke] jnthn++ lizmat++ woolfy++
woolfy Huh? :-)
jnthn++ everybody++ yeah++ 14:33
masak woolfy++! :P
[Coke] woolfy++ # double plus good.
PerlJam woolfy++ lizmat++ (because you guys can never have enough karma :)
moritz woolfy: denial is futile. You're being ++'ed, and you deserve it!
jnthn Perhaps some day there will be another live running of the course. :)
masak woolfy++ lizmat++ # indeed
PerlJam s/guys/gals/ # oops :)
woolfy (stop that incessant ringing!!!)
masak woolfy++ # what ringing? I don't head anything.
hear* 14:34
woolfy masak
What?
lizmat :-)
jnthn mushroom mushroom...
masak heh. no sound here, just a small red number :)
woolfy Hummm...
masak is very sensitive to disruptions, and generally turns off any audial cues first thing he does 14:35
moritz gets lots of test failures in m-spectest
[Coke] moritz: I have no idea what you're talking about! 14:36
dalek kudo-star-daily: 7f18ec9 | coke++ | log/ (12 files):
today (automated commit)
14:37
kudo-star-daily: 7eee221 | coke++ | log/ (13 files):
today (automated commit)
moritz [Coke]: neither have I, unfortunately
kudo-star-daily: a516f08 | coke++ | log/ (10 files):
today (automated commit)
rl6-roast-data: 8875c21 | coke++ | / (6 files):
today (automated commit)
rl6-roast-data: 2780e63 | coke++ | / (6 files):
today (automated commit)
cognominal Jus curious, if a program is careful not to use local state, should be it possible to use channels to remember and replay events to create a debbuger that movte in time like swift of elm? 14:37
* swift or elm
[Coke] moar's only failure in yesterday's daily run is: 14:38
S17-promise/allof.t 10 - got the right order
lizmat [Coke]: and that's probably not reproducable
[Coke] bad test! 14:39
:)
masak :/
[Coke] S05-mass/properties-general.rakudo.jvm aborted 580 test(s) 14:40
S05-mass/rx.rakudo.jvm aborted 473 test(s)
[Coke] (those are probably timeouts) 14:40
Shame the bus number on the eval server is < 1
donaldh Coke: jvm consistently needs more permgen to pass tests for me. I will provide a PR to patch the eval runner 14:41
[Coke] Hey, my show is over, and I might have something resembling rakudo time available…
donaldh: the eval runner is busted, and doesn't work for me.
always craps out about 2/3 of the way through the spec test. (I am using a runner in t/spec, not "make spectest")
would your fix fix that/
?
donaldh Yes. I think the eval runner just needs more heap and more permgen to make it through consistently. 14:42
Just need to test it through some more.
[Coke] let's just upgrade our java requirement to 8. :P
sergot m: for 1..* -> $i { last if $i > 5 };
camelia ( no output )
donaldh well, yeah, it behaves better on 8 14:43
[Coke] donaldh: any reason why there's no output diagnostics when we run out of permgen?
sergot :x
hugme hugs sergot, good vi(m) user!
[Coke] rakudo.parrot also still not clean.
sergot ;)))
donaldh When I ^C on OSX I sometimes get a permgen error on the console.
(after it has crapped out) 14:44
[Coke] ok. next rakudo thing for me: get a clean spec test run on all tiers. Then, when we get a failing test, go through the diffs in roast & rakudo & maybe nqp & parrot & moar, and start naming names.
s/tiers/backends/
jnthn "oh no, jnthn, not again!" :P 14:47
[Coke] I KNOW IT'S YOU, JNTHN!!! 14:49
seriously, I don't know who it is, but these supply tests are fiddly.
sergot m: for 1..* -> $i { last if $i > 5; my $s = 'errmsg needed'; }; say $s; 14:50
[Coke] ok, have to go get my work iphone diagnosed, and will return later. (diagnosis: it's a brick)
camelia rakudo-moar 28d672: OUTPUT«2␤»
sergot 2?
m: for 1..* -> $i { last if $i > 5; my $abc = 'errmsg needed'; }; say $abc;
camelia rakudo-moar 28d672: OUTPUT«===SORRY!=== Error while compiling /tmp/EUZtbIAxFK␤Variable '$abc' is not declared␤at /tmp/EUZtbIAxFK:1␤------> ; my $abc = 'errmsg needed'; }; say $abc⏏;␤ expecting any of:␤ postfix␤»
sergot m: say $s;
camelia rakudo-moar 28d672: OUTPUT«2␤»
[Coke] O_o; 14:51
m: say $q;
camelia rakudo-moar 28d672: OUTPUT«===SORRY!=== Error while compiling /tmp/3UPhWK5_ln␤Variable '$q' is not declared␤at /tmp/3UPhWK5_ln:1␤------> say $q⏏;␤ expecting any of:␤ postfix␤»
sergot $ perl6 -e 'say $s;' 14:52
2
jnthn m: say s 14:52
camelia rakudo-moar 28d672: OUTPUT«===SORRY!=== Error while compiling /tmp/EXNtQuuBu_␤Null regex not allowed␤at /tmp/EXNtQuuBu_:1␤------> say s⏏<EOL>␤ expecting any of:␤ argument list␤ prefix or term␤ prefix or met…»
jnthn m: say CORE::.keys.grep(/'$'/) 14:52
camelia rakudo-moar 28d672: OUTPUT«$s $?TABSTOP $UINT64_UPPER $sprintfHandlerInitialized $default $NaN $Inf $_ $/ $! $=pod␤»
jnthn So, who declared a my $s in the setting body? :P 14:53
sergot :D
lizmat src/core/JSON/Pretty.pm 14:57
94:my $s = 2;
looks like it can be removed 14:58
jnthn Pretty leaky... :P
FROGGS /o\
lizmat sergot: will you remove it or shall I?
sergot lizmat: I can do this.
PerlJam m: say $sprintfHandlerInitialized; sprintf("%d",42); say $sprintfHandlerInitialized; 14:59
camelia rakudo-moar 28d672: OUTPUT«False␤True␤»
masak so, FROGGS added the $s :)
FROGGS masak: who said that? :P 15:00
PerlJam jnthn: in that course on rakudo/nqp internals, does it mention that you need to be real careful about declaring variables in the setting? :)
masak ...unless you consider that the module originally comes from github.com/FROGGS/p6-JSON-Pretty/ -- in which case FROGGS added the $s :P 15:01
FROGGS hmpf 15:01
sergot lizmat: have to go, I'll do this later :) 15:02
lizmat ok
jnthn PerlJam: No :P 15:05
Ulti is there a matrix somewhere for the features Perlito6 supports?
FROGGS jnthn: <O('%additive')> is supposed to set $<O> since it returns a passing cursor, right? 15:15
jnthn Yeah...soemthing like that 15:16
I think there may be something a bit funky going on with the match object within it there...forget exactly.
FROGGS it puts a hash into the $!match
jnthn ah, yeah...
FROGGS my problem is that <O> is an empty match :/ 15:17
jnthn That's an...interesting trick. :)
Have you compared NQPCursor.MATCH vs Cursor.MATCH? 15:21
FROGGS right now
NQPCursor.MATCH also returns $!match when it is a list 15:22
so, I should be able to work around that...
jnthn list? or hash? 15:23
FROGGS hash 15:24
sorry :o)
jnthn walk, shopping...bbl & 15:28
[Coke] I am kind of surprised to find S20 empty 16:48
don't we have a good story on that?
donaldh Coke: github.com/rakudo/rakudo/pull/276 16:51
Coke: This increases the permgen for the eval server. It works for me on OSX. I plan to run the tests with tweaked values to see if there is an optimal setting. 16:53
dalek kudo/nom: c75e408 | (Donald Hunter)++ | tools/build/ (2 files):
Give the eval server more heap and permgen.
kudo/nom: dba10ee | moritz++ | tools/build/ (2 files):
Merge pull request #276 from donaldh/eval_server

Give the eval server more heap and permgen.
moritz ... and fixes a missing dependency. donaldh++
donaldh yep, that too :) 16:54
bbl
[Coke] ok, I'll give that a shot with the test_summary version as soon as today's normal run completes. donaldh++ 16:55
timotimo any suggestions for this week's weekly? 17:00
FROGGS timotimo: one can switch to a slang now like in this example: gist.github.com/FROGGS/2da7263ffe7...xample-pm6 17:01
timotimo that patch at the top is in rakudo by now? 17:02
TimToady a couple things went into STD that would probably be easy to port to rakudo 17:10
std: my $;
camelia std 0f2049c: OUTPUT«ok 00:01 122m␤»
masak ooh
TimToady std: / <[ "abc" ]> /
timotimo FROGGS: FROGGS can a pure-perl6 slang now do lots of stuff or are there still plenty of landmines?
camelia std 0f2049c: OUTPUT«Potential difficulties:␤ Repeated character (") unexpectedly found in character class at /tmp/4_3k6ggNYX line 1:␤------> / <[ "abc" ]⏏> /␤ok 00:01 123m␤»
masak TimToady++ 17:11
TimToady is much more excited about the slangs though :)
FROGGS timotimo: ahh wait, the needed patch is not yet in! (doh!) 17:12
timotimo quickly! ;)
FROGGS timotimo: I don't know about landmines... I just see that v5 needs way more love before it will be in a good shape again :o)
timotimo mhm
lichtkind rakudo crshes while compiling on recent mint 17:17
any confirmation?
dalek kudo/nom: 186f0e4 | (Tobias Leich)++ | src/Perl6/World.nqp:
fix precomp bug about colonpairs in 'use' statement

When we pass a colonpair to a use statement it can land in the compiled compilation unit before the CU's serialization context is created. Which means that we cannot have WVal there, since these need the SC of the CU to be deserialized. This patch cares about strings, i.e. in :from<NQP>. We need a smarter solution in future to be able to use regexes, versions and other objects in colonpairs there.
17:19
FROGGS lichtkind: works on my ubuntu, that's all I know 17:20
dalek kudo/nom: 5fad7c6 | (Tobias Leich)++ | src/Perl6/ModuleLoader.nqp:
fix loading of NQP modules

NQP's module loader does not know about the :$line named parameter. Also, when we run deserialization tasks we have no GLOBALish to pass, so don't pass any.
17:22
FROGGS is anybody using v5 atm? 17:24
japhb_ FROGGS, in a slide deck, yes. :-) Why? 17:25
FROGGS japhb: I was thinking that my next patch might break it, but it does not :o)
so, all is good :o9
:o)
flussence lichtkind: I can compile rakudo fine on 64-bit gentoo, but panda fails. 17:28
"This is perl6 version 2014.05-151-gdba10ee20da8 built on MoarVM version 2014.05-18-g6b19b4b2a463" 17:29
lichtkind FROGGS++ 17:29
after your last patch it works again
dalek kudo/nom: 7606343 | (Tobias Leich)++ | src/Perl6/Grammar.nqp:
allow to switch to a pure Perl 6 slang, not just NQP

We are now very careful when calling into the foreign statementlist, and also when we get the match and the made result back, we turn this into a NQP-level match. This means that language switching is slightly more expensive then before, but the other approach would make grammars in general slower.
17:30
FROGGS lichtkind: that is just coincident :o)
lichtkind but my data ... :) 17:31
FROGGS :o)
timotimo: here you go :o)
colomon Right, panda has been failing on Rakudo-moar since last Thursday. 17:33
jnthn colomon: I know it got isolated to a version bump; if it's Moar-version sensitive then re-building Moar at some earlier versions could help track down what commit there broke it (though guess it could be an NQP one also) 17:39
masak hugs #perl6 17:48
no names, but wow some other IRC channels are puerile 17:49
thank you, #perl6, for being worth talking to :) 17:51
vendethiel I love myself some masak hugging. 17:56
japhb_ Saw the patches sometime in the last week that made $*USER and $*GROUP work. They are objects that .Numeric and .Str appropriately. Is the 'true dualvar' concept -- single values that ~~ Int and ~~ Str at the same time -- now dead? 17:57
jnthn IntStr may well end up being more dualvar-ish, but doing that for $*USER and $*GROUP feels odd to me. 17:58
japhb_ Does IntStr work in Rakudo now? (Did I just miss that happy moment? :-) 17:59
TimToady yeah, that's not really the intent of IntStr...
japhb_ Sigh, no joy from 'git grep'
jnthn NYI 18:00
japhb_ TimToady, I know the intent of IntStr was for e.g. command line args, but why *wouldn't* you use that for something like $*USER, assuming it worked?
jnthn japhb_: I think using IntStr for something that isn't two representations of the same peice of information (like "42" and 42) is probably a bit of a design smell. 18:01
japhb_ Ah, I see. That dividing line makes sense to me. 18:02
colomon +1 to what jnthn says.
masak +1
the concept you're grasping for is called "an object" with "accessors" :P 18:03
masak s/you/y'all/ 18:03
japhb_ masak, I'm not grasping for anything -- and certainly not that. Because for $*USER the stringy and numeric values are (nearly) equivalent identities. In some sense 'japhb' and '1234' are both id's. 18:05
japhb_ But I understand jnthn's point of reserving dualvars for 1234 and '1234' 18:06
I guess my point was based on $*USER being nothing other than a caching container for the two equivalent IDs. 18:07
sergot lizmat: github.com/rakudo/rakudo/pull/277 - done :)
japhb_ It would have felt obviously object-ish if it carried other attributes of the user, like home directory, default shell, or full name. 18:07
masak I dunno, to me it's clearly a small struct-like object. 18:09
vendethiel oh, chrome disabled extensions installed from outside the store ? Looks like it's time to get back to firefox. 18:10
tadzik huh. JSON::Pretty is core now? 18:13
masak aye.
sergot tadzik: it is :)
tadzik wow
is JSON core too? :D
masak ...no
tadzik I have no words 18:14
sergot tadzik: how should I name the next release? :)
tadzik sergot: Poznan? Or was there already Poznan, hmm
masak there was already Poznan.
sorry, already nabbed it last year :>
sergot that's the problem :P
tadzik why do we have a json emitter but not a json parser in core-core? 18:15
masak because something core needed the JSON emitter.
and nothing core needs the JSON parser.
tadzik oh wait, we do have the parser too
jnthn tadzik: Something to do with it being a dependency of the S11 stuff.
tadzik: I'm guessing it's being kept private to that...
tadzik ah, ok
jnthn m: say JSON::Pretty
camelia rakudo-moar dba10e: OUTPUT«===SORRY!===␤Could not find symbol '&Pretty'␤»
jnthn Yeah. 18:16
tadzik alrighty
jnthn So it's only there as an implementation detail, afaict. Which feels right, 'cus that's what it is.
tadzik I guess
rindolf Hi all. 18:17
TimToady: here? May I PM you?
masak .oO( IS IT OK IF I WHISPER IN YOUR EAR ) 18:18
vendethiel
.oO( Talk to me like coders do )
18:19
masak .oO( $i++; # increase $i by one ) 18:20
vendethiel
.oO( Is that why you hugged us all before )
18:22
PerlJam masak: the comment would've actually read "# decrease $i by two" or somesuch because of implementation changes over time :)
vendethiel PerlJam: my $four = 5; # set six to seven
masak :P
jnthn
.oO( $price++; # if it's special-offer Tuesday, the overload of ++ doesn't actually increment )
18:23
huf q"" and qq'' and for (my $i = 0, $i < $n, $i++) {} :D
masak jnthn: or more likely, that comment was never written.
huf since we decided to become evil
vendethiel jnthn: you're the best kind of evil. Like C++ evi.
s/i\./il./
PerlJam vendethiel: sorry, I'm having trouble reconciling C++ as "best evil" and somehow relating that to jnthn. 18:24
vendethiel PerlJam: actually, it's evil operator overloading and C++ 18:25
tadzik we can do worse
huf yes we can!
jnthn I actually was thinking of C++ when I wrote it, but realized how easy it is to implement in Perl 6
vendethiel I hope we can, we've had so many years to learn
jnthn: I knew it, somehow :P
PerlJam vendethiel++ psychic powers
jnthn multi postfix:<++>(Price $p where Date.today.day == Tuesday) { $p } # :D
tadzik m: sub infix:<++>($a is rw , $b is rw) { $a++; $b++ }; my $a = 1; my $b = 1; $a++$b; say $a; say $b
camelia rakudo-moar dba10e: OUTPUT«===SORRY!=== Error while compiling /tmp/unkEiVVcRD␤Two terms in a row␤at /tmp/unkEiVVcRD:1␤------> $a++; $b++ }; my $a = 1; my $b = 1; $a++⏏$b; say $a; say $b␤ expecting any of:␤ postfix␤ …» 18:26
tadzik baww
vendethiel I guess it can't decide :P
tadzik yeah' 18:27
jnthn Need whitespace around infixen...
As a postfix always wins
tadzik that ruins the fun
jnthn You can see that from the error.
tadzik yeah 18:28
masak jnthn: I panicked when I saw your suggestion -- I went "what, .day!? we have an enum with Tuesday in it!?" 18:33
:P
"...who designed that?"
jnthn: (it's .day-of-week and 2, respectively) 18:34
masak thing is, I tried with 'multi postfix:<++>' locally, and I couldn't get it to work :/ 18:34
so I'd love to see a working solution.
jnthn m: say Friday 18:35
camelia rakudo-moar dba10e: OUTPUT«===SORRY!=== Error while compiling /tmp/xVle2siy7g␤Undeclared name:␤ Friday used at line 1␤␤»
jnthn I...think I'd prefer an enum :P
masak: I agree on day-of-week; not sure why an enum of weekdays is alarming you? :) 18:38
[Coke] clearly tuesday should be spelled :2day 18:39
vendethiel m: enum Weekdays <Lundi Mardi Mercredi>;
camelia ( no output )
masak jnthn: can think of two reasons right off. (a) I didn't want any English names in the Temporal classes, and (b) the weekdays are 1-based, and it would be slightly surprising for an enum to be. 18:40
jnthn masak: I'd say the English day names are much more widely agreed on that which is the first day of the week... :)
(Until you said it was 1-based, I'd been assuming Sunday was day 0. Seriously.) 18:41
masak I thought long and hard on that one. 18:44
decided that for those who expect Sunday to be 0, they can easily $wd % 7 and get that result.
but the other way is trickier.
I still have no idea what's going on with the parts of the world who figure Sunday is first in the week ;) 18:45
that's just... so wrong.
masak it doesn't mesh well with the widely accepted meaning of "weekend", for example. 18:46
jnthn From the reliable source of answers that gave us "how is babby formed": answers.yahoo.com/question/index?q...709AA3MAO7 18:47
It's so not agreed upon :)
geekosaur you expected the US to be sane?
jnthn No, I expect to get an enum of names so I don't have to worry about this :P 18:48
nwc10 so if they are called "ugh", "meh", "bleurg", "wa :-(", "POETS!", "yay", "zzz" it doesn't matter to the program? 18:49
masak jnthn: also from that page: "ISO prescribes Monday as the first day of the week with ISO-8601." -- the rest of DateTime intentionally stays very close to ISO-8601. 18:50
nwc10: thank god it's ughday.
jnthn masak: I'm not arguing for a change to "what is the first day".
masak *nod*
nickpatch masak: the CLDR defines the first day of the week for different locales
jnthn masak: I'm arguing for not leaving people having to guess wrong, like I mighta :)
nickpatch www.unicode.org/reports/tr35/tr35-3...#Week_Data
masak jnthn: I don't have a horse in this particular race. if you can get popular support for introducing a WeekDay enum, go ahead. 18:51
jnthn OK :)
masak ...though I would prefer for the enum not to mess up the existing integer values, if nothing else for compatibility's sake... 18:52
(and because I did ponder it quite a lot, and I believe I got the "right" design choice)
jnthn Yes, I'm fine with the integer values. 18:54
dalek rl6-roast-data: 6d46d95 | coke++ | / (3 files):
today (automated commit)
19:25
[Coke] ^^ rakudo.moar is clean again. 19:26
parrot & jvm still dirty.
so, yay for moar! 19:27
[Coke] ugh. test changes to use eval server... accidentaly rebuild rakudo-jvm (slooow) 19:36
if only we had an eval server for nqp-jvm!
[Coke] is into the spec test run with the eval server .whee. 19:56
sooo much faster. 19:58
FROGGS it just need to work out
dalek kudo/nom: 7a6d6ec | sergot++ | src/core/JSON/Pretty.pm:
my $s removed

We dont want this variable to be in the config
20:06
kudo/nom: a7dd964 | (Tobias Leich)++ | src/core/JSON/Pretty.pm:
Merge pull request #277 from sergot/nom

my $s removed
masak an interesting case of the inverse of a once-and-only-once refactor being the right thing to do, due to surrounding forces. 20:07
PerlJam now if only we could get rid of $sprintfHandlerInitialized, $default, $Nan, and $Inf ... :) 20:08
PerlJam oh, and $UINT64_UPPER 20:09
vendethiel do we have anything that looks like (delimited) continuations ? 20:10
Or are we bound to do this sort of stuff through macros
timotimo gather/take is implemented in terms of delimited continuations 20:15
masak vendethiel: TimToady has said pretty definitively that (beyond gather/take), delimited continuations aren't going to be exposed in Perl 6 as first-class things. 20:16
timotimo oh
vendethiel mh; I see.
I can guess why, but meh :(
masak vendethiel: mainly because all VMs we'll want to target won't have them.
vendethiel Good point, actually. 20:17
[Coke] DOH. I didn't update rakudo-jvm before trying this test. 20:18
vendethiel But it's a really, really powerful feature. I guess I still will be able to rewrite stuff in macros, someday
timotimo d'oh
vendethiel nqp::continuationcontrol 20:19
masak vendethiel: *nod* 20:27
vendethiel: believe me, I'm thinking about it.
vendethiel masak: which part ? 20:28
masak the precise relations between program fragments, macros, and delimited continuations. 20:30
vendethiel masak: I expected you to :) 20:43
carlin_ perl6-debug appears to be broken, explodes with "Start argument to substr out of range. Is: -1, should be in 0..0" 20:55
both -m and -j
FROGGS :/ 21:01
timotimo ... again?! 21:02
FROGGS yay, looks like v5's EXPR is working... 21:22
FROGGS now I just need to solve that bloody hang/infiniloop in token statement 21:23
[Coke] weird; rakudo.jvm test runs much faster with the latest eval server tweak, but the failures are different. 21:26
donaldh is experiencing that too. 21:34
FROGGS m: use QAST:from<NQP>; my $p = QAST::Node.new; sub foo($bar) { }; foo($p) # @jnthn: why? ó.ò 22:36
camelia rakudo-moar a7dd96: OUTPUT«No such method 'item' for invocant of type 'QAST::Node'␤ in method message at src/gen/m-CORE.setting:12595␤ in sub foo at /tmp/_3OiReY811:1␤ in block at /tmp/_3OiReY811:1␤␤»
jnthn FROGGS: 'cus QAST::Node isn't Any, and the NQP <=> Perl 6 interop stuff we could do with having isn't really there yet... 22:37
FROGGS hmmmm
'in method message'... as if it explodes in a exception
jnthn m: use QAST:from<NQP>; my $p = QAST::Node.new; sub foo(Mu $bar) { }; foo($p) 22:38
camelia ( no output )
FROGGS ahh, yeah
jnthn Yes, it's exploding trying to report the exception.
FROGGS of course
jnthn++
jnthn But the reason for the exception is the bind failure
But in general we need to make other-language things appear to be any
*Any
ChoHag Does rakudo build on freebsd? 22:44
FROGGS I think so, yes
ChoHag Does it need anything special? 22:48
And/or are there dependencies documented anywhere?
FROGGS the dependencies depend on what you build 22:49
look at moarvm.org when you want to build rakudo@moar
you can also build rakudo for jvm, then you just need the jre and Perl 5 AFAIK 22:51
if you build for parrot, then libicu would be nice to have
BenGoldberg I just had a really crazy idea... perlito allows perl6 to be compiled to javascript; javascript and actionscript are supersets of ECMAScript; how hard would it be to modify perlito to produce ECMAScript which can *either* as javascript *or* as actionscript? 22:57
Running perl6 in a flash player could be really cool, I think 22:58
BenGoldberg s/ as javascript/ be interpreted as javascript/; s/ as actionscript/ be compiled as actionscript/ 23:00
timotimo ... flash player, seriously? 23:02
that crap's gotta die, my friend
sadly, the subset of perl6 that perlito can do is quite limited 23:05
masak 'night, #perl6 23:10
flussence
.oO( at least that'd give Lightspark a reason to improve... )
23:13