»ö« 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.
TimToady n: 1 for $*VM 00:17
camelia niecza v24-88-g1f87209: OUTPUT«Potential difficulties:␤ 'for $*VM' will never flatten a $ variable;␤ to force list interpolation, please use either 'for @$*VM' or 'for $*VM[]';␤ if you just want item topicalization, use 'given $*VM' instead at /tmp/KfYfzhH5ZL line 1:␤------> 1 for…
colomon hmmm 01:34
colomon BreakDancer module depends on Shell::Command, which is not in the ecosystem? 01:50
timotimo it's in "File::Utils" or what's it called 01:57
curiously, you should have that when you've installed panda. did you skip that? 01:58
labster Dear tadzik, can you please split up File::Tools to people stop getting confused? Thanks, labster <3 02:03
colomon timotimo: BreakDancer specifies Shell::Command as a prereq. Panda will not install it for that reason. 02:04
timotimo oh, whoops 02:09
how did that ever work ;)
colomon it never has 02:10
BreakDancer was only added to the repo in the last two weeks
sorear good * #perl6 03:24
benabik github.com/mame/quine-relay The most complex quine I've seen. Does use P5, but seems easily extendable to use P6 too. 03:40
lue benabik: I suggest placing the P6 spoke between LLVM asm and Java or C and C++ (or some other odd location) :P 03:47
benabik lue: Bah. It's in alphabetical order now, why mess with that?
lue oh, is that what was going on there? I suggest messing with it because P5->P6 is *so* cliché :) 03:48
benabik Although I would say that the one thing that seems to be missing from the auto-generation is converting the SVG to the text template for the quine. :-D 03:51
lue the only problem with it is the sheer number of compilers I need that I'll never use again :) . 04:04
JimmyZ gOOd afternOOn, #perl6 06:08
sorear o/, JimmyZ 06:21
Or shOuld that be O/?
labster don't get a big head, sorear 06:28
JimmyZ :D 06:32
benabik labster++ 06:39
TimToady \OO/ <-- 双大头 07:03
sorear .tr 双大头 07:05
yoleaux Double stud (zh-CN → en)
TimToady or 'double big head' :)
sorear fun with translators 07:06
rom1504 .tr manger 07:12
yoleaux eat (fr → en)
rom1504 fun
is it using google translator ? 07:13
.tr 今天是星期二 07:14
yoleaux Today is Tuesday (zh-CN → en)
rom1504 yoleaux: help
!help 07:15
.help
yoleaux rom1504: I'm yoleaux. Type .commands to see what I can do, or see dpk.io/yoleaux for a quick guide.
sorear rom1504: almost certainly
benabik .commands tr
yoleaux There's no category called tr.
benabik .help tr
yoleaux Translate some text between languages
sorear .tr :no :sv postoppkrav 07:16
yoleaux TORSK (no → sv)
benabik Unhelpfully unspecific.
TimToady .tr :ja :de はい、今日は火曜日です。 07:19
yoleaux Ja, das ist heute Mittwoch. (ja → de)
TimToady er...that's wrong
.tr :ja :de はい、今日は水曜日です。 07:20
yoleaux Ja, das ist Heute Mittwoch . (ja → de)
sorear waa
benabik Machine translation getting something wrong? Heaven forbid.
rom1504 .commands
yoleaux Commands are divided into categories: general, services, admin, api, demos. Use .commands <category> to get a list of the commands in each.
rom1504 .commands general
yoleaux Commands in general: ask, at, botsnack, buck, bytes, choose, in, msg, on, pick, ping, seen, supercombiner, t, tell, to, tz. Use .help to get information about them.
sorear benabik: usually it's not quite so brazen as translating Tuesday into Wednesday 07:21
rom1504 .commands services
yoleaux Commands in services: acronym, add-command, beats, bible, btc, command-help, del-command, dety, distance, flip, geo, imdb, lastfm, leo, mc, meow, moon, ngrams, nokiageo, o, oed, oed-new, py3, rb, republical, rot13, sailingby, scm, shipping, suggest, swhack, tex, thesaurus, tw, twho, twit, twitter, twop, ud, unixtime, weather, yi. Use .help to get information about them.
benabik sorear: But only usually.
rom1504 .commands api
yoleaux Commands in api: c, chars, d, decode, ety, follows, g, gc, gcs, head, i-love-the-w3c, ietf, img, mangle, news, npl, py, rfc, title, tr, u, val, w, wa, wik. Use .help to get information about them.
rom1504 .help tr
yoleaux Translate some text between languages
benabik rom1504: yoleaux will respond to privmsgs.
rom1504 yeah I'm done anyway
TimToady rom1504: you could do this in a private chat
rom1504 the help is kinda unhelpful 07:22
sorear (see postoppkrav/TORSK)
TimToady oh, benabik++ already said that
TimToady .tr :ja :en はい、今日は火曜日です。 07:22
yoleaux Yes, Today is Tuesday. (ja → en)
TimToady .tr :en :de Yes, today is Tuesday. 07:23
yoleaux Ja, heute ist Mittwoch. (en → de)
TimToady ooh
well, a third of the time it's right...
sorear .tr :de :en Mittwoch 07:24
yoleaux Wednesday (de → en)
tadzik labster: yes, I should. I even put it on TODO somewhere, and was thinking about it last weekend. But then, suddenly, "bah, everyone got used to it anyway". Not good enough reason, I agree :)
TimToady well, a third of my Tuesday it'll be right...
sorear notsomuch for .uk tuesdays...
or .za
tadzik .tr :en de Yes, this is Sparta.
yoleaux de Yes, this is Sparta. (en → en)
tadzik .tr :en :de Yes, this is Sparta.
yoleaux Ja, das ist Sparta . (en → de)
rom1504 .tr :en :zh tuesday 07:25
yoleaux 星期二 (en → zh)
rom1504 .tr :en :fr tuesday
yoleaux mardi (en → fr)
TimToady .tr :fr :de C'est mardi gras. 07:28
yoleaux Es ist Karneval . (fr → de)
TimToady .tr :fr :de C'est mardi.
yoleaux Es ist Dienstag . (fr → de)
sorear .tr :en :de Tuesday 07:29
yoleaux dienstag (en → de)
sorear .tr :en :de wednesday
yoleaux Mittwoch (en → de)
sorear .tr :en :de Wednesday
yoleaux Mittwoch (en → de)
benabik .tr :fr :en gras 07:29
yoleaux fat (fr → en)
benabik .tr :de KArneval
yoleaux Carnival (de → en)
TimToady .tr :en :fr We're going to the Mardi Gras festival! 07:30
yoleaux Nous allons le festival de Mardi Gras ! (en → fr)
TimToady .tr :en :fr We're going to the Fat Tuesday festival! 07:31
yoleaux Nous allons à la fête mardi gras! (en → fr)
FROGGS O.o
TimToady .tr :en :fr We're going to the Ash Wednesday service! 07:32
yoleaux Nous allons le service de mercredi de cendre ! (en → fr)
TimToady .tr :p5 :p6 for (@ARGV) { say } 07:34
yoleaux for (@ARGV) { say } (en → p6)
TimToady aww
moritz :/
benabik should get an internship at Google to add that feature. ;-)
moritz s/internship/full-time employment/ 07:35
TimToady 4/5-time employment :)
s['4/5'] = '⅘' 07:36
benabik doubts he can finish a degree on 20% time. 07:37
TimToady ooh, how does ↉ get so lucky? nobody else gets a 0 numerator
benabik Although it would be easier to raise a kid with 4/5s of Google pay instead of 5/5s of a stipend. 07:38
moritz benabik: I'm sure it would
TimToady I guess I'm on ↉ time at the moment...
moritz my terminal simply doesn't display that character 07:50
and neither a replacement character
good that the browser displays it
tadzik Google Pay, sounds like a better version of Google Play 07:51
or worse, depending on who's paying ;)
benabik Given their current income, it seems they get paid a bit more than they pay. 07:53
TimToady --> zzz while it's still Monday in Hilo HI 08:01
Americangaygoats Bitch american gays visit here www.ndtv.com/article/world/three-ch...obe-391647 you will be fucked naked am an indian we will join pakistan will fuck you down stop spying planet 08:37
bonsaikitten ... wat 08:37
benabik Why do people bomb *IRC* with this stuff? Do people who care about that really show up here? 08:38
moritz benabik: it shows up in the logs :( 08:39
bonsaikitten I guess it's like peeing on other people's doors
benabik moritz: I'm sorry. 08:40
moritz benabik: the links from the spammers, not your statements :-) 08:41
[X] removed
benabik moritz: :-P
:-)
nwc10 minitrue++ 08:42
benabik .k minitrue
karma minitrue 08:44
Do we not have a karmabot?
moritz no 08:46
benabik sadface u.u 08:47
jnthn morning, #perl6 09:25
mathw morning jnthn
JimmyZ morning, jnthn 09:26
FROGGS hi jnthn, hi mathw
mathw lo 09:27
someone asked me today how many programming languages I've ever written anything in at all
I'm up to 36 :/
jnthn wow :)
mathw well largely because there was no requirement laid on whether it had to be something useful or complete
he said "a line of code"
oooh 09:28
37!
mathw how could I forget M5? 09:28
oh yes, that's because I was trying to forget about it. Sigh.
FROGGS I hate M$ so much! I had to register for a evaluation license, and I had to answer in which programming languages I am interested in. they didnt list Perl but they list XML >.<
mathw I'm going to assume the marketing department came up with that one 09:29
lots of people seem to think HTML and XML are programming languages
FROGGS yeah :/ 09:30
mathw although I remember when I first discovered HTML it wasn't a programming language, it was pure magic. I can put these things in a text file and it'll render big text and colours and things! WOW!
FROGGS hehe
mathw I always thought Mosaic must be an amazing bit of software, took me years to get to the point where I could conceive of being able to write such a thing myself. Admittedly I was about 8 at the time. 09:31
FROGGS I did some AmigaGuide before so I was kinda used to it :o)
FROGGS .tr :de :en Vielen Dank für die Registrierung Visual C++ 2010 Express. Bitte kopieren Sie und fügen Sie die-Taste unter in das Registrierungsfenster: 09:34
yoleaux Thank you for registering Visual C + + 2010 Express . Please copy and paste the key into the registration window below : (de → en)
FROGGS ahh, now it makes sense *g*
mathw the translation's even right 09:35
jnthn Yes, but was the input? ;-)
FROGGS the german text says: Please copy the button underneath into the registration window
jnthn Hm, seems I'm going to Oslo late August. 10:21
jnthn wonders if he'll get chance to see any Oslo.pm :)
arnsholt Oh, cool. Beers must be had 10:22
tadzik in my experience, Oslo.pm is good at organising meetings just for a reason of an outsider being in Oslo :)
which is awesome
mathw that is awesome 10:24
jnthn Well, I'm teaching on 26/27.
arnsholt So plenty of beers monday evening, then? O=) 10:25
jnthn Well, I'd rather not do plenty of bears when teaching
uh, beers
diakopter /o\
arnsholt Just kidding. More seriously, have you been to Schou's?
jnthn I guess bears are a possibility further north in Norway :P
apejens polar bears at least :P 10:26
jnthn arnsholt: Not sure I have...
Well, I could easily go home on the 28th, and meet up on the evening of the 27th.
Then I only have to worry about waking up for my flight :)
arnsholt Sounds good 10:27
jnthn figures he can't quite be bothered to do the train...
arnsholt Schou's is a neat microbrewery, in a cellar in an old brewery complex even
jnthn Yeah, trouble is I've been to various places in Oslo but forget their names ;) 10:28
arnsholt Yeah, that's pretty easy
tadzik ooh, that sounds familiar 10:29
jnthn tadzik: Yes, it does, though maybe there are more than one place with that description ;) 10:30
tadzik heh
indeed
jnthn OK, sent booking request so I get to be in Oslo on 27th evening. \o/ 10:36
arnsholt Spiffy! 10:38
I think there's only one microbrewery like that, actually =)
jnthn ah, then I may well have been there, and it was an experience that should be repeated ;) 10:39
arnsholt They make nice beers, so if you hadn't been it was time to rectify that. But repeat visits are always good too 10:41
jnthn :) 10:47
shopping, bbiab 10:50
sjn jnthn: cool! 11:11
beers must be had indeed.
there are even a couple more brewpubs in Oslo since the last time you were in town :)
jnthn \o/ 11:34
[Coke] yawns. 12:57
FROGGS somebody seen that? Error: configure generated lib\Parrot\Pmc2c\PCCMETHOD_BITS.pm missing in MANIFEST.generated. 13:11
but MANIFEST.generated has line: lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm [devel]lib
and the file is there too
will debug now the tools/dev/install_files.pl script 13:12
timotimo r: &textfrom := &substr.assuming :str($text):len(Inf); 13:21
camelia rakudo 4ad1b8: OUTPUT«===SORRY!===␤Variable '$text' is not declared␤at /tmp/1NDcW_gKsP:1␤------> &textfrom := &substr.assuming :str($text⏏):len(Inf);␤ expecting any of:␤ postfix␤»
timotimo r: my $text = "hello. how are you?"; &textfrom := &substr.assuming :str($text):len(Inf); say textfrom(5);
camelia rakudo 4ad1b8: OUTPUT«===SORRY!===␤Cannot use bind operator with this left-hand side␤at /tmp/D0d3xBFhj_:1␤------> := &substr.assuming :str($text):len(Inf)⏏; say textfrom(5);␤ expecting any of:␤ postfix␤ statement end␤ statemen…
timotimo r: my $text = "hello. how are you?"; my &textfrom := &substr.assuming :str($text):len(Inf); say textfrom(5);
camelia rakudo 4ad1b8: OUTPUT«Not enough positional parameters passed; got 1 but expected between 2 and 3␤ in sub substr at src/gen/CORE.setting:2846␤ in sub CURRIED at src/gen/CORE.setting:2363␤ in block at /tmp/buLzhIBOcf:1␤␤»
timotimo doesn't like non-copypastable examples in the synopses 13:22
that synatx is new to me, though. having adverbial pairs chained like that for a function/method call 13:23
r: say :foo(1):bar(2):quux(3)
camelia rakudo 4ad1b8: OUTPUT«␤»
timotimo r: say "hi", :foo(1):bar(2):quux(3)
camelia rakudo 4ad1b8: OUTPUT«hi␤»
timotimo mhm.
r: say (:foo(1):bar(2):quux(3))
camelia rakudo 4ad1b8: OUTPUT«"foo" => 1␤»
timotimo oh? 13:24
moritz r: say (:foo(1):bar(2):quux(3)).perl
camelia rakudo 4ad1b8: OUTPUT«"foo" => 1␤»
moritz it seems to parse the rest as operator adverbs, which are then ignored. Or something. 13:25
timotimo could be
time for someone to do masaks job :P
colomon n: say (:foo(1):bar(2):quux(3)).perl 13:29
camelia niecza v24-88-g1f87209: OUTPUT«===SORRY!===␤␤Multi colonpair syntax not yet understood at /tmp/PCgBDvzg81 line 1:␤------> say (:foo(1):bar(2):quux(3)⏏).perl␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 …
FROGGS r: my $text = "abc"; my &textfrom := &substr.assuming :str($text):len(Inf); # timotimo 13:34
camelia rakudo 4ad1b8: ( no output )
timotimo aaw, assuming won't take * arguments yet? :( 13:36
timotimo r: sub line-equation($m, $x, $c) { $m * $x + $c }; my &shallow := &line-equation.assuming(0.5, *, -1); say shallow(1); 13:39
camelia rakudo 4ad1b8: OUTPUT«Too many positional parameters passed; got 4 but expected 3␤ in sub line-equation at /tmp/D8HlrXM7Xv:1␤ in sub CURRIED at src/gen/CORE.setting:2363␤ in block at /tmp/D8HlrXM7Xv:1␤␤»
timotimo r: sub line-equation($m, $x, $c) { $m * $x + $c }; my &shallow := &line-equation.assuming(0.5, *, -1); say shallow();
camelia rakudo 4ad1b8: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in method Numeric at src/gen/CORE.setting:887␤ in sub infix:<*> at src/gen/CORE.setting:3286␤ in sub infix:<*> at src/gen/CORE.setting:3284␤ in sub line-equation at /tmp/ZJGOHePCtB:1␤ i…
timotimo :(
timotimo does temporary wrapping work yet? 13:45
r: { temp &say.wrap({ say "wrapped!"; callsame }); say "test 1"; } say "test 2!";
camelia rakudo 4ad1b8: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/tJCsHeic4N:1␤------> wrapped!"; callsame }); say "test 1"; } ⏏say "test 2!";␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement modifi…
timotimo r: { temp &say.wrap({ say "wrapped!"; callsame }); say "test 1" }; say "test 2!"
camelia rakudo 4ad1b8: OUTPUT«Can only use 'temp' on a container␤ in sub prefix:<temp> at src/gen/CORE.setting:14246␤ in block at /tmp/PrSlOfkI5Z:1␤␤»
timotimo ah, NYI special-case
interesting decision. 13:46
huh, shouldn't unspace work here? 13:53
r: sub line-equation(:$m, :$x, :$c) { $m * $x + $c }; my &steep := &line-equation.assuming(m => 2, c => -4); say steep\ (x => 1), steep\ (x => 2); 13:54
camelia rakudo 4ad1b8: OUTPUT«use of uninitialized value of type Any in numeric context in sub line-equation at /tmp/7er_GxZVHT:1␤␤No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤ in block at /tmp/7er_GxZVHT:1␤␤»
timotimo r: sub line-equation(:$m, :$x, :$c) { $m * $x + $c }; my &steep := &line-equation.assuming(m => 2, c => -4); say steep(x => 1), steep(x => 2);
camelia rakudo 4ad1b8: OUTPUT«-20␤»
timotimo sadface
colomon why the sad face? 13:57
-2 and 0 are the correct answers
PerlJam because his homework is wrong! ;) 14:00
timotimo the sad face comes from "use of uninitialized value of type Any in numeric context" with the same code except an unspace before the invocation
so, what cool "higher order function" stuff does perl6 offer besides "assuming", "autocurrying" and "wrapping"? (i'm not counting blocks, anonymous subs/methods here, because they are the most basic higher order function thing you can find) 14:03
maybe i should say something about &?ROUTINE and &?BLOCK, those are pretty nifty.
timotimo aaw, come on! &?BLOCK is NYI? :( 14:05
timotimo i wonder what the simplest and best-looking way is to put a "only take the first 10 elements from the rest of the feed pipeline" 14:13
r: (1...100) ==> -> *@_ { @_[^10] } ==> map(* ** 2) ==> my @result; say @result[^5]; 14:14
camelia rakudo 4ad1b8: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/nwWZ47Eu68:1␤------> @_[^10] } ==> map(* ** 2) ==> my @result⏏; say @result[^5];␤ expecting any of:␤ scoped declarator␤ con…
timotimo ... oh?
r: (1...100) ==> (-> *@_ { @_[^10] }) ==> map(* ** 2) ==> my @result; say @result[^5];
camelia rakudo 4ad1b8: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/txhXMihMZe:1␤------> _[^10] }) ==> map(* ** 2) ==> my @result⏏; say @result[^5];␤ expecting any of:␤ scoped declarator␤ con…
timotimo r: sub filter-n($n, *@vals) { return @vals[^$n] }; (1...100) ==> filter(10) ==> my @res; say @res; 14:15
camelia rakudo 4ad1b8: OUTPUT«===SORRY!===␤Undeclared routine:␤ filter used at line 1. Did you mean '&filter-n'?␤␤»
timotimo r: sub filter-n($n, *@vals) { return @vals[^$n] }; (1...100) ==> filter-n(10) ==> my @res; say @res; 14:16
camelia rakudo 4ad1b8: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
timotimo that's pretty simple
colomon r: (1...100) ==> .[^10] ==> map(* ** 2) ==> my @result; say 14:25
camelia rakudo 4ad1b8: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet.␤at /tmp/NBvy4UiJRO:1␤------> > .[^10] ==> map(* ** 2) ==> my @result⏏; say␤ expecting any of:␤ scoped declarator␤ constraint␤ …
PerlJam colomon: I always expect feed ops to do something like that too. 14:30
colomon PerlJam: yeah, I'm very nearly completely ignorant about feed operators, and it seemed reasonable... 14:31
PerlJam I also find myself expecting an implicit map too 14:31
colomon do we have a "jvm wish list" for the release this week? 14:33
colomon not that I really have any time to work on it, mind you 14:34
colomon just told his wife "agh, having to switch back to programming in C++ is painful after working in Perl 6." 14:37
[Coke] There's still plenty left to do. Buf & encode are some big ones.
jnthn Also LEAVE. 14:39
colomon [Coke]: yes, I know there's plenty to do.
jnthn Whihc is why temp/let/KEEP/UNDO don't yet work.
tadzik colomon: yes yes
colomon yes yes what? 14:40
tadzik running 'perl6' script from outside the jvm directory
it's arguably a big thing
jnthn Yes, "make install"...
I can give some tuits to Rakudo JVM tomorrow. Anybody got a feeling on what's highest priority? 14:41
colomon so make install, LEAVE, Buf
jnthn I can spend some time on it this evenign too...just probably more time tomorrow :)
[Coke] colomon: Was just trying to enumerate some of them.
colomon (Not answering jnthn++'s question there, just summing up)
[Coke] q:x, a chdir bug, I might be able to do those. 14:42
jnthn Sockets ;)
nwc10 jnthn: did you fix slurp? :-)
colomon Buf seems like it ought to be pretty doable, too
jnthn nwc10: Yes!
nwc10: The :bin case aside, which needs Buf. 14:43
colomon LEAVE sounds like magic work.
nwc10 yay!
jnthn Buf really needs a do-over... :/
nwc10 not as yay :-/
colomon in general, or in jvm?
jnthn In general.
jnthn should probably try to figure that out...
LEAVE is a little magical. 14:44
Think I need 3-6 hours to do that.
Buf needs design work also, so probably I need a while longer working that out... 14:45
q:x, chdir and sockets certainly don't need me to do 'em :) 14:46
[Coke] I haven't updated the gist in a while, will update it tonight. 14:47
colomon jnthn: have you taken a look at S06-advanced/wrap.t ? it seems to be dying because callsame is called -- if I switch line 100 to callwith, it survives that and dies later on. 14:48
jnthn colomon: oh, hmm...
colomon: I'm aware of it, didn't look in detail yet. That's an interesting hint... 14:49
[Coke]: I think a lot of small S06 failures should be done in today's run.
timotimo at least got a few new tasks to make rakudo even better! 14:54
[Coke] jnthn++ 15:28
dalek Heuristic branch merge: pushed 19 commits to rakudo-star-daily by coke 16:02
[Coke] ... is the clock on feather wrong? 16:03
or was there a recent TZ change there?
nevermind, there it goes. 16:04
[Coke] kicks off today's run for jvm stuff as well. 16:05
jnthn++
jnthn wondres if Rakudo JVM should get a column in features. 16:36
yoleaux 15:14Z <diakopter> jnthn: see www.aqute.biz/Bnd/Bnd for ease of automating jar bundling/creation (it's apache licensed). Also clsd (class dumper) from the same toolkit.
jnthn (to be clear, I'm talking about perl6.org/compilers/features )
[Coke] jnthn: Yes, I think so. 16:40
PerlJam thirds the notion 16:43
jnthn The S32-hash/delete-adverb.t failures look a bit like the test is depending on hash ordering, if somebody wants a possible LHF to look into. 16:47
S32-hash/perl.t appears the same :) 16:48
[Coke] Aye. 16:49
mentioned one of those before, the RT one one of them is "make sure there isn't an extra trailing newline" 16:50
jnthn wonders if the TODO passes he sees in a couple of the integration tests are bogus or not 16:51
[Coke] jnthn: I do want to be careful that we don't end up with a bunch of rakudo.jvm "nigh" todos, like we have with the nom regressions (which is also linkable back to me.) 16:55
r: say 25794 / 26183 # today's rakudo.jvm against yesterday's rakudo.parrot 16:56
camelia rakudo 4ad1b8: OUTPUT«0.985143␤»
[Coke] 90 more passes today.
jnthn yay 16:57
jnthn 98.5%! :) 16:57
[Coke] r: say 26183*.99 - 25794
camelia rakudo 4ad1b8: OUTPUT«127.17␤»
[Coke] our target is > 100%, though, given the sprintf improvements.
jnthn ooh :) 16:58
Yeah. Let's see if we can't get 128 tests before the release :)
shopping, dinner, etc.
bbl
[Coke] jnthn++ sorear++ colomon++ 16:58
lunch, $dayjob, etc. bbl. ;) 16:59
notjack Is there tutorial material on Grammars? 17:17
I want to play with them, but reference material won't help much, 'cause I'm mostly ignorant of lexers and parsers
diakopter notjack: there are a few blog posts during the various years' Advent series 17:26
on grammars and such
notjack thanks diakopter 17:27
notjack I think this is going to be one of those bang-head-against-wall-and-see-which-breaks-first things 17:28
or, as I call them, BHAWASWBFTs
TimToady just keep spitting on the wall, and eventually it will dissolve 17:29
diakopter .. or at least be pushed out of the galaxy 17:30
notjack I don't know, my saliva isn't very corrosive. Or, at least, my mouth hasn't dissolved yet. 17:30
diakopter notjack: there's also a couple (mostly youtube?) videos on them of talks at conferences 17:33
diakopter .seen masak 17:33
yoleaux I saw masak 12 Jul 2013 14:18Z in #perl6: <masak> &
diakopter donde esta el masak
jnthn El masak esta des vacaciones :P 17:35
dalek rl6-roast-data: 6625a6a | coke++ | / (5 files):
today (automated commit)
17:41
[Coke] no change in rakudo.parrot since yesterday, so 98.51% it is. 17:42
colomon [Coke]: did you look at S32-hash/delete-adverb.t ? 17:47
colomon 's $work is bring frustrating, tempting to play hooky and try to reach 99% 17:48
notjack diakopter: thanks, I found a couple
diakopter: problem is I'm learning both p6 and parsing as a general topic
I'm trying to create a mini interpreter
diakopter :) 17:50
jnthn notjack: If it helps, the Rakudo debugger can single-step through grammars, which may help you understand how they execute.
diakopter Interpreter pattern is common
notjack jnthn: that'll be useful
at the moment, I'm just trying to get the lezer right
lexer*
[Coke] colomon: nope. 18:02
jnthn: there are a few "this will never work" dispatch errors that I assume you are the man for.
[Coke] jnthn, colomon : gist.github.com/coke/5879701 is updated 18:07
colomon [Coke]++ # though I've been keeping up-to-date test summary results locally. ;) 18:12
[Coke] gist updated with some context for the skips/todos. 18:23
notjack I ran my program through the debugger, but it didn't remove the bugs. 18:23
diakopter hee.
[Coke] notjack++
colomon notjack: did you use DDT?
notjack no, dbg
maybe that's the issue
btw, this thing where I can say regex foo { stuff } is awesome 18:24
colomon mostly joking
notjack colomon: me too, where mostly ~~ poorly
[Coke] Is masak our primary native german speaker? 18:27
TimToady you mean moritz? 18:28
[Coke] .u ß
yoleaux U+00DF LATIN SMALL LETTER SHARP S [Ll] (ß)
[Coke] .u ẞ
yoleaux U+1E9E LATIN CAPITAL LETTER SHARP S [Lu] (ẞ)
benabik Sharp S? It looks fairly rounded to me. 18:29
[Coke] inowrite?
regarding ß.tclc being "Ss" in the spec, my intel so far indicates it should be maybe ẞ or more likely SS. Or, even more likely, "why are you doing that." 18:31
[Coke] wonders if nwc10 has any feedback from p5 land for us on that.
npr: "ßa".tclc.say
camelia pugs: OUTPUT«*** No such method in class Str: "&tclc"␤ at /tmp/HVtN6ajEoH line 1, column 1 - line 2, column 1␤»
..rakudo 4ad1b8: OUTPUT«ßa␤»
..niecza v24-88-g1f87209: OUTPUT«Ssa␤»
[Coke] npr: "ßß".tclc.say 18:32
camelia niecza v24-88-g1f87209: OUTPUT«Ssß␤»
..pugs: OUTPUT«*** No such method in class Str: "&tclc"␤ at /tmp/I_4eT9o25Y line 1, column 1 - line 2, column 1␤»
..rakudo 4ad1b8: OUTPUT«ßß␤»
[Coke] weird. I thought rakudo.parrot was passing that test. 18:32
[Coke] wonder if camelia has a different version of ICU 18:32
[Coke] diakopter: gist.github.com/coke/6011457 is the latest runtime error I'm seeing from Pugs on host06. this looks like something we might be able to fix. 18:47
.to diakopter gist.github.com/coke/6011457 is the latest runtime error I'm seeing from Pugs on host06. this looks like something we might be able to fix. 18:49
yoleaux [Coke]: I'll pass your message to diakopter.
diakopter [Coke]: I think just
yoleaux 18:49Z <[Coke]> diakopter: gist.github.com/coke/6011457 is the latest runtime error I'm seeing from Pugs on host06. this looks like something we might be able to fix.
diakopter export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
[Coke]: I suppose it's possible it's getting the latin 1 from your terminal 18:52
TimToady the problem with the name jakudo is that jaku means "weak" in Japanese... 18:56
jnthn [Coke]: Regarding: 18:57
integration/error-reporting.t
121:#?rakudo.jvm skip 'No such attribute "$!do" for this object'
I think that one way already be fixed now.
benabik Weak Art?
jnthn What does "nigh" stand for? :)
TimToady benabik: unfortunately, doesn't have any of the positive connotations of "gentle art", /juudou/ 19:01
benabik TimToady: Was thinking more along the lines of "my five year old could do it" than "tossing people effortlessly". 19:02
TimToady they would think of that as being strong, not as being weak 19:03
[Coke] jnthn: nigh just means "soon" 19:03
jnthn ah :) 19:04
[Coke] but more dramatically. ;)
diakopter well, "near"
jnthn Yeah, was thinking "not implemented...g??? h???" :P
TimToady don't use anglicisms on poor jnthn :)
jnthn :P
moritz :-)
[Coke] he's sort of anglic! 19:06
little obtuse, even!
nwc10 (roughly) Yorkshire is to England as Texas to the USA
[Coke] ... almost on my way to a fixed width hiaku there, ah well
diakopter: if I define those in my .bashrc and re-login, I get pretty much the same error.
PerlJam Yorkshire is like a whole other country? 19:07
[Coke] LC_ALL= <run the tests> still complains about LC_ALL, which is weird.
benabik The rest of the country wishes it would just up and leave already? ;-) 19:08
moritz [Coke]: how does it complain?
[Coke] moritz: gist.github.com/coke/6011457 19:10
nwc10: oooh! this is a pudding metaphor, innit?
moritz LANGUAGE = "en_US:en" 19:11
is that the right format?
nwc10 [Coke]: I didn't think it was. If it is, it's a better joke than I I was thinking of
it's just that Yorkshire sort of lets the English in, if it has to
benabik Texas pudding? 19:12
moritz [Coke]: on debian I'd tell you to run dpkg --reconfigure tzdata, but I fear that won't help you much 19:12
[Coke]: try LC_ALL=en_US.UTF-8 LANGUAGE=C perl -e 1 19:13
jnthn Yorkshire pudding is world famous, no? :)
[Coke] moritz: gist updated 19:14
moritz ugh
that really looks like missing locales, not just wrongly set env variables
jnthn fixes Rakudo JVM to correctly distinguish runtime errors from compile time ones 19:15
[Coke] ah. locale -a is helpful. 19:16
[Coke] ... points at LC_ALL=en_US.utf8 ... but that doesn't work either. still getting errors on LANGUAGE et al, even if I udnef them. 19:19
diakopter [Coke]: 19:21
hSetEncoding handle utf8
er. 19:22
er, nm
<- apparently dense as neutron star
[Coke] jnthn: rakudo.jvm build broken here. 19:24
jnthn [Coke]: huh, I didn't even commit anything yet :p
[Coke] jnthn: gist.github.com/coke/6011803
jnthn git diff 19:25
grr
[Coke] nope, I'm clean. ;
(this is not on the daily build box)
jnthn [Coke]: That looks like building a Rakudo JVM with a too old NQP JVM
dalek kudo/nom: d57a8e3 | jnthn++ | src/core/Exception.pm:
Tweak is_runtime to work on JVM also.

Previous approach relied on Parrot namespaces, of all things.
19:26
jnthn (Checked that the above also works on Parrot.)
[Coke] jnthn: I just updated nqp and built it. hurm.
my nqp is at 754bc44
jnthn [Coke]: And you configure'd with correct --prefix, and did make install? 19:27
[Coke] ARGLEBARGLE.
all but that last one. :)
jnthn++ 19:28
Util #ps in 2 minutes 19:29
FROGGS nqp: my %conf := pir::getinterp__P()[pir::const::IGLOBALS_CONFIG_HASH]; say(%conf<platform>); 19:42
camelia nqp: OUTPUT«linux␤»
FROGGS nqp-jvm: my %conf := nqp::jvmgetproperties(); say(%conf<os.name>); 19:59
camelia nqp-jvm: OUTPUT«No registered operation handler for 'jvmgetproperties'␤ in compile_op␤ in as_jast␤ in as_jast␤ in as_jast_clear_bindval␤ in <anon>␤ in <anon>␤ in compile_var␤ in as_jast␤ in as_jast␤ in <anon>␤ in <anon>␤ in compile_op␤ in as_jast␤ in as_jast␤ in <anon>␤ …
FROGGS hmmm, is nqp-jvm here not up-to-date?
jnthn suspects nqp-jvm is fairly out of date...
FROGGS k
:o)
jnthn Would love a rakudo-jvm target :) 20:00
FROGGS jnthn: if you have time, can you run these two above on your win x64?
me too
jnthn FROGGS: Windows 7
FROGGS that would be awesome 20:01
I think lc($OS) ~~ /^win/ should be alright
ahh, wait 20:02
that already was the output, ehh?
for parrot too?
jnthn $*OS on Parrot is MSWin32 20:04
FROGGS k, thank you
colomon jnthn++'s last patch actually lost me 14 tests that were previously passing. :\ 20:15
jnthn Oh?
colomon results8:"total", 25242, 278, 663, 2099, 28179, 26256 20:16
results9:"total", 25228, (etc)
[Coke] there's a good reason for proper fudging at this stage, I guess. 20:17
s/proper//
colomon jnthn: trying to sort now
colomon S06-other/main-usage.rakudo.jvm aborted 22 test(s) (previous S06-other/main-usage.rakudo.jvm aborted 1 test(s)) 20:19
timotimo did someone make rakudo.jvm run from outside the build directory yet?
colomon some other (smaller) new aborts as well
timotimo because i have a java professional sitting next to me
[Coke] timotimo: not that I know. 20:22
FROGGS me neither... I have not seen related commits 20:23
timotimo good 20:26
he's currently distracted by minecraft ;)
jnthn In NQP I see this at present: 20:29
t/jvm/06-sprintf.t Failed tests: 31, 239 20:30
Is that Windows specific, or anyone else have it?
timotimo just to be sure, foo\ (1, 2, 3); should be the same as foo(1, 2, 3), yes? 20:35
FROGGS jnthn: same here using linux
colomon those fails are par for the course for now. unless there's a way to todo them? 20:38
sprintf definitely still needs more attention, but it's not getting it from me for a few days due to $work backlog after vacation++ 20:39
timotimo who knows off hand where foo(1, 2, 3) gets parsed in the grammar? is that term:sym<name>?
FROGGS I'd guess it is term:sym<identifier>
jnthn term:sym<ident> iirc 20:40
uh, yeah, identifier
timotimo ah, thanks!
<?[(]> is short syntax for lookahead assertion? 20:41
FROGGS it is the same like <?before '('>
timotimo thanks :)
jnthn timotimo: Note STD has <?before [<unsp>|'(']? > <![:]> that looks like it handles this. 20:42
timotimo oh? i was going to put <.unsp> before that assertion 20:43
because the unspace actually has to be matched, rather than just putting an assertion that it's there
or am i mistaken?
jnthn timotimo: The args call will happily eat unspace 20:44
At least, in STD it will
I'd rather we follow the STD way rather than approximate it :)
timotimo ah, sure. 20:45
i'll have to patch args in that case.
and remove the <.unsp> before <args> to replace them with assertions in other places
jnthn +1 20:47
timotimo i'm not quite sure why std implements the unspace in args as | :dba('argument list') '(' ~ ')' <semiarglist> | :dba('argument list') <.unsp> '(' ~ ')' <semiarglist> 20:52
rather than just having <.unsp>? in there
jnthn Maybe LTM. 20:53
timotimo should i reproduce that in rakudo then? 20:54
FROGGS stay as close to std as you can
jnthn yes 20:55
timotimo will do.
timotimo runs a full spectest with the changes 21:08
timotimo all spectests succeed, including the test of my own design :) 21:17
the test will cause an abort of the whole file, so i should wait for the fix to be merged before uploading it to roast, yes? 21:20
jnthn aye 21:23
timotimo github.com/rakudo/rakudo/pull/179 - this is the PR 21:24
dalek kudo/nom: 6b355be | (Timo Paulssen)++ | src/Perl6/Grammar.nqp:
allow unspace before args (e.g. in say\ ("foo"))
21:26
kudo/nom: 60cb3e3 | jonathan++ | src/Perl6/Grammar.nqp:
Merge pull request #179 from timo/unspace_before_args

allow unspace before args (e.g. in say\ ("foo"))
timotimo Action::block_closure seems to be the place to put $*W.install_lexical_symbol($block, '&?BLOCK', $code);, no?
jnthn Doesn't sound quite right to me.
timotimo OK
jnthn I think last time I tried to do it with install_lexical_symbol, something didn't go too well... 21:27
timotimo ah. in that case i shall just let it be for now
jnthn Oh...yeah. You got the wrong closure.
timotimo ah, that's unhelpful
okay, i shall see what the other perceived LHF was that i ran into earlier today
hum, that may already be all of it :| 21:29
jnthn I guess we need to notice $?BLOCK specially and turn it into something like nqp::getcodeobj(nqp::curcode()) or so
timotimo std: temp &say.wrap({ print "wrapped"; callsame }); 21:30
camelia std c2215f0: OUTPUT«ok 00:00 47m␤»
timotimo i'll put in parsing + NYI error for that
jnthn I think we already parse it 21:31
yay, I have S04-phasers/keep-undo.bat passing on JVM
timotimo \o/ 21:32
it's a .bat?
r: temp &say.wrap({ print "wrapped"; callsame });
camelia rakudo d57a8e: ( no output )
timotimo oh!
r: { temp &say.wrap({ print "wrapped"; callsame }); say "what!" } say "who?"
camelia rakudo d57a8e: OUTPUT«===SORRY!===␤Two terms in a row␤at /tmp/obs9Pj3g9z:1␤------> t "wrapped"; callsame }); say "what!" } ⏏say "who?"␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement modifier l…
timotimo r: { temp &say.wrap({ print "wrapped"; callsame }); say "what!" }; say "who?"
camelia rakudo d57a8e: OUTPUT«Can only use 'temp' on a container␤ in sub prefix:<temp> at src/gen/CORE.setting:14240␤ in block at /tmp/p63LrvYk_1:1␤␤»
timotimo right, okay. nothing to be done for me right now. 21:33
jnthn uh, I meant .t :)
temp.t does now pass on JVM also :)
As far as it does on Parrot, anyways.
let.t and enter-leave.t somehow explode with unwind exceptions. Hm. 21:34
dalek p: e47d0bf | jnthn++ | src/ (10 files):
Infrastructure to support LEAVE and friends.
21:39
timotimo is trying to look into making $/ have the right value in the second argument to subt 21:46
timotimo is not sure how to make that work properly, alas
since i don't have access to the lexical scope of the thing that gets passed, and AFAICT $/ isn't dynamic ...
or maybe it's kind of sort of dynamic
kind of hard to grep grammar and actions for $/ :) 21:48
timotimo in a very simple example, it's indeed just a lexical, hum. 21:48
timotimo but $/ is declared as a "contvar", maybe that helps me 21:50
unsurprisingly, that whole ordeal wasn't easy so far and doesn't seem to be easily solvable right now either :| 21:51
jnthn I think that issue has been around for a little while... 21:52
timotimo a long while, in fact ;) 21:55
i thought it was just that nobody looked at it, but of course that's illusory ;)
jnthn No, there may even be a spec ticket on it.
timotimo std: "foo" ~~ /<[a..c]-[a..c]>/
camelia std c2215f0: OUTPUT«ok 00:00 44m␤» 21:56
timotimo should that throw "null regex not allowed"?
or is it enough to throw for '['\s*']'?
jnthn I think th enull regex thing is quite syntactic. 21:57
Again, see STD ;-)
dalek p: 04a1331 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/CallFrame.java:
Preserve unwinder in exit handlers.
timotimo right.
timotimo std: "foo" ~~ /<-[]>/ 22:14
camelia std c2215f0: OUTPUT«ok 00:00 44m␤»
FROGGS rn: "foo" ~~ /<-[]>/ 22:15
camelia niecza v24-88-g1f87209: ( no output )
..rakudo 60cb3e: OUTPUT«===SORRY!===␤Error while compiling block (source text: "\"foo\" ~~ /<-[]>/"): Error while compiling op call: Error while compiling block : Error while compiling block (source text: "/<-[]>/"): StopIteration␤»
timotimo oh wow
FROGGS -.-
jnthn wow
timotimo i wonder where that happens
FROGGS no cookie for all of them
timotimo but since i'm poking around in that part of code anyway, i'll look see what i can do9~. 22:16
jnthn I'm betting it's in the char class code gen. 22:17
It probably assumes that there is at least one thing in there.
dalek kudo/nom: 45fb1ba | jnthn++ | / (3 files):
LEAVE/KEEP/UNDO support for on JVM.

Passes almost all of the tests for these features that Parrot does. This also makes let/temp work and their tests pass on JVM.
22:18
timotimo searches
timotimo \o/ jnthn++
jnthn Probably i the NQP repo, in src/QRegex/P6Regex/Actions.nqp, cclass_elem or thereabouts.
timotimo hey look, that's where i'm looking! ;)
for $<charspec> { ... } would that blow up if there's nothing in there? 22:19
jnthn No... 22:20
[Coke] jnthn: ++
er, jnthn++
jnthn I can't reproduce that main-usage regression somebody mentioned earlier, fwiw. It passes in my latest run, it seems.
[Coke] might have been a symptom of other stuff. 22:22
I'm kicking off a new run right now.
timotimo the stuff exits the action for assertion:sym<[> 22:30
timotimo yeah, i'm guessing a Regex(:rxtype<conj>, :subtype<zerowidth>) with no children at all is just not sensible 22:35
but i don't know what to properly replace it with
FROGGS die "Empty regex not allowed" ? 22:37
timotimo no, that's wrong
<-[]> is allowed
FROGGS why?
timotimo std: "foo" ~~ <-[]>
come on, std, back me up on this one 22:38
FROGGS :o)
I know that it says "ok", but I'm not sure it is meant to
timotimo well, . is always an apt replacement for <-[]>
FROGGS n: say "abc" ~~ /<-[]>/ 22:39
lue imagines module X::Snarky would warn with "WARNING: Useless use of empty regex. I bet that was worth the keystrokes."
FROGGS timotimo: think of <-[@arr]> where @arr is empty by accident, I dont think that somebody wants that 22:40
TimToady: opinion? 22:41
timotimo oh? it should explode in that case? i don't think so.
i think it should allow empty @arr
in that case
dalek pan style="color: #395be5">perl6-examples: b803f40 | grondilu++ | rosalind/lcs.c~:
Delete lcs.c~
22:43
FROGGS gnight net splitters
std: "abc" ~~ /[]/
lue I imagine <-[]> is useful over . in cases where you want to emphasize that you don't want nothing (as opposed to the alternate perspective of "I want something") 22:44
lue std: "abc" ~~ /[]/ 22:46
camelia std c2215f0: OUTPUT«===SORRY!===␤Null pattern not allowed at /tmp/cUsH8X2xTi line 1:␤------> "abc" ~~ /[⏏]/␤ expecting any of:␤ prefix or term␤ regex atom␤Parse failed␤FAILED 00:00 43m␤»
lue std: "abc" ~~ /<-[]>/
camelia std c2215f0: OUTPUT«ok 00:00 44m␤»
jnthn 'night, #perl6 23:12
[Coke] ~~ 23:14
soc timotimo: ok, so perl6 is currently using github.com/jline/jline 23:24
you might want to upgrade to github.com/jline/jline2 sooner or later 23:25
when that happens, keep "expandEvents" in mind
see github.com/scala/scala/pull/2740
[Coke] rakudo.jvm is passing 2 fewer tests than it was early today. :| 23:27
grondilu rn: say map { .substr(0, *-2) => .substr(1) }, <foo bar>; 23:30
camelia rakudo 45fb1b: OUTPUT«No such method 'substr' for invocant of type 'Any'␤ in block at /tmp/MJSYJUq9Eq:1␤␤»
..niecza v24-88-g1f87209: OUTPUT«Unhandled exception: Unable to resolve method substr in type Any␤ at /tmp/6lF8I8pOZF line 1 (ANON @ 4) ␤ at /tmp/6lF8I8pOZF line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 4579 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting l…
grondilu why don't this work? 23:31
rn: say map { .substr(1) }, <foo bar>;
camelia rakudo 45fb1b, niecza v24-88-g1f87209: OUTPUT«oo ar␤»
grondilu rn: say map {; .substr(0, *-2) => .substr(1) }, <foo bar>;
camelia rakudo 45fb1b, niecza v24-88-g1f87209: OUTPUT«"f" => "oo" "b" => "ar"␤»
grondilu oh I see
it was parsed as a hash, not a block 23:32
timotimo jnthn: a friend told me, that invokedynamic is severely broken performancewise and that until java 8 hits or the changes made in java 8 are backported to java 7 we would likely be better off using reflection instead 23:39
soc at least I recommend benchmarking :-) 23:45
"How do reflect-based lambdas compare with MethodHandles? To recap, support for MethodHandles was removed (for now) from the new backend because performance was disappointing. As of JDK 7, both reflection and method-handles result in similarly small JARs, but reflection-based lambdas (currently) outerperform their MethodHandle-based counterparts. And there's also Android, right?" 23:46
groups.google.com/d/topic/scala-in...discussion
timotimo is quite close to making perl6 on jvm run from outside the install directory :) 23:48
ah, great. there's a --setting-path, but apparently only for nqp's compiler? or something? 23:51
siiiiigh, even more "could not found"'s 23:54
find*
timotimo i get past a lot of stuff, but then Perl6::BOOTSTRAP cannot be found :( 23:57
it should have put th jvmclasspaths there, but it only looks in . and blib/
aaah, # XXX TODO ;) 23:58