Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-09-07

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 lastofthe joined #perl6
00:13 ingy vendethiel: cool!!
00:13 yoleaux 6 Sep 2014 23:14Z <vendethiel> ingy: I started a scala port of your stuff, and ended up fighting its regexps for around 3hours :d. they're so much better in 6 ;)
00:14 vendethiel ingy: I'll still be here for a while, btw, so we can chat
00:14 vendethiel sorry for my non-presence those last 2 days
00:14 ingy oh god, np
00:14 ingy I just fell off the module a day streak
00:14 ingy by accident, but glad to have :)
00:15 * leont is deep into async issues :-/
00:16 vendethiel leont: i'm deep into php (so issues). wanna exchange?
00:20 leont Different kind of masochism
00:25 dalek rakudo/nom: 9e524c9 | TimToady++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
00:25 dalek rakudo/nom: slow and fastpath binders should have same message
00:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9e524c9c76
00:38 lastofthe joined #perl6
00:45 lichtkind joined #perl6
00:46 lichtkind t/ecosystem.t  failed while installing panda on recent mint
00:58 colomon lichtkind: what version/VM of rakudo?   I just got a successful panda install with HEAD on Moar.
00:58 colomon (on the other hand, NativeCall is badly broken today.)
00:59 lichtkind rakudo on parrot all latest pull
00:59 lichtkind on mint 17
00:59 colomon okay, trying that on Ubuntu
01:03 lichtkind another question is $?FILE planned also become an IO::Path obj?
01:05 TimToady that doesn't necessarily make much sense, if the compiled file is on a completely different system than where $?FILE is used
01:06 TimToady the file in question might not even exist, if a module comes out of a database
01:07 lichtkind understand
01:07 lichtkind and  is such a thing as pair slices of arrays such we have in perl 5.20 ?
01:09 TimToady eh, surely if 5.20 has it, they borrowed the idea from 6
01:09 M_o_C_ joined #perl6
01:09 grondilu m: sub postfix:<a>(Int $n) { $n ~ 'A' }; say 3a
01:09 camelia rakudo-moar 4a7429: OUTPUT«3A␤»
01:09 grondilu m: sub prefix:<a>(Int $n) { 'A' ~ $n }; say a3   # is that OK if this fails?
01:09 camelia rakudo-moar 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/9pV0y8H7Jlâ�¤Undeclared routine:â�¤    a3 used at line 1â�¤â�¤Â»
01:09 TimToady or are you referring to something other than the :p adverb?
01:10 lichtkind yes that the thing i did not remember i just saw it once on the channel
01:11 lichtkind r: @a = 'a'..'d'; say @a[1,2] :p
01:11 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '@a' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m@a[33mâ��[31m = 'a'..'d'; say @a[1,2] :p[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
01:11 lichtkind r: @a = 'a'..'d'; say @a[1,2](:p)
01:11 TimToady my
01:11 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '@a' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m@a[33mâ��[31m = 'a'..'d'; say @a[1,2](:p)[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
01:11 lichtkind r: my @a = 'a'..'d'; say @a[1,2](:p)
01:11 lichtkind thanks
01:11 camelia rakudo-moar 4a7429: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤  in block <unit> at /tmp/tmpfile:1␤␤»
01:11 camelia ..rakudo-jvm 4a7429: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Parcel'␤  in any  at gen/jvm/BOOTSTRAP.nqp:1697␤  in block <unit> at /tmp/tmpfile:1␤␤»
01:11 camelia ..rakudo-parrot 4a7429: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Parcel'␤  in any  at gen/parrot/BOOTSTRAP.nqp:1709␤  in block <unit> at /tmp/tmpfile:1␤␤»
01:11 TimToady no parens
01:11 lichtkind r: my @a = 'a'..'d'; say @a[1,2] :p
01:11 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«1 => "b" 2 => "c"␤»
01:12 lichtkind so great thanks i maybe even use that for the article :)
01:15 lichtkind r: my %a = 'a'..'f'; say %a<a> :p
01:15 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«"a" => "b"␤»
01:15 lichtkind fantastic
01:19 TimToady p5 doesn't always acknowledge which of its new features were borrowed from p6, for understandable reasons :)
01:21 lichtkind at least i can mention it in my recent article about 5.20 syntax features
01:27 lichtkind btw my perl 6 op talk was in hannover and prague very well recieved but not so in sofia
01:30 TimToady YAPC::EU can be a tough crowd :)
01:31 TimToady otoh, many of our P6 devs are EuFolk
01:31 vendethiel "who doesn't 6 isn't eu" :p
01:32 lichtkind i now it just that i was in the main hall that was almost empty and half people were just playing laptop
01:32 TimToady "it tolls for eu"
01:32 lichtkind s/now/know/
01:32 TimToady well, I watched it, as you know from the backlog :)
01:33 TimToady everyone looked a little tired too
01:34 telex joined #perl6
01:35 lichtkind no didnt seen that but i think its not even online yt
01:35 lichtkind maybe you saw it from hannover
01:35 TimToady no, I watched the live feed in the wee hours of the morning
01:35 lichtkind ah
01:36 lichtkind surely wasnt my strongest presentation
01:36 lichtkind how you liked my neurological ramblings?
01:37 TimToady it was mostly good, a few weird spots
01:37 vendethiel which TimToady++ pointed out in the backlog
01:40 lichtkind yes xor slides was completly wrong but got fixed and reuploaded
01:45 lichtkind maybe i get chance to explain later again the brain thing because i think its a major issue that brain can handle complexity best when not hinking in languag terms, that was a major eye opener to me
01:47 TimToady there were a few other things mentioned after http://irclog.perlgeek.de/perl6/2014-08-22#i_9226571
01:49 lichtkind i mentioned xx too but later on list ops so i think i got that right
01:50 lichtkind and comparing parcels to sig was purely on optical point
01:50 lichtkind yeah i stumbeled a bit over my tong on that but in german r czech it went better
01:51 lichtkind and like said i took almost half an hour to fix all errors  i found before uploading
01:54 TimToady just wanted to make sure you caught those
01:54 FROGGS_ joined #perl6
01:58 slavik joined #perl6
02:04 colomon lichtkind: huh, with parrot-HEAD I don't even get as far as t/ecosystem.t
02:04 colomon No such method 'chomp' for invocant of type 'String'
02:05 * colomon apologizes for the delay, got distracted
02:05 tinyblak joined #perl6
02:06 lichtkind colomon: thanks all fine have here another text to write
02:06 lichtkind but i want to convert one of my most useful selfmade tools into perl 6
02:06 colomon lichtkind: same here
02:06 colomon but I'm taking my time about it.
02:07 * colomon has been working on this very slowly for years now.  :)
02:10 lichtkind i just started today on my fresh new mint installation - 1 day old
02:18 itz_ joined #perl6
02:26 JimmyZ joined #perl6
02:30 PersonX joined #perl6
02:34 rindolf joined #perl6
02:36 lastofthe joined #perl6
02:36 lichtkind how old is :p ?
02:40 TimToady 2008
02:40 TimToady :delete and :exists predate that, at least in my head
02:41 lichtkind thank you
02:41 TimToady but they weren't implemented for quite a while
02:41 lichtkind shouldnt delete and exists not be methods?
02:43 TimToady they're not
02:44 lichtkind r: my @ = 1..5; say @[2] :exists;
02:44 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«False␤»
02:44 lichtkind r: my @ = 1..5; say @a[2] :exists;
02:44 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '@a' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32mmy @ = 1..5; say @a[2][33mâ��[31m :exists;[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement…»
02:44 lichtkind r: my @a = 1..5; say @a[2] :exists;
02:44 lichtkind grr
02:44 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«True␤»
02:45 TimToady anonymous arrays are anonymous
02:45 lichtkind yes
02:45 lichtkind i just thought so because .kv is a method
02:46 TimToady convenience for flat arrays, but not generalizable to multi-dim as subscript modifiers are
02:51 xenoterracide joined #perl6
02:52 cooper_ joined #perl6
02:52 ClarusCogitatio joined #perl6
02:58 noganex_ joined #perl6
02:59 slavik joined #perl6
03:03 masak oh yes, I remember :delete and :exist (as spec) back in the Pugs days, which must've been before 2008.
03:03 firefish5000 joined #perl6
03:03 jnthn morning, #perl6
03:03 yoleaux 6 Sep 2014 19:38Z <FROGGS> jnthn: You've killed NativeCall! (rakudo/cc1965f makes it able to check the return type of { * }. There is a stub_instead NativeCall branch if that is the way to go)
03:03 TimToady ... works in place of *
03:04 jnthn Um...but we never actually call the sub...
03:04 jnthn Or is it a static check...
03:04 TimToady static check
03:04 jnthn Ah
03:04 masak lichtkind: the reason :exists cannot be a method %h<key>.exists is that by the time you ask the quesiton, you've already made the lookup.
03:04 TimToady also some complaints about jvm
03:04 jnthn m: sub foo() returns Str { * }
03:04 camelia rakudo-moar 4a7429: ( no output )
03:05 masak lichtkind: and doing it like we did up until recently, %h.exists('key'), is "poor" in that it defers evaluation behind a layer of string; thus not actually solving it in Perl 6 itself.
03:05 masak "poor" in the sense of "not rich".
03:05 TimToady poor in the sense of not harnessing the specialness of subscript notation
03:06 masak right.
03:06 jnthn So...why doesn't the above fail...
03:06 * masak has not woken up properly yet
03:06 jnthn If there's a static check somewhere...
03:07 TimToady well, that was the theory, anyway
03:08 masak clearly both indexing, existence check and deletion needs to do the same kind of data structure lookup; so yes, it does make sense that they share syntax.
03:09 masak I used to be mildly against :exists and :delete -- I've basically come around.
03:09 TimToady it's strange compared to other languages, but we finally found a good-ish use for adverbs :)
03:11 aborazmeh joined #perl6
03:11 jnthn Ah...
03:11 jnthn * is now compiled into something really simple
03:11 jnthn And something somewhere doesn't check something it probably should
03:11 jnthn And we end up inlining the *
03:12 jnthn ah, and NativeCall doesn't use .wrap
03:12 masak TimToady: were :exists and :delete the original intended use of adverbs, even?
03:12 jnthn It just goes ahead and mixes in a role to override postcircumfix:<( )>
03:14 TimToady masak: don't remember whether that was part of the original intent, but they were pretty close to there
03:15 rindolf joined #perl6
03:17 lichtkind ever thought about to allow for :p also longer alias like :pairs
03:19 dalek rakudo/nom: bceb13e | jonathan++ | src/Perl6/Actions.nqp:
03:19 dalek rakudo/nom: Don't inline code overriding postcircumfix:<( )>.
03:19 dalek rakudo/nom:
03:19 dalek rakudo/nom: This fixes the recent NativeCall regression.
03:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bceb13ed7d
03:19 colomon Seems like :by on Range was one of the first adverbs?
03:25 masak :by seemed like a good idea at the time...
03:30 masak ...but what we really wanted was the separation between infix:<..> and infix:<...>
03:36 firefish5000 after building and switching to a newversion of moar in rakudobrew, how do you get panda to work?(rebootstrap? how) (getting Could not find Shell::Command)
03:36 jnthn perl6 rebootstrap.pl
03:37 jnthn I thought rakudobrew did that bit...
03:37 jnthn But I don't actually use it (yet? :-))
03:37 TimToady our downstream is getting downstreamer
03:39 firefish5000 do you know where rebootstrap.pl resides?
03:40 jnthn I run it from the panda directory
03:40 * firefish5000 found rebootstrap.pl in his moar-HEAD/panda, but not in the new moar-2014.08/
03:42 lichtkind good night
03:43 firefish5000 wait, then do all installed perl6 versions use the same directory for panda?
03:44 TimToady if true that would kinda go against our multi-version story...
03:45 TimToady unless, of course, panda is written to take that into account
03:46 firefish5000 if not true, then would ~/.rakudobrew/moar-HEAD/panda/rebootstrap.pl be the wrong file to run?
03:46 * TimToady is also no expert on that
03:49 firefish5000 seeing how rakudobrew build-panda put panda under the moar-{current-version}. I am assuming it's not suppose to be shared..
03:50 firefish5000 but then what would happen to installed modules when switching versions?
03:50 davido_ joined #perl6
03:50 aborazmeh joined #perl6
03:52 TimToady it's usually easier to unmake unneeded distinctions than to make needed but missing distinctions
03:56 masak second law of thermodynamics.
03:56 * firefish5000 cannot follow
04:02 firefish5000 in any case, if anyone who is familiar with rakudobrew sees this, please guide me down the right path. (perhaps I need to run build-panda after every build <backed> <version>)
04:26 itz joined #perl6
04:49 btyler how do I grab a list of the optional named parameters that were specified when the sub was called?
04:57 kaare_ joined #perl6
04:59 masak firefish5000: oh -- let me explain. if you have a bucket of hot water and a bucket of cold water, you can easily pour them into the same vessel, which will now have lukewarm-ish water. doing the opposite -- not so much.
05:00 masak firefish5000: transformations that destroy structure/order/distinctions are "easier" and more common than transformations that create them.
05:02 firefish5000 masak: Thanks for clearing my confusion.
05:03 SamuraiJack_ joined #perl6
05:04 * jnthn has been looking into 122709. Will have a fix after lunch. :)
05:05 masak firefish5000: clearing confusion is also more difficult than causing it ;)
05:44 slavik joined #perl6
06:06 FROGGS[mobile] joined #perl6
06:07 FROGGS[mobile] mornäng
06:08 itz firefish5000: yes run build-panda first time after "build moar" and then its automatically run in the future
06:12 firefish5000 itz: but when I try something like 'build moar 2014.03' 'switch moar-2014.03' panda update I get the error (Could not find Shell::Command)
06:14 FROGGS[mobile] p: my $a = "abc\n"; say $a.chomp
06:14 camelia rakudo-parrot 4a7429: OUTPUT«abc␤»
06:14 itz I'd delete everything and start again with "rakudobrew build moar", "rakudobrew build-panda"
06:15 itz BTW I think (despite the use pragma) it needs perl > 5.10 since I had issues with that version and the shim building phase
06:16 virtualsue joined #perl6
06:18 JimmyZ r: sd\r\nsdf\rr"; say $a.lines
06:18 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Missing semicolon.â�¤at /tmp/tmpfile:1â�¤------> [32msd\[33mâ��[31mr\nsdf\rr"; say $a.lines[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
06:18 JimmyZ r: my $a="sd\r\nsdf\rr"; say $a.lines
06:18 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«sd
06:19 firefish5000 are you suggesting that building specific versions (like moar 2014.03) will work so long as I don't specify the first time?
06:19 firefish5000 or that I should not try to use specific versions?
06:19 JimmyZ r: my $a="sd\r\nsdf\rr"; say $a.lines.perl
06:20 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«("sd\r", "sdf\rr").list␤»
06:20 JimmyZ n: my $a="sd\r\nsdf\rr"; say $a.lines.perl
06:20 camelia niecza v24-109-g48a8de3: OUTPUT«["sd", "sdf", "r"].list␤»
06:21 JimmyZ which one is right?
06:22 FROGGS[mobile] I hope niecza, but we should check the spec
06:23 itz firefish5000: I don't know about specific versions
06:23 itz firefish5000: but I suspect your problem is caused by trying to "build-panda" manually
06:24 lizmat m: my @a = 42..63; say @a[[4..7]:p
06:24 camelia rakudo-moar 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6dheKTHYcKâ�¤Unable to parse expression in subscript; couldn't find final ']' â�¤at /tmp/6dheKTHYcK:1â�¤------> [32mmy @a = 42..63; say @a[[4..7]:p[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤ …»
06:24 lizmat m: my @a = 42..63; say @a[4..7]:p
06:24 camelia rakudo-moar 4a7429: OUTPUT«4 => 46 5 => 47 6 => 48 7 => 49␤»
06:25 JimmyZ r: my $a="sd\r\nsdf\rr"; say $a.lines.WHAT
06:25 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«(List)␤»
06:25 JimmyZ n: my $a="sd\r\nsdf\rr"; say $a.lines.WHAT
06:25 camelia niecza v24-109-g48a8de3: OUTPUT«(Array)␤»
06:26 firefish5000 itz: rakudobrew allows you to easily build and switch between rakudo versions, (which I thought was its main selling point).
06:27 firefish5000 itz: I am having problems with rakudobrew's panda, however, after switching from say release 2014.07 to 2014.08.
06:28 itz ok
06:29 itz I'd imagine most people just use it to build a fresh release daily but maybe they don't
06:29 firefish5000 I have heard from a few sources that I need to rebootstrap something somewhere... but honestly I am clueless as to anything else..
06:29 itz rakudobrew should run panda rebootstrap itself
06:32 firefish5000 I havn't a clue. what most people do, I just started using it 6 hr ago (got that from the rakudobrew executable).
06:33 itz I'd get the workflow working with the simplier case first
06:33 firefish5000 It seems rakudobrew leaves some unfinished business when switching to a version for the first time.
06:34 itz the different versions should use totally different dirs
06:35 itz build-panda uses current
06:37 itz hmm that logic does try and swap between versions
06:39 firefish5000 I am thinking I need to run build-panda on the first switch for each version, (at least for now)
06:51 firefish5000 oh well, My mind is shutting down and I am no longer sure what I was confused about.. I think I will head to bed while my mind is still clear.
06:51 firefish5000 GNight #perl6
07:10 darutoko joined #perl6
07:21 lizmat decommute&
07:23 woolfy left #perl6
07:24 gfldex joined #perl6
07:26 grep0r joined #perl6
07:26 PersonX joined #perl6
07:28 ClarusCogitatio joined #perl6
07:39 denis_boyun_ joined #perl6
07:46 bjz_ joined #perl6
07:50 grondilu joined #perl6
07:54 elohmrow joined #perl6
07:58 dalek rakudo/nom: 57573e8 | jonathan++ | src/core/ThreadPoolScheduler.pm:
07:58 dalek rakudo/nom: Fix deadlock reported in RT#122709.
07:58 dalek rakudo/nom:
07:58 dalek rakudo/nom: The need for a thread to handle incoming I/O-related callbacks did not
07:58 dalek rakudo/nom: get accounted for properly, meaning that we didn't have enough threads
07:58 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=122709
07:58 dalek rakudo/nom: started and so deadlocked.
07:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/57573e83c0
07:58 dalek rakudo/nom: 22a4c05 | jonathan++ | src/core/Thread.pm:
07:58 dalek rakudo/nom: Fix issues with reporting warnings on threads.
07:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22a4c05712
08:00 masak m: say Date.today
08:00 camelia rakudo-moar 4a7429: OUTPUT«2014-09-07␤»
08:00 masak m: say Date.today === Date.new(2014, 9, 7)
08:00 camelia rakudo-moar 4a7429: OUTPUT«True␤»
08:00 masak \o/
08:00 FROGGS has somebody already looked into the chomp issue on parrot?
08:03 jnthn FROGGS: No, but from the error I can guess a well-placed nqp::p6box_s(...) would fix it.
08:03 masak m: sub circumfix:<d[ ]>([Int $year, Int $month, Int $day]) { Date.new(:$year, :$month, :$day) }; say d[2014, 12, 24]
08:03 camelia rakudo-moar 4a7429: OUTPUT«2014-12-24␤»
08:04 masak I'm growing ever more fond of this kind of circumfix operator for "local data format contexts".
08:04 masak that's one other case where macros would help make things nicer, too.
08:04 masak at least the kind we haven't spec'd out fully yet, that allows the macro to hook in at the grammar level.
08:06 masak so it'd be a bit more like a textual macro, actually, except it'd say "I'll take over here for a while", and then you could provide a regex for parsing the innards of that d[ ] (such as allowing it to be just '2014-12-24' without the quotes, for example), and then it'd hand control back to the regular parser.
08:06 masak basically a sort of one-off mini-slang.
08:07 PersonX joined #perl6
08:07 masak or, equivalently, a grammar rule plus some semantics. putting it like that reminds me of Angular.
08:11 masak in fact, with such control over the parser, it'd look even nicer as a prefix op: `d 2014-12-24` -- though one could argue that the visual-pillishness has decreased.
08:15 masak synopsebot: help
08:15 synopsebot masak: Sorry, this bot has no interactive help.
08:15 masak is there a synopsebot repo?
08:18 ClarusCogitatio joined #perl6
08:36 PersonX joined #perl6
09:04 ClarusCogitatio joined #perl6
09:06 FROGGS uff
09:06 FROGGS ===SORRY!===
09:06 FROGGS control operator crossed continuation barrier
09:06 FROGGS make: *** [lib/lib.pm6.jar] Fehler 1
09:08 leont joined #perl6
09:11 masak what's the easiest way to loop over a list, 10 elements at a time?
09:12 masak I don't feel an overwhelming need to put all the elements in individual variables.
09:12 moritz \o
09:12 brrt joined #perl6
09:12 masak o/
09:12 brrt \o
09:12 moritz timotimo: it's likely that the parcel flattening changes broke SVG::Plot
09:16 masak I'm pondering over the naming of a project, so I wrote up this little script to find names, 3..5 letters long, containing alternating vowels and consonants, and also alternating left and right hands on a qwerty keyboard: https://gist.github.com/masak/5f835f83efac7f68a2a9
09:18 masak "pel" is a nice name.
09:18 brrt wuduf
09:19 masak yes, that one stood out, but not as a good name for a project :)
09:19 FROGGS well, rox rocks :o)
09:19 masak :)
09:19 jnthn If it's something speedy, qiq works :)
09:19 masak I really liked Perl 6 while writing that script.
09:21 firefish5000 joined #perl6
09:23 PersonX joined #perl6
09:24 masak further runs produce "alay", "ori", "ifo", "elan" and "ubi", all of which are nice.
09:27 huf wuduf gotten away with it too, if werent for you meddling kids :)
09:27 JimmyZ masak: http://irclog.perlgeek.de/perl6/2014-09-07#i_9311360
09:31 masak m: "sd\r\nsdf\rr".comb( / ^^ \N* / )
09:31 camelia rakudo-moar 4a7429: ( no output )
09:31 masak m: say "sd\r\nsdf\rr".comb( / ^^ \N* / )
09:31 camelia rakudo-moar 4a7429: OUTPUT«sd  sdf r␤»
09:31 spider-mario joined #perl6
09:31 masak S32:
09:31 masak Returns a list of lines, i.e. the same as a call to
09:31 masak C<$input.comb( / ^^ \N* /, $limit )> would.
09:32 masak but... as we see above, .comb(/^^ \N*/) considers "\r\n" to be *two* line breaks.
09:32 rindolf joined #perl6
09:32 masak either .lines should, too, or that .comb definition of .lines is wrong.
09:33 masak what do we really want here?
09:33 vendethiel masak: circumfix operator is basically giving us user-defined literals like in C++/Scala/idris for free :D
09:33 FROGGS I'd like to see that .lines know about \r\n, \n and \r linebreaks
09:33 masak vendethiel: yes, but not until we can control the language inside of them through macros or slangs.
09:34 masak m: say so "\ra" ~~ / ^^ a /
09:34 camelia rakudo-moar 4a7429: OUTPUT«True␤»
09:34 masak FROGGS: ...then I conclude that that's not a good way to define .lines
09:34 vendethiel m: sub circumfix:<d" ">(Str $s) { "foo: $s" }; say d"abc def"
09:34 camelia rakudo-moar 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/QMHPABbXStâ�¤Undeclared routines:â�¤    abc used at line 1. Did you mean 'abs'?â�¤    def used at line 1â�¤â�¤Â»
09:34 masak FROGGS: so, we need a new way to define .lines
09:34 vendethiel masak: if that ^ doesnt work either, indeed :p
09:35 masak vendethiel: yeah, you need to delegate down to another grammar, basically.
09:35 vendethiel masak: ... or use d[""]; maybe
09:35 vendethiel that's cheating tho
09:35 masak m: say "sd\r\nsdf\rr".split(/\n/).perl
09:35 camelia rakudo-moar 4a7429: OUTPUT«("sd", "sdf", "r").list␤»
09:36 dalek rakudo/nom: bf66354 | (Tobias Leich)++ | src/core/IO/Handle.pm:
09:36 dalek rakudo/nom: unbreak .lines on parrot, colomon++
09:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf66354bd2
09:36 masak can anyone poke holes in the above definition of .lines?
09:39 FROGGS I am going to fix $*EXECUTABLE first...
09:41 PersonX joined #perl6
09:42 xinming joined #perl6
09:47 virtualsue joined #perl6
09:49 PersonX joined #perl6
09:51 ClarusCogitatio joined #perl6
09:53 PersonX joined #perl6
10:10 no-doz joined #perl6
10:32 dalek Inline-Perl5: 9e8a52c | nine++ | inline_perl5.pl:
10:32 dalek Inline-Perl5: Bring the inline_perl5.pl demo script up to date.
10:32 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/9e8a52c5a0
10:42 ClarusCogitatio joined #perl6
10:51 Timbus m: say "asdf\n".split(/\n/).perl
10:51 camelia rakudo-moar 4a7429: OUTPUT«("asdf", "").list␤»
10:51 Timbus hmm
10:54 masak m: say "asdf\n".lines.perl
10:54 camelia rakudo-moar 4a7429: OUTPUT«("asdf",).list␤»
10:54 masak yeah.
10:54 masak hmm
10:55 Timbus split(/[.+] +% \n/) or whatever
10:55 Timbus er
10:55 Timbus .. i cant remember how to use the +%
10:56 masak clearly not ;)
10:56 masak maybe .comb(/<(\N*)> \n?/) would do the trick?
10:56 masak oh, but it matches the empty string, so, um.
10:56 masak m: say "abc".comb(/.?/)
10:57 camelia rakudo-moar 4a7429: OUTPUT«a b c ␤»
10:57 masak m: say "abc".comb(/.?/).perl
10:57 camelia rakudo-moar 4a7429: OUTPUT«("a", "b", "c", "").list␤»
10:57 masak curious. it matches the empty string *once*.
10:58 Rotwang joined #perl6
10:59 Timbus how about .trim.split(/\n/)
11:00 masak m: say lines("\n\n\n\n\n\n\n\nfoo\n\n\n\n\n\n\n").perl
11:00 camelia rakudo-moar 4a7429: OUTPUT«("", "", "", "", "", "", "", "", "foo", "", "", "", "", "", "").list␤»
11:00 masak doesn't seem to be it :)
11:01 Timbus what does trim trim D:
11:01 Timbus i meant chomp
11:01 Timbus agh
11:01 masak heh :)
11:02 Timbus i didnt even know perl had a .trim.. what is wrong with me
11:02 masak m: say "asdf\n".chomp.split("\n").perl
11:02 camelia rakudo-moar 4a7429: OUTPUT«("asdf",).list␤»
11:02 masak I think I like that definition.
11:03 masak m: say "sd\r\nsdf\rr".chomp.split("\n").perl
11:03 Timbus uh
11:03 masak hello? camelia?
11:03 camelia rakudo-moar 4a7429: OUTPUT«("sd\r", "sdf\rr").list␤»
11:03 masak oh.
11:04 masak m: say "sd\r\nsdf\rr".chomp.split(/\n/).perl
11:04 camelia rakudo-moar 4a7429: OUTPUT«("sd", "sdf", "r").list␤»
11:04 masak that seems to come out right, too.
11:04 Timbus wait, what just happened there
11:04 masak hm?
11:05 Timbus evalbot bug?
11:05 masak please be more specific. what do you consider a bug?
11:06 Timbus i see. i didnt see the "quotes"
11:06 Timbus your input had a matching length so it threw me off
11:08 masak I'd be happy to change the lines() spec to .chomp.split("\n") -- just gonna wait for a bit and see if more comments roll in.
11:09 masak er, .split(/\n/), dangit
11:09 Timbus it's a simple enough definition. i dont know if it's the current implementation though
11:09 Timbus m: say "sd\r\nsdf\rr".lines.perl
11:09 camelia rakudo-moar 4a7429: OUTPUT«("sd\r", "sdf\rr").list␤»
11:11 kurahaupo joined #perl6
11:20 brrt joined #perl6
11:26 Timbus aaaagh thats the .lines method for a string acting strange, not the .lines method for an IO handle. -_-
11:26 Timbus no wonder i couldnt see it
11:26 masak :)
11:28 Timbus its using .index("\n"
11:28 Timbus no good
11:40 masak right, that just ain't to spec.
11:50 leont Proc::Async is sometimes eating my output, and sometimes randomly dying with «non-invokable object is non-invokable»
11:51 leont Of course, this is all non-deterministic
11:58 leont Also, sometimes the tap handlers is called after &done, that can't be right either I assume
12:00 nbrown___ joined #perl6
12:01 brrt leont: on moarvm?
12:01 leont Yes
12:01 FROGGS_ joined #perl6
12:05 leont I guess it's a scheduling issue, the scheduling of &done being independent from the scheduling of the &tap
12:06 brrt yeah, iirc there have been issues with that on moar
12:06 leont act seems to be doing better than tap though
12:06 moritz leont++ # flushing out conc bugs
12:06 brrt but... i don't know anything about that
12:06 brrt yeah leont++ indeed
12:07 leont (better still not being right)
12:09 brrt :-)
12:16 ggoebel1111113 joined #perl6
12:19 tinyblak joined #perl6
12:23 Ven joined #perl6
12:29 tinyblak joined #perl6
12:31 leont http://paste.scsys.co.uk/421857
12:34 eiro joined #perl6
12:40 tinyblak_ joined #perl6
12:43 leont I just wished I was better at distinguishing "this is a bug in rakudo" from "this is a bug in my code" :-s
12:44 lestrrat joined #perl6
12:59 vendethiel .oO( this is a bug in my human )
13:39 tadzik masak: no, but I can make one (synopsebot repo)
13:40 tadzik masak: here: https://github.com/tadzik/synopsebot
13:51 aborazmeh joined #perl6
13:54 brrt uhm, how is MOAR_REVISION actually used in NQP?
13:54 brrt how do we bump it
13:54 brrt just from moar --version i assume
13:58 JimmyZ git describe --tags
13:58 brrt aha
13:58 brrt pls review: https://github.com/perl6/nqp/pull/180
13:59 * brrt bbiab
14:00 JimmyZ Does it need update stage0?
14:00 JimmyZ looks like it does not need to me :/
14:02 jnthn Yes, it needs it.
14:02 jnthn 'cus it uses the op it adds in NQP source
14:03 jnthn Also, I can clean up various things now we've done this bump
14:04 telex joined #perl6
14:05 JimmyZ oh
14:05 timotimo also, the stage0 ought to have become a bunch smaller and it'll have a better optimizer now
14:05 timotimo building nqp ought to be a bit faster all in all now :)
14:06 jnthn aye
14:06 dalek nqp: c6d375f | (Bart Wiegmans)++ | / (14 files):
14:06 dalek nqp: Add force_gc to MoarVM backend
14:06 dalek nqp: review: https://github.com/perl6/nqp/commit/c6d375ffda
14:06 dalek nqp: 9d0873f | jonathan++ | / (14 files):
14:06 dalek nqp: Merge pull request #180 from bdw/master
14:06 dalek nqp:
14:06 dalek nqp: Add force_gc to MoarVM backend
14:06 dalek nqp: review: https://github.com/perl6/nqp/commit/9d0873f5fa
14:07 timotimo (though each time we stage0 rebuild, the initial nqp clone takes a bit longer ...)
14:08 JimmyZ how about spliting the .moarvm files in submodule?
14:08 jnthn How would that help? Then you'd just have to clone the submodule...
14:09 jnthn Not to mention submodules are a PITA for bisecting.
14:09 JimmyZ we can always re-create submodule which contains .moarvm/.jar/.pbc to avoids repo bigger
14:10 JimmyZ just a adivce :P
14:10 JimmyZ *advise
14:11 timotimo well, if the stage0 files are in a submodule, you could clone the sumbodule with --depth=1
14:11 jnthn Sounds like "cure worse than disease" :)
14:12 timotimo yup
14:12 FROGGS[mobile] looks like I have a patch for $*EXECNAME on parrot... just need to test it on more platforms
14:12 jnthn FROGGS[mobile]++
14:17 timotimo already tested it on your phone, have you? :)
14:18 FROGGS[mobile] hehe, I wish
14:18 FROGGS[mobile] BlackBerry--
14:20 dalek rakudo-star-daily: 3e3a0f6 | coke++ | log/ (14 files):
14:20 dalek rakudo-star-daily: today (automated commit)
14:20 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/3e3a0f65da
14:20 dalek perl6-roast-data: b2cc9b3 | coke++ | / (6 files):
14:20 dalek perl6-roast-data: today (automated commit)
14:20 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/b2cc9b34a6
14:20 brrt joined #perl6
14:21 [Coke] no change in daily run. anyone wants to get rakudo-m clean, please fix/fudge integration/99problems-51-to-60.t
14:23 [Coke] FROGGS[mobile]: (control operator) yes, that's the thing that's killing the JVM on the last 2 runs.
14:23 [Coke] jnthn broke it. the commit id's in the backlog.
14:24 masak tadzik++ # https://github.com/tadzik/synopsebot
14:25 masak jnthn: synopsebot is in p5, apparently.
14:25 FROGGS[mobile] [Coke]: I'll take a look at some point if nobody beats me to it
14:26 jnthn masak: Oh...I'd somehow thought it was in 6...
14:26 [Coke] FROGGS[mobile]: oooh, that error text shows up in a few places in the logs.
14:26 kaare_ joined #perl6
14:27 FROGGS[mobile] [Coke]: I'll find it
14:29 tadzik it can very easily become p6
14:29 jnthn ++tadzik ;)
14:33 guru joined #perl6
14:37 masak tadzik: https://github.com/tadzik/synopsebot/pull/1
14:50 xenoterracide joined #perl6
14:54 timotimo tadzik: yeah, just put "use v6" in the first line and then fix the few errors and warnings that result :)
14:54 dolmen joined #perl6
15:02 eiro joined #perl6
15:07 JimmyZ_ joined #perl6
15:08 * brrt wonders if lolsql still works
15:15 jnthn It's untouched for a long, long time...
15:38 davido_ joined #perl6
15:49 eiro joined #perl6
15:55 PersonX joined #perl6
15:58 anaeem1 joined #perl6
16:01 brrt left #perl6
16:02 dalek specs: 45844fa | (Stéphane Payrard)++ | S99-glossary.pod:
16:02 dalek specs: S99: added more entries, fixed typos, added some
16:02 dalek specs: review: https://github.com/perl6/specs/commit/45844fae1d
16:04 lizmat joined #perl6
16:05 PersonX joined #perl6
16:08 tadzik masak: makes sense :)
16:09 synopsebot joined #perl6
16:10 PersonX joined #perl6
16:11 tadzik I took a 2-hour midday nap and I'm still sleepy :/
16:12 leedo joined #perl6
16:17 raiph joined #perl6
16:22 PersonX joined #perl6
16:29 woolfy joined #perl6
16:29 PersonX joined #perl6
16:32 PersonX joined #perl6
16:42 dalek specs: a063ea3 | (Stéphane Payrard)++ | S99-glossary.pod:
16:42 dalek specs: S99: added or filled entries for pseudo-scopes
16:42 dalek specs: review: https://github.com/perl6/specs/commit/a063ea3f4d
16:43 M_o_C joined #perl6
16:46 PersonX joined #perl6
16:47 bjz joined #perl6
16:49 PersonX joined #perl6
16:50 eiro_ joined #perl6
16:52 PersonX joined #perl6
16:56 colomon joined #perl6
17:01 BizarreCake joined #perl6
17:19 nine brrt++ # Can I access HLL::Backend::MoarVM::force_gc() from Perl 6?
17:21 PersonX joined #perl6
17:22 zakharyas joined #perl6
17:22 eiro_ joined #perl6
17:26 PersonX joined #perl6
17:28 vendethiel xfix: I didn't get your comment on coffeescript
17:28 vendethiel oh, you just added a reference
17:29 xfix I just added a reference.
17:32 slavik joined #perl6
17:33 bjz_ joined #perl6
17:37 dolmen joined #perl6
17:44 itz is rakudo.org down?
17:47 ClarusCogitatio joined #perl6
17:53 tadzik not for me
17:55 itz oh its back .. maybe the perl5 zealots called off their DDOS :)
17:56 ClarusCogitatio joined #perl6
18:05 ClarusCogitatio joined #perl6
18:09 btyler http://www.isup.me/rakudo.org disagrees (shortened version of downforeveryoneorjustme.com)
18:09 btyler (still looks down, that is)
18:09 Timbus jnthn, doing too much work in a gtk callback seems to.. freeze the thread? which is really odd. it will 'unfreeze' the moment you poke the gui though.. very odd considering I'm using .stable ...
18:10 guru joined #perl6
18:11 Timbus jnthn, here's a mostly golfed case i guess?: https://gist.github.com/TiMBuS/1afd922304e3c1d1cb22  just keep poking the input box and eventually your stdout will pause. eh
18:12 PersonX joined #perl6
18:15 ClarusCogitatio joined #perl6
18:20 itz I've put a planeteria replacement up at
18:20 itz http://pl6anet.org/
18:20 itz it's using a perl5 RSS feed reader but hopefully it will use Perl 6 shortly
18:22 PersonX joined #perl6
18:26 masak nine: why do you want to force GC?
18:26 hugme joined #perl6
18:27 tadzik perhaps he has some remaining time in the current rendering frame :)
18:28 masak oh, good point :)
18:28 masak carry on, then
18:29 geekosaur forcing gc strikes me as a thing that people trained by how JVMs work expect to do/need
18:29 tadzik now we need force_gc_unless_it_takes_more_than(int)
18:30 masak tadzik: dependency: time machine
18:30 tadzik hm, not quite
18:30 tadzik as long as you can rollback the changes in 0 time :D
18:31 masak anyway, I wasn't implying forcing GC is wrong for what nine++ wants to do -- merely curious why it's needed
18:33 vendethiel "optimization"
18:33 vendethiel ^ the answer to all these strange requests :P
18:35 moritz no, iirc nine++ wants to test that stuffs survives the round-trip to p5 through a GC run
18:36 moritz or that stuff only referenced from p5 survivevs a gC run
18:37 vendethiel moritz: okay, "perl" is another answer then :p
18:37 dwarring joined #perl6
18:38 nine moritz: yep, that's the reason
18:38 nine checking to see if stuff _only_ referenced from P5 survives a GC run
18:41 eiro joined #perl6
18:42 [Coke] nqp head failing to build moar on os x
18:44 nwc10 OK, rakudo can now run -e 'print "Hello world\n"' faster than Perl 5 loading Moose can.
18:44 diakopter o_O
18:44 [Coke] nwc10: nice
18:45 nwc10 I still haven't tried to dig into why I have to have dumbbench run it under env
18:45 nwc10 but if I run it with env, and run various perl 5 binaries with env, rakudo is maybe 10% faster.
18:46 nwc10 Moo is an order of magnitude faster than Moose, and plain perl 5 about an order of magnitude faster again.
18:49 itz how do I build everything with another compiler? " CC="gcc47" perl Configure.pl ... " doesn't seem to work?
18:51 dwarring joined #perl6
18:51 itz oh I see
18:52 moritz you probably need --moar-option=--cc=gcc47 or so
18:54 itz yeah I'm just building moar first to avoid bothering with the "or so" :)
19:01 vendethiel m: my @a = <ep1 ep2 ep3>; say "$_ {s/ep/my ep/}" for @a;
19:01 camelia rakudo-moar 4a7429: OUTPUT«ep1 ␤ep2 ␤ep3 ␤»
19:02 vendethiel masak: remember my "subset" hack to create a type alias?
19:06 vendethiel that has a disadvantage: you can't get back the original type
19:06 * vendethiel sometimes forget to press enter randomly ._.
19:06 molaf joined #perl6
19:10 eiro joined #perl6
19:11 moritz m: subset Foo of Int where * %% 2; say Foo.^refinee
19:11 camelia rakudo-moar 4a7429: OUTPUT«(Int)␤»
19:11 moritz vendethiel: ^^ see above; that's how you get the base type for a subset type
19:11 vendethiel moritz: hehe; thanks!
19:12 moritz and no, that's not documented; I found it by looking into src/Perl6/Metamodel/SubsetHOW.nqp
19:12 cognome joined #perl6
19:15 vendethiel moritz: that one was obvious
19:17 moritz m: say (subset Foo of Int).HOW.^name
19:17 camelia rakudo-moar 4a7429: OUTPUT«Perl6::Metamodel::SubsetHOW␤»
19:21 BizarreCake joined #perl6
19:25 FROGGS p: say say nqp::p6box_s(pir::interpinfo__Si(pir::const::INTERPINFO_EXECUTABLE_FULLNAME))
19:25 camelia rakudo-parrot 4a7429: OUTPUT«./rakudo-inst/bin/perl6-p␤True␤»
19:29 japhb Is it possible to get a binding to a reduced op?  I want to be able to pass [+] to a function, for example.
19:30 FROGGS m: say &[+]
19:30 camelia rakudo-moar 4a7429: OUTPUT«sub infix:<+> ($?, $?) { #`(Sub+{<anon>}+{Precedence}|64049504) ... }␤»
19:31 japhb FROGGS: That's a reference to + though, not the reduce over +.
19:31 japhb s/over/using/
19:31 FROGGS isnt reduce a syntactic thing?
19:32 FROGGS m: my $thing := &[+]; say [[$thing]] 1, 2, 3, 4
19:32 camelia rakudo-moar 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6UQ4ckZf0wâ�¤Two terms in a rowâ�¤at /tmp/6UQ4ckZf0w:1â�¤------> [32mmy $thing := &[+]; say [[$thing]] [33mâ��[31m1, 2, 3, 4[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix stopper…»
19:32 FROGGS m: my &thing := &[+]; say [[&thing]] 1, 2, 3, 4
19:32 camelia rakudo-moar 4a7429: OUTPUT«10␤»
19:33 japhb Well, I could always send '-> *@_ { [+] @_ }' or 'reduce.assuming(&[+])', I suppose, but that seems rather wordy
19:33 PersonX joined #perl6
19:34 FROGGS I don't understand...
19:34 FROGGS the function you pass it to has to use the subroutine ref as a reduce op, no?
19:34 japhb FROGGS: What I'm looking for is to satisfy: sub apply(&code, *@vals) { code(@vals) }
19:34 FROGGS ahh
19:35 FROGGS m: sub apply(&code, *@vals) { [[&code]] @vals }; say apply(&[+], 1, 2, 3, 4, 5)
19:35 camelia rakudo-moar 4a7429: OUTPUT«15␤»
19:35 FROGGS japhb: can you write it that way?
19:36 FROGGS m: sub apply(&code, *@vals) { [[&code]] @vals }; say apply(infix:<+>, 1, 2, 3, 4, 5)
19:36 camelia rakudo-moar 4a7429: OUTPUT«Type check failed in binding &code; expected 'Callable' but got 'Int'␤  in sub apply at /tmp/JfTwgOesmy:1␤  in block <unit> at /tmp/JfTwgOesmy:1␤␤»
19:36 FROGGS m: sub apply(&code, *@vals) { [[&code]] @vals }; say apply(&infix:<+>, 1, 2, 3, 4, 5)
19:36 camelia rakudo-moar 4a7429: OUTPUT«15␤»
19:52 carlin is it safe to update rakudo, or will that cause NativeCall to break?
19:52 FROGGS carlin: NativeCall will work with rakudo HEAD
19:53 FROGGS carlin: but you have to rebootstrap panda
19:54 carlin okay great, just seen some talk about breakage in the backlog and wasn't sure if it was fixed
19:56 FROGGS carlin: it was broken for about 20 hours or so
19:57 FROGGS carlin++ # it is good to read the irc logs here if you are working with HEAD
20:12 dalek DBIish: ce996b0 | moritz++ | lib/DBDish/ (3 files):
20:12 dalek DBIish: Switch { * } to { ... } for native subs
20:12 dalek DBIish:
20:12 dalek DBIish: it seems rakudo does not support * anymore here
20:12 dalek DBIish: review: https://github.com/perl6/DBIish/commit/ce996b01bc
20:17 FROGGS moritz: but jnthn fixed that... no?
20:18 moritz FROGGS: I had no idea
20:18 lizmat good *, #perl6!
20:18 FROGGS hi lizmat
20:19 lizmat can someone give Jim Keenan a reply to his question (Status of Perl6 on JVM) on perl-users?
20:19 lizmat the only thing I can really say from memory, is "it does all that you can do on MoarVM, except Signals and Proc::Async"
20:20 FROGGS lizmat: some star modules fail
20:20 FROGGS that's why there is no jvm-*
20:20 tadzik perhaps a feature matrix should be shown
20:20 dwarring r:say
20:21 FROGGS r: say
20:21 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument�at /tmp/tmpfile:1�------> [32msay[33m�[31m<EOL>[0m…»
20:21 diakopter r: &say
20:21 camelia rakudo-{parrot,jvm,moar} 4a7429: ( no output )
20:21 cognome joined #perl6
20:21 FROGGS r: &diakopter
20:21 camelia rakudo-{parrot,jvm,moar} 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Undeclared routine:â�¤    &diakopter used at line 1â�¤â�¤Â»
20:21 FROGGS :P
20:22 dwarring argless 'say' doesn't output a new-line anymore?
20:22 diakopter pugs: say
20:22 camelia pugs: OUTPUT«␤»
20:22 vendethiel dwarring: no, it doesn't
20:22 SamuraiJack_ joined #perl6
20:22 dwarring hmmm
20:23 lizmat m: say()
20:23 camelia rakudo-moar 4a7429: OUTPUT«␤»
20:23 lizmat m: say
20:24 camelia rakudo-moar 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/KLb_oIPeQeâ�¤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentâ�¤at /tmp/KLb_oIPeQe:1â�¤------> [32msay[33mâ��[31m<EOL>[0mâ�¤    e…»
20:24 dwarring m: say()
20:24 camelia rakudo-moar 4a7429: OUTPUT«␤»
20:24 lizmat so say is not the same as say()
20:24 lizmat it's just the bare 'say' that's being picked on by the parser :-)
20:24 vendethiel zi term
20:24 dwarring r: time
20:25 camelia rakudo-{parrot,jvm,moar} 4a7429: ( no output )
20:25 dwarring yeah
20:25 tadzik lizmat: perhaps we should change that to an argless say() in the setting
20:25 lizmat tadzik: ??
20:26 anaeem1 joined #perl6
20:26 tadzik lizmat: throwing the unsupported use of bare say(), so it would pick up both say; and say();
20:26 tadzik although parse time is better for this sort of thing I guess
20:27 lizmat I think this was discussed in the past days and the consensus was that only the bare 'say' would need to be caught
20:27 tadzik mhm
20:27 lizmat m: my @a; say @a  # how would this otherwise work ?
20:27 camelia rakudo-moar 4a7429: OUTPUT«␤»
20:28 lizmat from an optimization perspective, I actually added a candidate for say()
20:29 lizmat but without that, how would you know the difference between say () and say(@emptyarray)
20:31 timotimo m: my &foo := &[[+]]; foo(1, 2, 3, 4).say
20:31 camelia rakudo-moar 4a7429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/rDmGLetoUYâ�¤Variable '&infix:<[+]>' is not declaredâ�¤at /tmp/rDmGLetoUY:1â�¤------> [32mmy &foo := &[[+]][33mâ��[31m; foo(1, 2, 3, 4).say[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
20:31 tadzik m: multi zay() { die "bare say" }; multi zay(@list) { say "is ok" }; zay()
20:31 camelia rakudo-moar 4a7429: OUTPUT«bare say␤  in sub zay at /tmp/UAQ4GbGL6T:1␤  in sub zay at /tmp/UAQ4GbGL6T:1␤  in block <unit> at /tmp/UAQ4GbGL6T:1␤␤»
20:31 timotimo aaw
20:31 tadzik m: multi zay() { die "bare say" }; multi zay(@list) { say "is ok" }; my @a; zay(@a)
20:31 camelia rakudo-moar 4a7429: OUTPUT«is ok␤»
20:31 tadzik lizmat: like that :)
20:31 tadzik oh, might not work with a slurpy
20:31 tadzik m: multi zay() { die "bare say" }; multi zay(*@list) { say "is ok" }; my @a; zay(@a)
20:31 camelia rakudo-moar 4a7429: OUTPUT«is ok␤»
20:32 tadzik no, works
20:32 lizmat yeah, but I added the say() candidate only for performance reasons
20:33 lizmat if we want to have it also die, then we should do that earlier at compile time, not at runtime
20:33 tadzik aye
20:38 timotimo m: my @a = 1, 2, 3, 4, 5; my Mu $a := nqp::iter(@a); while nqp::shift($a) -> $item { say $item }
20:38 camelia rakudo-moar 4a7429: OUTPUT«===SORRY!===␤No registered operation handler for 'iter'␤»
20:38 timotimo hmm
20:52 PZt joined #perl6
20:57 dalek nqp: fd61784 | (Elizabeth Mattijsen)++ | src/vm/moar/profiler/template.html:
20:57 dalek nqp: Fix spello
20:57 dalek nqp: review: https://github.com/perl6/nqp/commit/fd61784d6a
21:16 eiro joined #perl6
21:17 avar joined #perl6
21:21 betterworld joined #perl6
21:22 leont joined #perl6
21:29 dalek rakudo/nom: e9181cd | (Elizabeth Mattijsen)++ | src/core/ (2 files):
21:29 dalek rakudo/nom: Make Dynamic variable not found a proper exception
21:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e9181cd01e
21:32 Alula joined #perl6
21:32 dalek roast: 922b475 | (Elizabeth Mattijsen)++ | S02-types/WHICH.t:
21:32 dalek roast: Check for X::Dynamic::NotFound
21:32 dalek roast: review: https://github.com/perl6/roast/commit/922b475afc
21:35 yoleaux joined #perl6
21:37 Bucciarati joined #perl6
21:47 bloonix joined #perl6
21:49 cooper_ joined #perl6
21:50 Alula joined #perl6
22:05 avuserow joined #perl6
22:07 jack_rabbit joined #perl6
22:17 betterworld joined #perl6
22:22 nine joined #perl6
22:25 yoleaux joined #perl6
22:44 telex joined #perl6
22:45 geekosaur joined #perl6
22:45 raiph joined #perl6
22:52 hobbs joined #perl6
23:08 esaym153 joined #perl6
23:12 dalek rakudo/nom: 7f6c240 | (Elizabeth Mattijsen)++ | src/core/stubs.pm:
23:12 dalek rakudo/nom: Stub the new INITIALIZEr for dynamic system vars
23:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f6c24097b
23:12 dalek rakudo/nom: 9ab4e75 | (Elizabeth Mattijsen)++ | src/core/Distro.pm:
23:12 dalek rakudo/nom: New initializer for $*DISTRO $*OS $*OSVER
23:12 lizmat sorry dalek
23:12 xragnar_ joined #perl6
23:12 dalek joined #perl6
23:13 lizmat working on the last issues with @INC initializing
23:14 timotimo cool, thank you!
23:15 lizmat that should take off another .03 seconds of bare startup time (0.177 on my machine, down from 0.210)
23:15 lizmat about 15%
23:15 lizmat but first: sleep!
23:15 lizmat good night, #perl6!
23:16 timotimo great. we're getting somewhere acceptable :)
23:17 eiro joined #perl6
23:21 carlin m: sub foo returns Array[Hash] { my Hash @x; return @x }; foo
23:21 camelia rakudo-moar 4a7429: OUTPUT«Type check failed for return value; expected 'Array[Hash]' but got 'Array[Hash]'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:646␤  in sub foo at /tmp/loTu2iYphs:1␤  in block <unit> at /tmp/loTu2iYphs:1␤␤»
23:22 timotimo d'oh ...
23:26 Alina-malina joined #perl6
23:27 nbrown joined #perl6
23:29 BenGoldberg joined #perl6
23:31 BenGoldberg joined #perl6
23:36 eiro joined #perl6
23:36 aborazmeh joined #perl6
23:45 [Coke] (jvm) plus also the build is super broken.
23:54 kurahaupo_ joined #perl6
23:59 chris__ joined #perl6
23:59 chris__ hi

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo