Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-07-16

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:14 mohij_ joined #perl6
00:29 laouji joined #perl6
00:45 laouji joined #perl6
00:51 atroxaper joined #perl6
01:08 skids joined #perl6
01:10 BenGoldberg joined #perl6
01:16 Hor|zon_ joined #perl6
01:19 rmgk_ joined #perl6
01:38 tony-o hoelzro: that pipe problem for me isn't related to swallowing errors afaik
01:38 xinming joined #perl6
01:39 tony-o the problem is more related to libuv handles needing to be copied to be access cross thread and that doesn't happen in MOAR
01:40 dayangkun joined #perl6
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
01:59 Calibellus joined #perl6
02:02 gfldex joined #perl6
02:04 yeahnoob joined #perl6
02:09 noganex joined #perl6
02:17 kaare_ joined #perl6
02:24 amurf joined #perl6
02:40 vendethiel joined #perl6
02:50 Celelibi joined #perl6
03:09 hoelzro tony-o: alright, thanks for confirming
03:10 hoelzro I've only seen it with sockets myself, and I thought I reproduced with regular files
03:10 hoelzro I'll dig into $*IN as well
03:37 dalek nqp: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm:
03:37 dalek nqp: Print out some Moar information
03:37 dalek nqp: review: https://github.com/perl6/nqp/commit/ccd06bf6c1
03:38 travis-ci joined #perl6
03:38 travis-ci NQP build errored. Rob Hoelz 'Print out some Moar information'
03:38 travis-ci https://travis-ci.org/perl6/nqp/builds/71190715 https://github.com/perl6/nqp/compare/ae07ba325ef1...ccd06bf6c1c9
03:38 travis-ci left #perl6
03:39 dalek nqp/travis-testing: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm:
03:39 dalek nqp/travis-testing: Print out some Moar information
03:39 dalek nqp/travis-testing: review: https://github.com/perl6/nqp/commit/ccd06bf6c1
03:40 atroxaper joined #perl6
03:48 vendethiel joined #perl6
03:49 clkao joined #perl6
03:49 SmokeMachine joined #perl6
03:51 laouji joined #perl6
04:02 pnu joined #perl6
04:11 chansen_ joined #perl6
04:18 amurf joined #perl6
04:35 khw joined #perl6
04:36 ggherdov joined #perl6
04:37 Alina-malina joined #perl6
04:38 dayangkun joined #perl6
05:36 atroxaper joined #perl6
05:44 aborazmeh joined #perl6
05:44 aborazmeh joined #perl6
05:45 laouji joined #perl6
05:47 geekosaur joined #perl6
05:48 diana_olhovik joined #perl6
06:12 mr-foobar joined #perl6
06:14 [Sno] joined #perl6
06:16 mr-foobar joined #perl6
06:17 vendethiel joined #perl6
06:17 FROGGS joined #perl6
06:24 mr-foobar joined #perl6
06:27 domidumont joined #perl6
06:32 domidumont joined #perl6
06:35 _mg_ joined #perl6
06:41 jonathan__ joined #perl6
06:45 zakharyas joined #perl6
06:49 CIAvash joined #perl6
07:01 vendethiel joined #perl6
07:04 araujo joined #perl6
07:21 vendethiel- joined #perl6
07:29 araujo joined #perl6
07:31 geekosaur joined #perl6
07:32 jaffa4 joined #perl6
07:32 jaffa4 hi all
07:32 RabidGravy marnin
07:32 darutoko joined #perl6
07:33 jaffa4 I have a small class example.. Should I work?
07:33 jaffa4 https://gist.github.com/jaffa4/65d3e848cf08024957b0
07:33 jaffa4 if you run it you should get 4
07:35 moritz jaffa4: no
07:35 masak morning, #perl6
07:35 moritz jaffa4: only attributes with accessors are automaticaly initialized by new/bless
07:35 moritz wouldn't be very private if you could initialize it from the outside, no?
07:35 masak jaffa4: easy fix: write `has $.b;` with a dot
07:36 masak jaffa4: which means that you can also writhe `$c.b` instead of `$c.get` -- double win :)
07:36 jaffa4 and what is the other way?
07:36 jaffa4 What is the weather like in Sweden?
07:37 masak sunny.
07:38 masak jaffa4: the other way, the one you wrote? `has $b` is just a bad way to write `has $!b`
07:38 moritz the other way is to write your own BUILD method that sets the attribute
07:38 [ptc] \quit
07:38 [ptc] doh!
07:38 masak [ptc]: bye!
07:47 vendethiel joined #perl6
07:51 * [ptc] needed to do a maintenance reboot ...
07:54 jnthn morning, #perl6
07:54 oha m: say time-1;
07:54 camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U1XYBO6oSv␤Undeclared routine:␤    time used at line 1␤␤»
07:54 oha m: say time -1;
07:54 camelia rakudo-moar 89847f: OUTPUT«1437033272␤»
07:55 oha didn't expected it, despite i've used method-names like this
07:55 oha m: say time()-1
07:55 camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wiVssWgBAL␤Undeclared routine:␤    time used at line 1␤␤»
07:56 moritz time is a term, not a subroutine
07:56 moritz though I still wonder if maybe that causes more confusion than it's worth
07:56 moritz m: sub mytime() { time }; say mytime - 1
07:56 camelia rakudo-moar 89847f: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub mytime at /tmp/0QWSaCwmSU:1␤  in block <unit> at /tmp/0QWSaCwmSU:1␤␤»
07:57 moritz why don't I get a compile-time "will never work" error here?
07:57 oha moritz, i actually thought that part of the confusion was the dash
07:57 moritz oha: yes
07:58 moritz oha: it's just that time() doesn't work because it's not a sub, and it's not a sub so that 'time -1' can work
07:59 oha otherwise the -1 will be considered an argument, i see that now
07:59 oha but so, if it is a term, why time -1 works, and not time-1?
08:00 oha if time-1 is parsed as a "ident" then why it complains about "time" and not "time-1"?
08:03 masak m: sub mytime() { time }; say mytime 5
08:03 camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/L5DhaYWctd␤Calling mytime(int) will never work with declared signature ()␤at /tmp/L5DhaYWctd:1␤------> 3sub mytime() { time }; say 7⏏5mytime 5␤»
08:03 masak moritz: because `5` is a constant, but `-1` is a very complex expression :P
08:04 dakkar joined #perl6
08:04 telex joined #perl6
08:05 * masak thinks that if Perl 6 just decided that -1 is a constant too (like in parameter context), that would eliminate a set of confusing cases and the world would be a better place
08:07 jaffa4 Why is binding used in BUILD method example?
08:07 oha masak, although, say time-$x; would fail anyway
08:07 jaffa4 in there http://doc.perl6.org/language/objects#Object Construction
08:07 masak jaffa4: which example is that?
08:08 jaffa4 section object construction
08:09 jaffa4 class EncodedBuffer <<<<<<<
08:11 oha i'm actually thinkg, is abc-123() a valid method name? it seems that after a dash you need a letter, as in a12-b34() so why is time-1 or time-$x confusing at all?
08:11 oha (sorry if i'm silly, i'm just really curious)
08:12 jnthn abc-123 ain't a valid method (or sub) name
08:13 jnthn std: say time-1
08:13 camelia std 28329a7: OUTPUT«ok 00:01 136m␤»
08:13 jnthn In Rakudo's grammar we have:
08:13 jnthn token term:sym<time> { <sym> <.end_keyword> }
08:14 jnthn Where
08:14 jnthn token end_keyword {
08:14 jnthn » <!before <[ \( \\ ' \- ]> || \h* '=>'>
08:14 jnthn }
08:14 jnthn And that - in there is why we reject it
08:14 jnthn I don't know off hand whether it's Rakudo or STD that's out of line here.
08:15 oha std: say now-time;
08:15 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared routine:␤     'now-time' used at line 1␤Check failed␤FAILED 00:00 135m␤»
08:15 FROGGS joined #perl6
08:15 jnthn That's certainly a sub name, and wins on longest token semantics.
08:15 oha jnthn, yeah, i sort of expected it
08:16 jaffa4 What is the implementation of the build-in parser?
08:16 jaffa4 What type of parser is it?
08:17 jnthn jaffa4: It's implemented as a Perl 6 grammar, which is a PEG, with longest declarative token as the key disambiguator
08:20 amurf joined #perl6
08:20 rurban joined #perl6
08:25 abraxxa joined #perl6
08:27 RabidGravy so I halved the time to encode a wav to mp3 by cutting out the intermediate arrays - if I could cut out the CArray -> Buf -> .write step it might even be usable
08:31 jaffa4 jnthn: is it packrat parser?
08:32 llfourn joined #perl6
08:32 espadrine joined #perl6
08:33 Tad_ joined #perl6
08:34 Tad_ Is perl 6 arrays different from perl 5 arrays
08:34 jaffa4 in what way?
08:34 jnthn They're different in various ways.
08:35 llfourn joined #perl6
08:35 jnthn jaffa4: Not sure off hand
08:36 jnthn Unlikely though
08:37 VinceDee joined #perl6
08:37 llfourn_ joined #perl6
08:46 vendethiel joined #perl6
08:50 coffee`_ joined #perl6
08:55 g4 joined #perl6
08:55 espadrine joined #perl6
09:00 masak Tad_: could you be more specific? there surely are ways to use Perl 6 arrays exactly like Perl 5 arrays, but that doesn't mean they're completely the same.
09:20 vendethiel joined #perl6
09:23 ShimmerFairy joined #perl6
09:26 moritz Perl 6 arrays are potentially lazy, so yes, they are different
09:26 moritz also, they have methods
09:26 moritz Perl 5 arrays aren't objects
09:28 jaffa4 number of elements:: @a.elems....
09:31 moritz though you can still just use the array in numeric context to get the number of elements
09:33 jdv79 is there  "slush" period coming up?
09:34 jdv79 sept sometime maybe?
09:36 jnthn I really hope by sept we'll be done with the major semantic tweaks.
09:36 jnthn And can focus on bugs, performance, polish.
09:37 jdv79 very nice
09:39 jnthn The GLR and multi-dim stuff are the two big areas, but I'll be giving concurrency stuff a good going over in the near future too
09:39 CIAvash is 'is cached' for methods going to be implemented anytime soon?
09:41 jnthn CIAvash: Well, we talked a bit about how it might be done at some point, at least...
09:41 * jnthn noted that it probably wants to be a per-instance cache
09:45 jaffa4 Is this wrong?  @(%!list{$group}).push:$entry;
09:46 jnthn Don't see why you need the @(...)
09:47 jnthn In fact, putting it almost certainly will break things.
09:47 jaffa4 It did not push
09:47 yakudza omg I thought @{@{%{$blabla notations are left in perl5 (:
09:47 jnthn Yeah, I won't
09:47 jnthn *it
09:47 jnthn It'll probably coerce to a throw-away list, which you push to
09:47 jnthn You just want to %!list{$group}.push: $entry
09:48 jnthn It'll even auto-viv an array
09:48 jnthn If there ain't one there already
09:48 jaffa4 that did not seem to work
09:48 jnthn Then you probably did it wrong.
09:48 jnthn m: my %list; %list{'xxx'}.push: 42; say %list.perl
09:48 camelia rakudo-moar 89847f: OUTPUT«{:xxx([42])}<>␤»
09:49 jnthn m: my %list; %list{'xxx'}.push: 42; say %list<xxx>[0]
09:49 camelia rakudo-moar 89847f: OUTPUT«42␤»
09:49 jnthn yakudza: @{...} surely is
09:49 jnthn m: my $x; @{$x}
09:49 camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zO_lem3d5v␤Unsupported use of @{$x}; in Perl 6 please use @($x)␤at /tmp/zO_lem3d5v:1␤------> 3my $x; @{$x}7⏏5<EOL>␤»
09:50 jnthn But you rarely need it at all
09:50 jnthn Since depending how you want to see it, everything is a reference, or there are no references :)
09:52 yakudza m: my $x = [0..9]; say $x; say @($x);
09:52 camelia rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9␤0 1 2 3 4 5 6 7 8 9␤»
09:53 JimmyZ m: my $x = [0..9]; .say  for $x;
09:53 camelia rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
09:53 JimmyZ m: my @x = [0..9]; .say  for @x;
09:53 camelia rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
09:53 yakudza so now almost no difference between ref to list and list ?
09:54 yakudza I should read about it (:
09:54 jaffa4 m: my %list; %list{'xxx'}.push: 42; say %list.perl;
09:54 camelia rakudo-moar 89847f: OUTPUT«{:xxx([42])}<>␤»
09:56 jaffa4 jnthn:  space matters after :????
09:56 jnthn m: my %list; %list{'xxx'}.push:42; say %list.perl;
09:56 camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3u9FjAm6XD␤Confused␤at /tmp/3u9FjAm6XD:1␤------> 3my %list; %list{'xxx'}.push:7⏏42; say %list.perl;␤    expecting any of:␤        colon pair␤»
09:56 jnthn Yes :)
09:57 jnthn std: my %list; %list{'xxx'}.push:42; say %list.perl; # wonder if it explains any further
09:57 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Confused at /tmp/c9GtaPhw_6 line 1:␤------> 3my %list; %list{'xxx'}.push:7⏏42; say %list.perl; # wonder if it expla␤    expecting any of:␤ coloncircumfix␤ signature␤Parse failed␤FAILED 00:00 139m␤»
09:57 jnthn No :)
09:57 jnthn Makes sense though
09:57 jnthn Since it's potentially ambiguous with a colonpair in a method name.
09:58 jnthn Rakudo does a bit better there in saying what it expected too
09:58 jaffa4 the program did not fail for me, it worked differently
10:08 RabidGravy jnthn, the https://rt.perl.org/Ticket/Display.html?id=125408 appears to have fixed itself for a week or so now, if someone makes a test I'm happy to close it
10:08 Tad_ What is the best perl 5 compiler for windows
10:12 CIAvash m: my $a = [0..9]; .say for $a;
10:12 camelia rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
10:12 CIAvash m: my $a = [0..9]; .say for $a>List;
10:12 camelia rakudo-moar 89847f: OUTPUT«Use of uninitialized value of type List in numeric context  in block <unit> at /tmp/wOowG1oOQo:1␤True␤»
10:13 CIAvash m: my $a = [0..9]; .say for $a.List;
10:13 camelia rakudo-moar 89847f: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
10:13 CIAvash m: my $a = [0..9]; .say for @($a);
10:13 camelia rakudo-moar 89847f: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
10:14 CIAvash m: my @a = [0..9]; say @a[0];
10:14 camelia rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
10:14 Tad_ is rakudo the best compiler for windows
10:15 jaffa4 Is it possible now to add a language to Perl6?
10:16 Tad_ you can add in lua and tcl
10:18 virtualsue joined #perl6
10:20 pez_ joined #perl6
10:21 Guest84398 in perl 6 do you use "say" instead of "print"?
10:22 moritz often, yes
10:23 masak I use both
10:23 masak but `say` definitely more often
10:25 jaffa4 Is it easy to write a module to extend Perl6?
10:25 moritz depends on what exactly you want to extend
10:25 moritz new symbols are generally easy
10:25 jaffa4 what if i added embedded Sql to Perl6?
10:26 Guest84398 Can you use inline assembly with perl6 code
10:26 moritz jaffa4: I think you'd have to write a slang for that
10:26 jaffa4 Does slang work?
10:26 moritz Guest84398: possibly via Inline::C
10:27 moritz jaffa4: not as nicely as we want it to do, but FROGGS++ has written several already
10:27 jaffa4 What did he write?
10:28 moritz jaffa4: http://modules.perl6.org/ search for slang
10:28 moritz 3 are from FROGGS
10:28 vendethiel joined #perl6
10:29 Guest84398 Is there any perl6 compilers that with work with unix shell?
10:29 moritz Guest84398: define "work with"
10:29 moritz you can all rakudo from the shell
10:30 * masak .oO( you can all go to shell! )
10:30 Guest84398 I am trying to automate some commands for a unix server
10:30 moritz so you want to run shell commands
10:30 moritz yes, that works
10:31 oha what about "rakudo in the shell"? :)
10:31 moritz "rakudo in a nutshell"
10:31 vendethiel- joined #perl6
10:34 espadrine joined #perl6
10:34 RabidGravy jaffa4, https://github.com/tony-o/perl6-slang-sql/
10:38 bjz joined #perl6
10:53 itz joined #perl6
10:54 itz morning (just BST)
10:54 RabidGravy :)
10:55 Guest84398 Does perl support inline pascal code?
10:55 moritz Guest84398: are you a troll?
10:55 DrForr Write Inline::Pascal, and sure!
10:56 itz or do pascal in NQP?
10:56 mr-foobar joined #perl6
10:56 RabidGravy troll then
11:00 RabidGravy right, supermarket!
11:12 smls joined #perl6
11:16 gfldex joined #perl6
11:22 DrForr I keep meaning to use Pascal as a test case for parsing, but haven't gotten around to it. Should finish up the ANTLR converter and use that :)
11:29 itz isn't it defined as BNF? (vague memories of CS of decades past)
11:30 DrForr ANTLR? Hardly, closer to PEG or LALR(inf).
11:30 itz no pascal
11:30 DrForr Probably, but it's easier to convert someone else's grammar.
11:30 DrForr And lets me check out the output from the parser converter.
11:31 arnsholt Heh. And here I thought half the fun of writing a compiler is getting the grammar right =D
11:31 arnsholt Probably my computational linguistics background showing
11:32 llfourn joined #perl6
11:33 jnthn People have varying ideas of fun ;)
11:33 arnsholt Definitely =)
11:44 oha I have a situation where i get "Missing or wrong version of dependency" on a module, as soon as i fix it i get the same on another one, and then back to square one
11:44 oha could anyone help? here some more info: https://gist.github.com/anonymous/d953766206a22761896a
11:45 |Tux| joined #perl6
11:49 ely-se joined #perl6
11:50 moritz oha: usually the only remedy is to nuke the install dir, and reinstall everything (including panda)
11:50 oha moritz, so it is something known, no need to report it
11:51 moritz oha: sadly yes
11:52 llfourn joined #perl6
11:57 amurf joined #perl6
12:09 brrt joined #perl6
12:38 hoelzro good morning #perl6
12:57 itz I seem to be having a "nothing works day" maybe finishing the bottle of Club Mate will help
13:00 masak I found https://modelviewculture.com/pieces/the-life-cycle-of-programming-languages interesting and relevant to Perl 6 as it matures.
13:02 oha moritz, didn't worked. i removed moar-nom from rakudobrew and reinstalled it, then panda installed the modules, and got to the same point
13:02 oha i wonder if i forgot something now
13:03 |Tux| joined #perl6
13:04 itz oha: you could check what "rakudobrew nuke" does .. although myself I tend to remove the entire .rakudobrew directory
13:05 oha i noticed it change quite a lot by changing the order of the "use"s
13:24 skids joined #perl6
13:30 cdc m: .say for { :a, :b }, { :c, :d }
13:30 camelia rakudo-moar 89847f: OUTPUT«a => True, b => True␤c => True, d => True␤»
13:30 cdc m: gather take $_ for { :a, :b }, { :c, :d }
13:30 camelia rakudo-moar 89847f: ( no output )
13:30 ely-se left #perl6
13:30 cdc m: my @c := gather take $_ for { :a, :b }, { :c, :d }; .say for @c
13:30 camelia rakudo-moar 89847f: OUTPUT«a => True, b => True␤c => True, d => True␤»
13:31 * cdc found the answer to his question :)
13:35 JimmyZ_ joined #perl6
13:37 FROGGS o/
13:37 yoleaux 15 Jul 2015 15:23Z <lizmat> FROGGS: re http://irclog.perlgeek.de/perl6/2015-07-15#i_10898154 , yes that was intentional
13:37 yoleaux 15 Jul 2015 15:25Z <lizmat> FROGGS: since the error messages could also come from using the sub version, so the prefixing period could be misleading
13:37 yoleaux 15 Jul 2015 15:27Z <lizmat> FROGGS: re http://irclog.perlgeek.de/perl6/2015-07-15#i_10898200 , the range info is just for display, so a string will do fine
13:40 jnthn o/ FROGGS
13:42 oha itz, even removing rakudobrew folder and starting from scratch, i get similar errors. but i must go now, will check again later
13:42 oha tadzik, ^^
13:47 tadzik oh, interesting
13:54 cdc Hello all, do you confirm that variadic functions are not supported by NativeCall yet?
13:54 timotimo yes, sorry about that :(
13:55 timotimo FROGGS: did you have a look at whether or not libffi can support var args?
13:55 cdc timotimo: ok, no problem :)
13:55 cdc timotimo: AFAIK libffi support var args
13:56 jnthn dyncall also supports varargs
13:56 jnthn We just didn't implement it yet
13:56 skids joined #perl6
13:57 timotimo yes, i've looked at dyncall's varargs in the past, but i didn't do anything with it yet
13:59 RabidGravy joined #perl6
14:02 RabidGravy erp
14:02 itz Enterprise resource planning>
14:02 _mg_ joined #perl6
14:02 itz :)
14:04 dalek rakudo-star-daily: efbb705 | coke++ | log/ (9 files):
14:04 dalek rakudo-star-daily: today (automated commit)
14:04 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/efbb705729
14:05 arnsholt Regarding libffi vs. dyncall, I think both should support mostly the same stuff
14:05 arnsholt AIUI libffi is more commonly used in HLLs than dyncall
14:12 FROGGS I am very happy that we can use both now btw
14:14 khw joined #perl6
14:20 bougyman left #perl6
14:20 llfourn joined #perl6
14:25 timotimo me, too
14:25 timotimo good work FROGGS :)
14:25 FROGGS :o)
14:25 FROGGS was fun
14:25 FROGGS and just a weekend worth of work
14:26 itz "constant LIB = sprintf $*VM.config<dll>, "curl";" is probably more portable than hardcoding .so everywhere .. was wondering if this sort of thing belongs in NativeCall itself though
14:26 timotimo nativecall already has a bit of code in it that tries to guess a library name
14:27 timotimo sadly, it doesn't have a way to figure out if a given name is right, so it'll decide on one candidate and then it's hit-or-miss
14:27 itz ah of course :)
14:27 FROGGS constant LIB = 'curl' # should hopefully good enough
14:27 FROGGS be*
14:27 timotimo jnthn: how would you feel about an nqp op that lets us probe a library name for existence on the system? perhaps it could even fall back to calling ldconfig on linux for finding stuff ...
14:27 aborazmeh joined #perl6
14:27 aborazmeh joined #perl6
14:27 RabidGravy LibraryMake has some similar code in it
14:29 itz constant LIB = 'libcurl'; works
14:29 masak m: my %h = foo => "bar"; say "food".trans(%h.keys => %h.values)
14:29 camelia rakudo-moar 89847f: OUTPUT«bard␤»
14:29 masak \o/
14:29 itz in that case maybe NativeCall should warn if the suffix exists since it's system specific?
14:30 masak m: my %h = foo => "bar"; say "food".trans(.keys => .values) given %h
14:30 camelia rakudo-moar 89847f: OUTPUT«bard␤»
14:31 vytas joined #perl6
14:34 AlexDaniel joined #perl6
14:35 itz actually constant LIB = 'libcurl';  would break windows and constant LIB = 'curl' errors  on OS X whereas my suggested line would I think work
14:39 masak m: say words "foo bar baz"
14:39 camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AY1j4M_NTK␤Undeclared routine:␤    words used at line 1. Did you mean 'ords'?␤␤»
14:39 masak why isn't `words` a sub as well as a method? seems it could be useful?
14:39 masak (I was just in a situation where I would've preferred the sub form to the method for, because of end weight)
14:40 synbot6 joined #perl6
14:42 itz are there any test cases for NativeCall::guess_library_name?
14:43 smls m: dd lines "aa\nbb\ncc"
14:43 camelia rakudo-moar 89847f: OUTPUT«("aa", "bb", "cc")␤»
14:44 masak right. especially given `lines` is already a sub, why not `words`?
14:44 smls should 'words' without args also read from $*IN like 'lines' without args?
14:45 masak no, IMO.
14:45 masak it's kind of a historic accident that `lines` does, even.
14:46 smls fair enough
14:46 masak also, it's easy in retrospect to decide to allow `words()` and have it mean that... but not so easy to back out of/deprecate.
14:47 smls I'd say, wait half a day for TimToady/others to comment; if no-one does just go ahead and add it :P
14:48 PerlJam smls: but ... forgiveness >> permission  ;)
14:49 smls right, or simply add it and then revert if necessary.
14:49 smls m: my @a; dd lines @a;
14:49 camelia rakudo-moar 89847f: OUTPUT«()␤»
14:50 smls Nice; I was afraid the no-arg case would kick in.
14:50 smls How can it do that?
14:51 smls ah, of course, it's not a slurpy
14:51 FROGGS m: say Code.^mro
14:51 camelia rakudo-moar 89847f: OUTPUT«(Code) (Any) (Mu)␤»
14:51 FROGGS m: say Block.^mro
14:51 camelia rakudo-moar 89847f: OUTPUT«(Block) (Code) (Any) (Mu)␤»
14:55 dalek rakudo/nom: 532c1c4 | RabidGravy++ | t/04-nativecall/16-rt125408.t:
14:55 dalek rakudo/nom: Add test for RT#125408
14:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/532c1c41b5
14:55 dalek rakudo/nom: ce88222 | lizmat++ | t/04-nativecall/16-rt125408.t:
14:55 dalek rakudo/nom: Merge pull request #471 from jonathanstowe/rt125408-test
14:55 dalek rakudo/nom:
14:55 dalek rakudo/nom: Add test for RT#125408
14:55 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125408
14:55 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125408
14:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ce88222e5c
14:55 RabidGravy I'll close that ticket then ;-)
14:56 lizmat RabidGravy++
15:00 RabidGravy All closed ;-)
15:03 smls .oO( except for the 1030 RTs that are still open... )
15:04 itz . o O ( 1030 isn't  even a power of 2 )
15:04 hoelzro I find myself wondering how many of those can just be closed
15:05 itz "WONTFIX"
15:05 hoelzro itz: I mean ones that have actually *been* fixed and someone forgot to check =)
15:06 dalek ecosystem: c318eeb | jaffa4++ | META.list:
15:06 dalek ecosystem: Update META.list
15:06 dalek ecosystem:
15:06 dalek ecosystem: added Ini::Storage
15:06 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/c318eeb819
15:09 jaffa4 joined #perl6
15:16 dalek nqp/leave: 4c33d5e | FROGGS++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
15:16 dalek nqp/leave: change CONTROL_RETURN to CONTROL_LEAVE
15:16 dalek nqp/leave: review: https://github.com/perl6/nqp/commit/4c33d5efbe
15:17 dalek rakudo/leave: 1f6e726 | FROGGS++ | src/ (5 files):
15:17 dalek rakudo/leave: change CONTROL_RETURN to CONTROL_LEAVE, add leave() and Block.leave
15:17 dalek rakudo/leave: review: https://github.com/rakudo/rakudo/commit/1f6e726688
15:18 estrabd joined #perl6
15:20 estrabd joined #perl6
15:20 estrabd joined #perl6
15:24 nys joined #perl6
15:25 recojax joined #perl6
15:34 captain-adequate joined #perl6
15:35 amurf joined #perl6
15:48 [Coke] Lots of people are checking. Easiest thing to do is sort all perl 6 tickets by last updated date.
15:48 [Coke] if something has been open for over, say, 2 years, make sure it's still a problem. You can comment on the ticket (replyng to list) showing updated output, or saying "behavior unchanged".
15:49 [Coke] Also look for testneeded and write tests. (or unfixed ones that don't have tests and write tests so we can just close it when it's fixed)
15:50 telex joined #perl6
15:53 hoelzro [Coke]: good point
15:53 [Coke] s/open for/not updated for/ , I mean
15:56 jaffa4 I added a new module, I cannot see it in Panda...What can be wrong?
15:57 PerlJam jaffa4: did you run "panda update"?
15:58 jaffa4 yes, but it did not seem to have an effect first as it seems to have an effect now
16:00 RabidGravy I think the packages.json is generated by a cron-job
16:01 jaffa4 I see
16:04 cognominal joined #perl6
16:05 timotimo yes, as soon as it shows up on modules.perl6.org, you can panda install it
16:05 timotimo it should be installable now, i think
16:07 dalek rakudo/nom: 4b5a5f9 | (Lucas Buchala)++ | src/core/CompUnitRepo.pm:
16:07 dalek rakudo/nom: Fix vim modeline
16:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4b5a5f910f
16:07 dalek rakudo/nom: 0fa8c44 | FROGGS++ | src/core/CompUnitRepo.pm:
16:07 dalek rakudo/nom: Merge pull request #472 from lucasbuchala/temp1
16:07 dalek rakudo/nom:
16:07 dalek rakudo/nom: Fix vim modeline
16:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0fa8c44923
16:08 nebuchadnezzar joined #perl6
16:16 vendethiel joined #perl6
16:18 vendethiel FROGGS++ # leave! wee
16:18 FROGGS vendethiel: we are not there yet
16:18 vendethiel FROGGS: I know, I saw the debug nqp::say() in the commit :P
16:18 FROGGS hehe, right
16:31 Juggu joined #perl6
16:33 recojax joined #perl6
16:41 jaffa4 How can I see points?
16:41 diana_olhovik joined #perl6
16:42 timotimo "see"? "points"?
16:42 PerlJam jaffa4: context please?
16:42 jaffa4 ++
16:42 timotimo oh
16:42 jaffa4 What do you call it?
16:42 timotimo they aren't tracked, if i remember correctly
16:42 timotimo "karma"
16:42 PerlJam karma jaffa4
16:42 PerlJam just checking
16:43 jaffa4 karma PerlJam
16:43 jaffa4 !karma
16:48 FROGGS there is no karma bot present
16:48 jaffa4 so it is just a habit to show compliment
16:48 FROGGS aye
16:49 FROGGS we are just nice, that's all :o)
16:49 cdc .seen lambdabot
16:49 yoleaux I haven't seen lambdabot around.
16:50 ugexe a long shot... but anyone had luck installing dyncall on armv7/freebsd? i was able to install moarvm on this setup 6 months ago but now dyncall fails. i had to reinstall everything before restesting so it could be my dev env is not setup properly
16:52 FROGGS ugexe: I have not such a machine.... but you can also try passing --has-libffi to MoarVM's Configure.pl
16:52 FROGGS ugexe: but make sure you've got libffi-dev installed
16:53 FROGGS ugexe: or you no-paste the failing build output and we'll see what we can do
16:53 geekosaur freebsd doesn't make distinctions with -dev
16:53 FROGGS so I restate: "the header files must also be present" :o)
16:53 geekosaur they will be
16:53 geekosaur you don't get the binary part without the linker and header bits
16:53 FROGGS k
16:54 ugexe heh. i will give both a try. gotta rerun to log the output first
16:54 ely-se joined #perl6
16:54 geekosaur (and -devel means a testing release for ports)
16:55 _mg_ joined #perl6
16:55 ely-se left #perl6
16:55 spider-mario joined #perl6
16:56 domidumont joined #perl6
16:59 JimmyZ_ joined #perl6
17:00 AlexDaniel jaffa4: you can parse the logs and generate the stats if you want :)
17:00 jaffa4 sure
17:11 Calibellus joined #perl6
17:14 _itz ugexe: which compiler? clang or gcc
17:21 sivoais joined #perl6
17:22 ugexe both fail. looking closer at it gcc errors while building dyncall whereas clang just doesnt build it. the process goes gcc(compiling src/jit/stub.o, building dyncall.., "errors") and clang(compiling src/jit/stub.o, linking 3rdparty/libatomic_ops/src/libatomic_ops.a checking build system type... armv6-unknown-freebsd11.0, ... linking libmoar.so, "error")
17:22 _mg_ joined #perl6
17:23 ugexe by process i mean thats the output of the build process
17:23 ugexe still waiting on the build for a full log
17:26 zakharyas joined #perl6
17:32 skids joined #perl6
17:37 atweiden joined #perl6
17:53 ugexe https://gist.github.com/ugexe/175bc466e9653652bf4c#file-gistfile1-txt-L346
17:55 ugexe thats from a rakudobrew build, so no special configuration arguments are being passed to moar's Configure.pl
17:55 geekosaur urgh
17:56 geekosaur compare line 344 to line 347
17:56 geekosaur it switched asm syntax on youy
17:59 masak to whoever made the "Redeclaration of symbol <var>" a warning instead of an error: thank you <3
18:02 RabidGravy "panda gen-meta" seems to be doing "===SORRY!===
18:02 RabidGravy no such file or directory"
18:05 ugexe building dyncall myself ends the same way. the last command however is
18:05 ugexe cc -fPIC -I/home/ugexe/dyncall/././dyncallback/../dyncall  -c dyncall_callback_arch.S -o dyncall_callback_arch.o
18:10 cognominal how to define a token as a submethod? I have a grammar B derived from a grammar A. Each one has its own <ws> token but due to virtual method rules B::ws "leaks" into A. Is there a way short of creating two languages?a
18:11 cognominal m: grammar A { token a { <a_> } ; token a_ { a } };   grammar B is A { token TOP { <a> }; token a_ { b } }; say B.parse('a')
18:11 camelia rakudo-moar 0fa8c4: OUTPUT«(Any)␤»
18:11 cognominal m: grammar A { token a { <a_> } ; token a_ { a } };   grammar B is A { token TOP { <a> }; token a_ { a } }; say B.parse('a')
18:11 camelia rakudo-moar 0fa8c4: OUTPUT«「a」␤ a => 「a」␤  a_ => 「a」␤»
18:11 ugexe my token a_ ?
18:13 cognominal lexical rules are not visible from the method dispatch mechanism
18:15 geekosaur ugexe, so somehow you end up in dyncall_callback_arm32_arm_gas.s but it's not using gnu assembler to assemble it
18:21 masak all spectests passed successfully tonight. nice. someone++
18:21 AlexDaniel m: my \test = 5; say test;
18:21 camelia rakudo-moar 0fa8c4: OUTPUT«5␤»
18:21 AlexDaniel what is this?
18:21 AlexDaniel sigilless variables??
18:22 masak AlexDaniel: it's a sigil-less variable.
18:22 masak AlexDaniel: frankly, I don't use them much.
18:22 AlexDaniel masak: "much"? When do you use this?
18:22 masak AlexDaniel: TimToady like them. :) you will see them quite a lot on RosettaCode, especially for mathematical things.
18:22 masak likes*
18:23 masak AlexDaniel: oh, I consider the legitimate uses to be in parameter lists when you don't want to force an interpretation of the variable.
18:23 masak AlexDaniel: like, `$` forces "item", `@` forces "list", etc. sigil-less does neither.
18:23 AlexDaniel hmm
18:24 masak AlexDaniel: the core setting uses it a lot for perf. I hope that use goes away.
18:24 AlexDaniel m: my \_ = 5; say _;
18:24 camelia rakudo-moar 0fa8c4: OUTPUT«5␤»
18:24 masak (because when you can just bind directly without forcing a context, apparently it's a bit faster)
18:25 jnthn Assignments to sigilless things, otoh, are slower
18:26 lucasb joined #perl6
18:26 masak I think TimToady uses them in math formulas because the dollar signs get in the way of the way the formula looks.
18:26 jnthn (of course, you normally assign to a my \foo since it's SSA, but the parameter use)
18:26 masak I dunno, that doesn't bother me so much.
18:26 jnthn We actually sped up some things (like the ++ impl) by using $ instead of \
18:27 jnthn 'cus the compiler does case analysis by sigil
18:27 AlexDaniel what characters are allowed in variable names?
18:29 espadrine joined #perl6
18:35 diana_olhovik joined #perl6
18:37 AlexDaniel m: our $.a = 5;
18:37 camelia rakudo-moar 0fa8c4: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my  a'?)␤    at /tmp/FEQeoOYCVY:1␤    ------> 3our 7⏏5$.a = 5;␤»
18:37 AlexDaniel 'my  a' ?
18:38 timotimo huh, some attribute not getting set properly in the exception class?
18:38 timotimo possibly the attribute was renamed, but its usages weren't updated?
18:39 AlexDaniel no idea, I'll submit rakudobug...
18:39 timotimo quite.
18:41 zakharyas joined #perl6
18:41 cognominal A follow up to my question. Does it make sense for rules to have the virtual method semantic?
18:42 timotimo oh, huh, that's interesting
18:42 timotimo "Useless declaration of a has-scoped $nocando in " ~                     ($*PKGDECL || "mainline") ~ " (did you mean 'my $*METHODTYPE $name'?)");
18:43 timotimo the error probably comes from trying to put the "a" method in place for accessing the attribute
18:43 lucasb m: our $!x
18:43 camelia rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NtlP7nE1eR␤Cannot use ! twigil on our variable␤at /tmp/NtlP7nE1eR:1␤------> 3our $!x7⏏5<EOL>␤    expecting any of:␤        constraint␤»
18:43 lucasb A better error would be this ^^
18:43 AlexDaniel lucasb: yea I've already tried this :)
18:44 timotimo well... :)
18:44 kyclark joined #perl6
18:45 [Sno] joined #perl6
18:45 andreoss joined #perl6
18:48 smls joined #perl6
18:49 andreoss s: my @x = [3; 0; 6], [2;7;0]; say @x.flat.perl;
18:50 AlexDaniel s?
18:50 andreoss m: my @x = [3; 0; 6], [2;7;0]; say @x.flat.perl;
18:50 camelia rakudo-moar 0fa8c4: OUTPUT«[[3, 0, 6], [2, 7, 0]]<>␤»
18:50 smls jnthn: Just read your blog from last week. Did TimToady respond to your gist (https://gist.github.com/jnthn/fa6a9a3618ae322cb581)?
18:50 andreoss why nothing happens here?
18:52 smls andreoss: Because [] creates itemized arrays (currently - apperently that's gonna change)
18:52 wtw joined #perl6
18:53 smls itemized specifically means "do not flatten".
18:54 andreoss s: my @x = [3; 0; 6], [2;7;0]; say @x.map(*.flat).flat.perl;
18:54 andreoss m: my @x = [3; 0; 6], [2;7;0]; say @x.map(*.flat).flat.perl;
18:54 camelia rakudo-moar 0fa8c4: OUTPUT«(3, 0, 6, 2, 7, 0)␤»
18:56 masak grr, t/spec/S17-lowlevel/lock.rakudo.moar failed in this test run.
18:57 ssqq joined #perl6
18:58 AlexDaniel m: say 'x' x Inf ~ 'x' x -Inf ~ 'x' x NaN ~ 'x' x -1 ~ 'x' x -9e9;
18:58 camelia rakudo-moar 0fa8c4: OUTPUT«␤»
18:58 AlexDaniel I wonder if any at least one of this should produce a warning
19:01 andreoss m: say Inf xx Inf
19:01 camelia rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer␤  in block <unit> at /tmp/UhJYJ9IrhU:1␤␤»
19:03 AlexDaniel yeah, why x and xx work differently?
19:04 AlexDaniel I mean, when you pass Inf as a second argument
19:04 smls x is for string repetition, xx for list repetition
19:04 andreoss m: say ~Inf;
19:04 camelia rakudo-moar 0fa8c4: OUTPUT«Inf␤»
19:04 lucasb P6 still doesn't have lazy strings
19:04 andreoss m: say (~Inf xx Inf).perl
19:04 camelia rakudo-moar 0fa8c4: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in block <unit> at /tmp/lLj1MDaX_v:1␤␤»
19:04 AlexDaniel m: 5 x Inf
19:04 camelia rakudo-moar 0fa8c4: ( no output )
19:04 smls oh, that's not what u mean
19:04 AlexDaniel m: 5 xx Inf
19:04 camelia rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer␤  in block <unit> at /tmp/sE5IIO3tEg:1␤␤»
19:04 colomon and does have lazy lists
19:04 andreoss m: say (5 xx Inf).perl
19:04 camelia rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer␤  in block <unit> at /tmp/eWLxcDSH0v:1␤␤»
19:04 AlexDaniel hmmm
19:04 AlexDaniel m: '5' x Inf
19:04 camelia rakudo-moar 0fa8c4: ( no output )
19:05 andreoss m:  ~NaN xx Inf
19:05 camelia rakudo-moar 0fa8c4: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in block <unit> at /tmp/KQ3Ov4W2UQ:1␤␤»
19:05 andreoss why?
19:05 lucasb 'xx' is not working with Inf
19:05 lucasb but it works with * (Whatever)
19:06 andreoss the error message is not the same
19:06 lucasb m: constant f = { 42 }; f xx Inf
19:06 camelia rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer␤  in block <unit> at /tmp/QIcaPjEl2n:1␤␤»
19:07 lucasb m: constant f = { 42 }; f xx Inf :thunked
19:07 camelia rakudo-moar 0fa8c4: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in block <unit> at /tmp/7z5nhGjMo6:1␤␤»
19:07 lucasb "xx" has different multis
19:07 lucasb ... for each case
19:08 AlexDaniel lucasb: but that's not OK, right?
19:09 AlexDaniel at least it should behave in a similar way
19:09 lucasb AlexDaniel: yep, that's not ok :) IMO, it also should work with Inf
19:09 AlexDaniel lucasb: yea, that makes sense
19:09 AlexDaniel okay I'll submit that
19:10 jnthn smls: No, not yet, though I'm not blocking on him doing so :)
19:10 jnthn (yet :))
19:11 smls I had wondered about the || semicolon-level argument interpolation too when reading S09.
19:12 dalek rakudo/words: 5448c85 | (Carl Masak)++ | src/core/io_operators.pm:
19:12 dalek rakudo/words: [src/core] implement `words` sub
19:12 dalek rakudo/words:
19:12 dalek rakudo/words: In analogy with the `lines` sub, except that `words` conservatively
19:12 dalek rakudo/words: doesn't default to $*ARGFILES.
19:12 dalek rakudo/words: review: https://github.com/rakudo/rakudo/commit/5448c85b0e
19:12 masak all spectests pass in that branch.
19:12 masak the only remaining question is whether we want &words
19:12 masak (I do.) :)
19:13 amurf joined #perl6
19:13 brrt joined #perl6
19:14 brrt \o
19:14 smls jnthn: Right now, .[ ] doesn't use flattening slurpies at all, does it?
19:14 jnthn masak: I don't immediately see why not
19:15 jnthn smls: Not sure off hand; I need to review that soon though, given I've done all the VM-level bits :)
19:16 masak jnthn: me either; I'm just being cautious because I'm essentially implementing a new (unspec'd) feature.
19:16 masak oh no, I'm not. says `is export` in S32/Str
19:16 masak well, that settles it :>
19:16 PerlJam masak: +1 from me :)
19:17 jnthn masak++ # caution :)
19:17 smls jnthn: Well, it needs to differentiate a Range argument (--> truncating slice) from any other positional argument (--> normal slice), so it must not flatten until it has decided between those.
19:17 dalek rakudo/nom: ee36da5 | (Carl Masak)++ | src/core/io_operators.pm:
19:17 dalek rakudo/nom: [src/core] implement `words` sub
19:17 dalek rakudo/nom:
19:17 dalek rakudo/nom: In analogy with the `lines` sub, except that `words` conservatively
19:17 dalek rakudo/nom: doesn't default to $*ARGFILES.
19:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee36da5448
19:17 jnthn smls: I think it may be more that we pass a LoL
19:18 jnthn But then we may need to look at construction costs of those
19:18 jnthn otoh I plan to cheat like hell on the native arrays :)
19:18 smls :P
19:21 lucasb masak++; I think I like the sub form
19:26 masak pro tip: words + heredocs + assigning to a hash = \o/
19:27 * colomon is having a hard time imagining that…
19:28 smls masak: why not  < ... >  and assigning to a hash?
19:29 PerlJam indeed.
19:29 PerlJam what smls said
19:29 masak because backslashes, in this case
19:30 masak the heredoc contained mostly LaTeX directives and braces, and the backwhacking made it really ugly
19:30 masak heredoc + words solved that
19:30 smls m: dd Q:w<aa bb \nn>
19:30 camelia rakudo-moar 0fa8c4: OUTPUT«("aa", "bb", "\\nn")␤»
19:30 masak yeah, could've done that.
19:31 PerlJam Any reason why words("foo bar baz blat", *) shouldn't work like words("foo bar baz blat",Inf)  ?
19:31 PerlJam (same for lines)
19:31 masak I think it does.
19:32 smls m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10); x |(42, "a" => 10);'
19:32 camelia rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/k53sPdufSV␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/k53sPdufSV:1␤------> 3 }; x |("a" => 10); x |(42, "a" => 10);'7⏏5<EOL>␤    expecting any of:␤        sing…»
19:32 smls m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10); x |(42, "a" => 10);
19:32 camelia rakudo-moar 0fa8c4: OUTPUT«---␤[]<>␤{:a(10)}<>␤---␤[42, :a(10)]<>␤{}<>␤»
19:32 smls ^^ that seems flaky
19:33 PerlJam masak: not here.  I get:  Cannot call Numeric(Whatever: ); none of these signatures match: ...
19:33 masak oh
19:33 masak yeah, same here
19:33 FROGGS joined #perl6
19:34 kyclark joined #perl6
19:34 smls so one may use  |@foo  argument interpolation, and everything works fine... unlike someone manages to cause *all* elements of @foo to be pairs, and suddenly it breaks?
19:34 smls that could even be a security risk
19:35 smls Maybe | should interpolate strictly based on the top-level type of its argument
19:35 jnthn smls: , makes lists, not parens
19:35 * masak submits rakudobug about words($s, *) not working
19:35 jnthn Well, Parcels at the moment
19:35 smls oh, so it already doe what I suggested?
19:36 jnthn smls: yeah, believe so
19:36 smls m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10,k "b" => 15);
19:36 camelia rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U2OI5AqQmh␤Undeclared routine:␤    k used at line 1␤␤»
19:36 smls m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10, "b" => 15);
19:36 camelia rakudo-moar 0fa8c4: OUTPUT«---␤[:a(10), :b(15)]<>␤{}<>␤»
19:36 smls yay
19:36 smls jnthn: So, just add another overload that accepts LoL, and you won't need a separate ||
19:37 smls One could even call the combined thing ||, and let pmichaud_ steal | for list flattening :P
19:37 jnthn Heh, adding a not-implemented-right feature and then filing a ticket on it #dammitmasak
19:37 masak m: say (words "foo bar baz", *).perl
19:37 camelia rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gED71tagJ5␤Undeclared routine:␤    words used at line 1. Did you mean 'ords'?␤␤»
19:37 masak d'oh
19:38 jnthn :P
19:39 dalek perl6-roast-data: 1966a5a | coke++ | / (9 files):
19:39 dalek perl6-roast-data: today (automated commit)
19:39 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/1966a5a3ff
19:41 [Coke] (spectest passing) not for weeks, actually.
19:41 [Coke] jvm, moar, and moar-nojit all failing in different ways.
19:41 [Coke] (and not even on osx, on p6c.org)
19:44 lucasb m: Whatever.new.Numeric
19:44 camelia rakudo-moar 0fa8c4: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/dhu4FlVIgE:1␤␤»
19:45 lucasb there is a multi method for lines(Whatever)
19:45 dalek rakudo/nom: 5beeafd | PerlJam++ | src/core/io_operators.pm:
19:45 dalek rakudo/nom: Allow words($string, *) to work
19:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5beeafd6f8
19:45 lucasb but there isn't a multi sub for lines(Whatever)
19:48 vendethiel lucasb: "nqp::istype($limit,Whatever)"
19:48 vendethiel isn't that good enough?
19:49 lucasb yeah, testing for Whatever before the numeric comparison fixes it :)
19:51 beastd joined #perl6
19:52 lucasb m: $*IN.lines(*)
19:52 camelia rakudo-moar ee36da: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/jg5Tpd5Idj:1␤␤»
19:52 PerlJam I would guess that making multis for the Inf and * cases would be a slight optimization too.
19:53 lucasb Also must revert the order of comparison in IO::Handle .lines and .words
19:54 kyclark joined #perl6
19:55 smls_ joined #perl6
19:57 dalek rakudo/nom: b606f9f | PerlJam++ | src/core/IO/Handle.pm:
19:57 dalek rakudo/nom: Allow IO::Handle  lines(*)/words(*) to work
19:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b606f9f438
19:58 [Coke] OH. I just realized I can make a chrome plugin to make it easier to find tickets in RT to work on.
19:59 _mg_ joined #perl6
20:00 AlexDaniel m: say 'test' x *;
20:00 camelia rakudo-moar ee36da: OUTPUT«WhateverCode.new␤»
20:00 AlexDaniel what is that?
20:00 masak an un-run piece of code.
20:01 masak m: say ('test' x *)(5)
20:01 camelia rakudo-moar ee36da: OUTPUT«testtesttesttesttest␤»
20:01 AlexDaniel "The count may not be * because Perl 6 does not support infinite strings. (At least, not yet...)"
20:01 AlexDaniel http://design.perl6.org/S03.html#Replication
20:01 llfourn joined #perl6
20:01 masak I think the current behavior makes more sense than * meaning Inf...
20:02 masak if you want Inf, write Inf
20:02 AlexDaniel haha
20:02 masak that's how I often feel about people writing * when they mean Inf, though, so I'm not sure that's a majority view... :)
20:02 AlexDaniel masak: just reported this: https://rt.perl.org/Public/Bug/Display.html?id=125627
20:03 PerlJam How do you mark an RT ticket as "tests needed"?
20:03 jnthn PerlJam: Jumbo
20:03 PerlJam danke
20:03 jnthn bitte
20:03 masak if it's in Jumbo, it's also in one of the smaller ones :)
20:04 jnthn .oO( guten tag... )
20:04 AlexDaniel masak: so, what can we do about it?
20:04 AlexDaniel does not sound like rakudobug
20:05 masak AlexDaniel: change the spec to conform with implementation, far as I'm concerned.
20:05 jnthn I think I'm good with that.
20:05 [Coke] PerlJam: Custom Fields, Tag, add testneeded (tag is multiselect)
20:06 AlexDaniel masak: Well, I'm not the one to change the spec, especially when I'm unsure. But I can fill a bug report
20:06 jnthn x auto-currying feels more helpful
20:06 AlexDaniel masak: so where should I report problems with the spec?
20:06 [Coke] github.com/perl6/spec/issues
20:06 AlexDaniel great
20:06 [Coke] er, https://github.com/perl6/specs/issues
20:06 jnthn AlexDaniel: Why ain't you? It's under version control, enough of us here seem to support the change, if it's disliked then revert is easy :)
20:06 masak AlexDaniel++
20:06 jnthn The design docs ain't holy :)
20:07 jnthn (Of course, an issue is welcome too.)
20:07 AlexDaniel jnthn: you are right. Maybe next time :)
20:08 * PerlJam needs to play with RT more to get used to the interface.
20:08 jnthn d3
20:08 jnthn oops
20:09 masak indeed, d3. should look at that more.
20:09 jnthn It's a script that builds day 3 of the course slides I'm working on from source. :P
20:10 jnthn And opens them in a PDF viewer :)
20:10 masak ooh :)
20:10 lucasb one script of each day? :D
20:10 jnthn yeah :P
20:10 jnthn I don't teach anything longer than 3 days, though :P
20:10 lucasb oh, good
20:11 jnthn 3 days of me is enough for anybody.
20:12 * PerlJam makes a mental note to ask jnthn's wife if she only takes him in 3 day doses
20:15 PerlJam I'm 1.5 months shy of my 20 year anniversary and I think there might be some wisdom to limiting spousal exposure as far as marital longevity is concerned.  :-)
20:16 cognominal jnthn, that's false. I fell asleep at your teaching but that was me exhausted, not because of your teaching
20:16 nwc10 I thought that the standard joke was something about fours, not threes. ie "four richer" etc.
20:18 bin_005 joined #perl6
20:18 masak four richer, four poorer?
20:19 nwc10 four better, four worse
20:19 nwc10 total, 16.
20:21 dha joined #perl6
20:31 cognominal I have found an answer to my question :       <&foo(1,2,3)>  in S05
20:33 ssqq joined #perl6
20:35 ssqq after install rakudo-star-2015.03-x86 (no JIT).msi, panda could not install module
20:36 dha Admittedly, pandas are a bit clumsy. :-)
20:36 ssqq not 03, is 06, rakudo-star-2015.06-x86 (no JIT).msi
20:37 dha You might want to try building from the repository, rather than using a specific release.
20:37 ugexe when was your last rakudo
20:38 s34n joined #perl6
20:38 * masak .oO( live each rakudo as if it's your last )
20:38 ssqq best operate system to run Perl6 is Linux
20:38 ugexe afaik panda hasnt worked on win32 for a few months. at least for cl
20:40 ssqq I met a stange error when use YAML; anyone could help me? `use YAML; say dump < ^^ $$ >;
20:41 timotimo i think the YAML module isn't working properly any more ... or at least the tests can't run (because TestML is incomplete or bitrotted)
20:42 masak why does YAML have a dependency on TestML?
20:42 timotimo in order to run its tests
20:43 ssqq Have any similar module like YAML could lookup data with indent?
20:44 timotimo the to-json we have in core (but don't rely on it staying around) does indenting, too
20:44 timotimo m: say to-json({:foo, :bar, :yoink<a b c d>})
20:44 camelia rakudo-moar b606f9: OUTPUT«{␤  "bar" : true,␤  "foo" : true,␤  "yoink" : [␤    "a",␤    "b",␤    "c",␤    "d"␤  ]␤}␤»
20:44 RabidGravy I've just installed both
20:45 timotimo oh? do they actually work?
20:45 timotimo i must admit the last time i looked at it must have been a year ago or earlier
20:45 ugexe he is on win32 i think
20:45 RabidGravy well, that code gives nasty error
20:45 RabidGravy I think it needs some love
20:47 ssqq I think the best way is save data with JSON, and view it with Perl5<YAML>
20:48 timotimo right, you can use Inline::Perl5 to use perl5's YAML module
20:48 RabidGravy I'll have a look at that in the morning, got to have a working yaml parser
20:49 kyclark joined #perl6
20:50 flussence well, there's always the option of writing native libyaml bindings...
20:50 yoleaux 15 Jul 2015 01:09Z <japhb> flussence: Text-Tabs-Wrap seems rather unhappy: I can't install it with panda, and it seems to be failing quite a few tests.
20:51 flussence hm, that's no good... it should only have 3 marked todo/skip/*
20:51 ssqq joined #perl6
20:53 skids The meta is out of date or something.  I tried a couple days ago to see if the .assuming code there was cranky but panda would not even fetch it.
20:55 flussence oh, it's still using the old source-url thing, maybe that's why
20:55 flussence I'll fix it, just updating rakudo atm
21:01 llfourn joined #perl6
21:02 amurf joined #perl6
21:07 flussence oh, it's the opposite... it depends on a module using the support { source } syntax. I can fix that too, one minunte...
21:15 lucasb m: sub f(Int() $x) {}; f(NaN)
21:15 camelia rakudo-moar b606f9: ( no output )
21:15 lucasb m: sub f(Int() $x) { $x }; f(NaN)
21:15 camelia rakudo-moar b606f9: OUTPUT«Unhandled exception: Cannot coerce Inf or NaN to an Int␤   at <unknown>:1  (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:17338  (/home/camelia/rakudo-inst-1/share/perl6/runtime/CORE.…»
21:15 flussence ohhh, looks like those URLs are cached server-side. It *should* work but I won't know until maybe an hour from now...
21:15 lucasb ^^ Is this because the coercion is lazy or something?
21:19 lucasb m: sub f(Int() $x) { $x; 42 }; f(NaN)
21:19 camelia rakudo-moar b606f9: ( no output )
21:20 lucasb m: sub f(Int() $x) { $x }; f(NaN); 1
21:20 camelia rakudo-moar b606f9: ( no output )
21:21 masak m: sub f(Int() $x) { say $x }; f(NaN)
21:21 camelia rakudo-moar b606f9: OUTPUT«Cannot coerce Inf or NaN to an Int␤  in sub f at /tmp/kX8MTeSLEy:1␤  in block <unit> at /tmp/kX8MTeSLEy:1␤␤»
21:21 lucasb ^^ I think this shows that if don't evaluete a failed coercion in sink context, it's all good
21:21 lucasb *evaluate
21:21 masak lucasb: I think you're right.
21:21 masak lucasb: my intuition tells me the optimizer is removing problems for us.
21:22 lucasb perl6 --optimize=off -e 'sub f(Int() $x) { $x }; f(NaN)'
21:22 lucasb ^^ this still fails
21:23 masak as it should.
21:23 lucasb "--optimize=off" is the right way to turn it off?
21:23 masak but that one failed before.
21:23 masak isn't it --optimize=0 ?
21:23 lucasb oh, I maybe a confusion; it fails with or without the optimize :)
21:23 TEttinger joined #perl6
21:23 masak right.
21:23 lucasb *I made a...
21:25 lucasb I wish --optimize=0 also work to turn it off, but I guess it really wants the string "off"
21:25 masak ok
21:32 kyclark joined #perl6
21:33 jnthn off and 0 are different
21:33 jnthn off means "don't even do the analysis"
21:33 jnthn 0 should mean "do the analysis but no optimizations"
21:34 jnthn So you can isolate analysis crashes from transform crashes.
21:34 masak ah.
21:48 Ven joined #perl6
21:54 mr-foobar joined #perl6
22:10 cognominal https://github.com/perl6/specs/issues/96   I sollicit comments for my problems with sigspaces
22:16 meisl joined #perl6
22:22 dha Documentation query: Currently, C<//> and C<orelse> are defined differently in the docs. C<orelse> seems to reflect the current behavior. It has been mentioned here that this behavior may change.
22:22 dha Should the doc for C<//> be corrected for now, or should we wait until the implementation is settled?
22:31 masak dha: not sure I understand.
22:32 masak dha: C<//> and C<orelse> do have different behaviors, so they should probably be described differently.
22:33 dha Well, they have different precedence. Their returns should not, AFAICT, be different.
22:33 timotimo orelse is a statement-level infix, which is why it's not insane that it sets $! on the RHS
22:33 dha C<//> says that it returns the first defined operand, but that is not the case if there are no defined operands.
22:33 dha C<orelse> specifies that it returns the last operand if none are defined.
22:33 timotimo ah, yes
22:33 timotimo that part ought to be added to //, too
22:33 dha C<//> certainly seems to behave that way as well.
22:33 timotimo that it returns the last one if no one was defined
22:34 masak m: sub foo { fail 42 }; foo() orelse say $!
22:34 camelia rakudo-moar b606f9: OUTPUT«Nil␤»
22:34 timotimo masak: "is supposed to", i think
22:34 masak aye.
22:34 masak NYI.
22:34 dha right. But TimToady mentioned when I was first looking at this that at some point it might return Empty, rather than the last operand. So...
22:34 masak I'm not sure why the `()` are required there, if `orelse` is a *statement*-level infix.
22:34 dha m: say Any // Int;
22:34 camelia rakudo-moar b606f9: OUTPUT«(Int)␤»
22:35 dha m: say Int // Any
22:35 masak shouldn't it work more similarly to statement-modifier `if`?
22:35 camelia rakudo-moar b606f9: OUTPUT«(Any)␤»
22:35 masak m: sub foo { 42 }; say foo if True
22:35 camelia rakudo-moar b606f9: OUTPUT«42␤»
22:35 dha Yep. seems to have the behavior described in C<orelse>
22:36 mr-foobar joined #perl6
22:38 kyclark joined #perl6
22:41 skids joined #perl6
22:42 masak I don't think "same as infix //" is a good description of `orelse`.
22:43 masak looser precedence isn't the only difference.
22:45 dha What else is there?
22:46 masak the setting of $! in the rhs thunk
22:46 dha Also, I'm not proposing saying they're the same, just adding the implemented behavior to the ?? doc.
22:46 dha sorry. //
22:47 masak what implemented behavior? what do you feel is missing from the // doc?
22:47 dha That it returns the last operand if no operand is defined, rather than what it says now which is that it returns the first defined operand, period.
22:48 dha (Granted, I haven't looked at the implementation, but that certainly appears to be its behavior)
22:48 telex joined #perl6
22:49 masak docs for || has it right
22:49 masak "Returns the first argument that evaluates to True in boolean context, or otherwise the last argument."
22:49 masak (except that it refers to the operands as "argument". that's needlessly routine-centric.)
22:50 dha That doesn't change the fact that the doc for // says "Returns the first defined operand."
22:50 masak *nod*
22:50 masak yeah, please fix that.
22:51 dha Ok.
22:52 masak 'night, #perl6
22:52 dha Actually, I'm not clear on the procedure here. If I change it in the doc repository on github, will that propagate to the actual website at some point, or do I need to patch in two places?
22:52 yqt joined #perl6
22:53 dha Oh, and also, if C<orelse> *isn't* the same as infix //, we should probably change that as well, but I'm not fully clear on what to change it to.
22:55 dalek doc: 2624102 | (David H. Adler)++ | lib/Language/operators.pod:
22:55 dalek doc: Changed entry for C<//> in operators.pod to reflect behavior when there
22:55 dalek doc: is no defined operand
22:55 dalek doc: review: https://github.com/perl6/doc/commit/2624102c3d
23:01 flussence .tell japhb (and/or skids) - I've fixed that URL problem in Text-Tabs-Wrap; the only thing blocking install now is a segfault in a test file...
23:01 yoleaux flussence: I'll pass your message to japhb.
23:02 skids flussence: I noticed, thanks.  Haven't debugged that SEGV yet.
23:05 flussence the code looks correct, but it seems to do that pretty reliably under default settings... RAKUDO_MAX_THREADS=1 seems to make it work at least.
23:13 xiaomiao joined #perl6
23:21 amurf joined #perl6
23:21 timo1 joined #perl6
23:44 laouji joined #perl6

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

Perl 6 | Reference Documentation | Rakudo