»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:01 coffee` left 00:06 cognominal left 00:14 mohij_ joined 00:18 mohij left 00:20 mohij_ left 00:22 captain-adequate left 00:29 laouji joined 00:39 laouji left 00:45 laouji joined 00:51 atroxaper joined 00:55 atroxaper left 01:08 skids joined 01:10 BenGoldberg joined 01:12 yqt left 01:15 VinceDee left 01:16 Hor|zon_ joined 01:19 rmgk_ joined, rmgk is now known as Guest63373, rmgk_ is now known as rmgk 01:21 Guest63373 left, Hor|zon left 01:36 xinming left
tony-o hoelzro: that pipe problem for me isn't related to swallowing errors afaik 01:38
01:38 xinming joined
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:39
01:40 dayangkun joined 01:44 ilbot3 left 01:47 ilbot3 joined 01:59 Calibellus joined 02:02 gfldex left, gfldex joined 02:04 yeahnoob joined 02:09 noganex joined 02:12 noganex_ left 02:17 gfldex left, kaare_ joined 02:23 amurf left 02:24 amurf joined 02:28 amurf left 02:29 nys left 02:40 vendethiel joined 02:49 Celelibi left 02:50 Celelibi joined
hoelzro tony-o: alright, thanks for confirming 03:09
I've only seen it with sockets myself, and I thought I reproduced with regular files 03:10
I'll dig into $*IN as well
03:17 BenGoldberg left
dalek p: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm:
Print out some Moar information
03:37
03:38 travis-ci joined
travis-ci NQP build errored. Rob Hoelz 'Print out some Moar information' 03:38
travis-ci.org/perl6/nqp/builds/71190715 github.com/perl6/nqp/compare/ae07b...d06bf6c1c9
03:38 travis-ci left
dalek p/travis-testing: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm:
Print out some Moar information
03:39
03:40 atroxaper joined 03:41 laouji left 03:44 pnu left, atroxaper left, vendethiel left 03:45 ggherdov left 03:48 vendethiel joined 03:49 clkao joined, SmokeMachine joined 03:51 laouji joined 04:02 pnu joined 04:10 vendethiel left 04:11 chansen_ joined 04:18 amurf joined 04:33 dayangkun left 04:35 khw joined 04:36 ggherdov joined 04:37 Alina-malina joined 04:39 dayangkun joined 04:55 ][Sno][ left 05:04 Calibellus left 05:14 khw left 05:18 skids left 05:36 atroxaper joined 05:43 laouji left 05:44 aborazmeh joined, aborazmeh left, aborazmeh joined 05:45 laouji joined, geekosaur left 05:47 geekosaur joined 05:48 diana_olhovik joined 05:52 laouji left 06:12 mr-foobar joined 06:14 [Sno] joined 06:16 mr-foobar left 06:17 mr-foobar joined, vendethiel joined, FROGGS joined 06:23 mr-foobar left 06:24 mr-foobar joined 06:27 domidumont joined 06:31 domidumont left 06:32 domidumont joined 06:35 _mg_ joined 06:39 diana_olhovik left 06:41 jonathan__ joined, vendethiel left, jonathan__ is now known as RabidGravy 06:45 zakharyas joined 06:49 CIAvash joined 07:01 vendethiel joined 07:04 araujo joined, FROGGS left 07:21 vendethiel- joined, vendethiel left 07:24 araujo left 07:29 araujo joined, geekosaur left 07:31 geekosaur joined 07:32 jaffa4 joined
jaffa4 hi all 07:32
RabidGravy marnin
07:32 darutoko joined
jaffa4 I have a small class example.. Should I work? 07:33
gist.github.com/jaffa4/65d3e848cf08024957b0
if you run it you should get 4
moritz jaffa4: no 07:35
masak morning, #perl6
moritz jaffa4: only attributes with accessors are automaticaly initialized by new/bless
wouldn't be very private if you could initialize it from the outside, no?
masak jaffa4: easy fix: write `has $.b;` with a dot
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?
What is the weather like in Sweden?
masak sunny. 07:37
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
[ptc] \quit
doh!
masak [ptc]: bye!
07:43 vendethiel- left 07:47 vendethiel joined
[ptc] needed to do a maintenance reboot ... 07:51
jnthn morning, #perl6 07:54
oha m: say time-1;
camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U1XYBO6oSv␤Undeclared routine:␤ time used at line 1␤␤»
oha m: say time -1;
camelia rakudo-moar 89847f: OUTPUT«1437033272␤»
oha didn't expected it, despite i've used method-names like this 07:55
m: say time()-1
camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wiVssWgBAL␤Undeclared routine:␤ time used at line 1␤␤»
moritz time is a term, not a subroutine 07:56
though I still wonder if maybe that causes more confusion than it's worth
m: sub mytime() { time }; say mytime - 1
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␤␤»
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
moritz oha: yes
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:58
oha otherwise the -1 will be considered an argument, i see that now 07:59
but so, if it is a term, why time -1 works, and not time-1?
if time-1 is parsed as a "ident" then why it complains about "time" and not "time-1"? 08:00
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␤»
masak moritz: because `5` is a constant, but `-1` is a very complex expression :P
08:04 telex left, dakkar joined, telex joined
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:05
jaffa4 Why is binding used in BUILD method example? 08:07
oha masak, although, say time-$x; would fail anyway
jaffa4 in there doc.perl6.org/language/objects#Object Construction
masak jaffa4: which example is that?
08:08 vendethiel left
jaffa4 section object construction 08:08
class EncodedBuffer <<<<<<< 08:09
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
(sorry if i'm silly, i'm just really curious)
jnthn abc-123 ain't a valid method (or sub) name 08:13
std: say time-1
camelia std 28329a7: OUTPUT«ok 00:01 136m␤»
jnthn In Rakudo's grammar we have:
token term:sym<time> { <sym> <.end_keyword> }
Where 08:14
token end_keyword {
» <!before <[ \( \\ ' \- ]> || \h* '=>'>
}
And that - in there is why we reject it
I don't know off hand whether it's Rakudo or STD that's out of line here.
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
jnthn That's certainly a sub name, and wins on longest token semantics. 08:15
oha jnthn, yeah, i sort of expected it
jaffa4 What is the implementation of the build-in parser? 08:16
What type of parser is it?
jnthn jaffa4: It's implemented as a Perl 6 grammar, which is a PEG, with longest declarative token as the key disambiguator 08:17
08:19 amurf left 08:20 amurf joined, rurban joined 08:24 amurf left 08:25 abraxxa joined
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:27
jaffa4 jnthn: is it packrat parser? 08:31
08:32 llfourn joined, espadrine joined 08:33 Tad_ joined 08:34 llfourn left
Tad_ Is perl 6 arrays different from perl 5 arrays 08:34
jaffa4 in what way?
jnthn They're different in various ways. 08:35
08:35 llfourn joined
jnthn jaffa4: Not sure off hand 08:35
Unlikely though 08:36
08:37 VinceDee joined 08:38 llfourn_ joined, llfourn_ left, espadrine left 08:46 vendethiel joined 08:50 coffee`_ joined, rurban left 08:55 g4 joined, espadrine joined 08:56 dakkar left
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:00
09:09 espadrine left, vendethiel left 09:21 vendethiel joined 09:23 ShimmerFairy joined 09:24 Hor|zon_ left
moritz Perl 6 arrays are potentially lazy, so yes, they are different 09:26
also, they have methods
Perl 5 arrays aren't objects
jaffa4 number of elements:: @a.elems.... 09:28
moritz though you can still just use the array in numeric context to get the number of elements 09:31
jdv79 is there "slush" period coming up? 09:33
sept sometime maybe? 09:34
jnthn I really hope by sept we'll be done with the major semantic tweaks. 09:36
And can focus on bugs, performance, polish.
jdv79 very nice 09:37
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?
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:42 vendethiel left
jaffa4 Is this wrong? @(%!list{$group}).push:$entry; 09:45
jnthn Don't see why you need the @(...) 09:46
In fact, putting it almost certainly will break things. 09:47
jaffa4 It did not push
yakudza omg I thought @{@{%{$blabla notations are left in perl5 (:
jnthn Yeah, I won't
*it
It'll probably coerce to a throw-away list, which you push to
You just want to %!list{$group}.push: $entry 09:48
It'll even auto-viv an array
If there ain't one there already
jaffa4 that did not seem to work
jnthn Then you probably did it wrong.
m: my %list; %list{'xxx'}.push: 42; say %list.perl
camelia rakudo-moar 89847f: OUTPUT«{:xxx([42])}<>␤»
jnthn m: my %list; %list{'xxx'}.push: 42; say %list<xxx>[0] 09:49
camelia rakudo-moar 89847f: OUTPUT«42␤»
jnthn yakudza: @{...} surely is
m: my $x; @{$x}
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>␤»
jnthn But you rarely need it at all 09:50
Since depending how you want to see it, everything is a reference, or there are no references :)
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␤»
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␤»
JimmyZ m: my @x = [0..9]; .say for @x;
camelia rakudo-moar 89847f: OUTPUT«0 1 2 3 4 5 6 7 8 9␤»
yakudza so now almost no difference between ref to list and list ? 09:54
I should read about it (:
jaffa4 m: my %list; %list{'xxx'}.push: 42; say %list.perl;
camelia rakudo-moar 89847f: OUTPUT«{:xxx([42])}<>␤»
jaffa4 jnthn: space matters after :???? 09:56
jnthn m: my %list; %list{'xxx'}.push:42; say %list.perl;
camelia rakudo-moar 89847f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3u9FjAm6XD␤Confused␤at /tmp/3u9FjAm6XD:1␤------> 3my %list; %list{'xxx'}.push:7⏏0542; say %list.perl;␤ expecting any of:␤ colon pair␤»
jnthn Yes :)
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⏏0542; say %list.perl; # wonder if it expla␤ expecting any of:␤ coloncircumfix␤ signature␤Parse failed␤FAILED 00:00 139m␤»
jnthn No :)
Makes sense though
Since it's potentially ambiguous with a colonpair in a method name.
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
09:58 yeahnoob left
RabidGravy jnthn, the 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:09
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␤»
CIAvash m: my $a = [0..9]; .say for $a>List;
camelia rakudo-moar 89847f: OUTPUT«Use of uninitialized value of type List in numeric context in block <unit> at /tmp/wOowG1oOQo:1␤True␤»
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␤»
CIAvash m: my $a = [0..9]; .say for @($a);
camelia rakudo-moar 89847f: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
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␤»
Tad_ is rakudo the best compiler for windows
jaffa4 Is it possible now to add a language to Perl6? 10:15
Tad_ you can add in lua and tcl 10:16
10:17 Tad_ left 10:18 virtualsue joined 10:20 pez_ joined, pez_ is now known as Guest84398
Guest84398 in perl 6 do you use "say" instead of "print"? 10:21
moritz often, yes 10:22
masak I use both 10:23
but `say` definitely more often
10:24 mr-foobar left
jaffa4 Is it easy to write a module to extend Perl6? 10:25
moritz depends on what exactly you want to extend
new symbols are generally easy
jaffa4 what if i added embedded Sql to Perl6?
Guest84398 Can you use inline assembly with perl6 code 10:26
moritz jaffa4: I think you'd have to write a slang for that
jaffa4 Does slang work?
moritz Guest84398: possibly via Inline::C
jaffa4: not as nicely as we want it to do, but FROGGS++ has written several already 10:27
jaffa4 What did he write?
moritz jaffa4: modules.perl6.org/ search for slang 10:28
3 are from FROGGS
10:28 vendethiel joined
Guest84398 Is there any perl6 compilers that with work with unix shell? 10:29
moritz Guest84398: define "work with"
you can all rakudo from the shell
masak .oO( you can all go to shell! ) 10:30
Guest84398 I am trying to automate some commands for a unix server
moritz so you want to run shell commands
yes, that works
oha what about "rakudo in the shell"? :) 10:31
moritz "rakudo in a nutshell"
10:31 vendethiel- joined 10:32 vendethiel left 10:34 espadrine joined
RabidGravy jaffa4, github.com/tony-o/perl6-slang-sql/ 10:34
10:38 bjz joined 10:49 CIAvash left 10:53 itz joined, dayangkun left
itz morning (just BST) 10:54
RabidGravy :)
Guest84398 Does perl support inline pascal code? 10:55
moritz Guest84398: are you a troll?
DrForr Write Inline::Pascal, and sure!
itz or do pascal in NQP? 10:56
10:56 mr-foobar joined, Guest84398 left
RabidGravy troll then 10:56
right, supermarket! 11:00
11:07 RabidGravy left 11:12 smls joined 11:15 TEttinger left 11:16 gfldex joined
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:22
itz isn't it defined as BNF? (vague memories of CS of decades past) 11:29
DrForr ANTLR? Hardly, closer to PEG or LALR(inf). 11:30
itz no pascal
DrForr Probably, but it's easier to convert someone else's grammar.
And lets me check out the output from the parser converter.
arnsholt Heh. And here I thought half the fun of writing a compiler is getting the grammar right =D 11:31
Probably my computational linguistics background showing
11:31 llfourn left 11:32 llfourn joined
jnthn People have varying ideas of fun ;) 11:33
arnsholt Definitely =)
11:36 jaffa4 left 11:40 wtw left
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
could anyone help? here some more info: gist.github.com/anonymous/d953766206a22761896a
11:45 |Tux| joined 11:49 ely-se joined
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 llfourn left
moritz oha: sadly yes 11:52
11:52 llfourn joined 11:57 amurf joined 12:02 amurf left 12:09 brrt joined 12:10 atroxaper left
hoelzro good morning #perl6 12:38
itz I seem to be having a "nothing works day" maybe finishing the bottle of Club Mate will help 12:57
masak I found modelviewculture.com/pieces/the-li...-languages interesting and relevant to Perl 6 as it matures. 13:00
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
13:02 |Tux| left
oha i wonder if i forgot something now 13:02
13:03 |Tux| joined
itz oha: you could check what "rakudobrew nuke" does .. although myself I tend to remove the entire .rakudobrew directory 13:04
oha i noticed it change quite a lot by changing the order of the "use"s 13:05
13:24 skids joined
cdc m: .say for { :a, :b }, { :c, :d } 13:30
camelia rakudo-moar 89847f: OUTPUT«a => True, b => True␤c => True, d => True␤»
cdc m: gather take $_ for { :a, :b }, { :c, :d }
camelia ( no output )
13:30 ely-se left
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␤»
cdc found the answer to his question :) 13:31
13:36 JimmyZ_ joined
FROGGS o/ 13:37
yoleaux 15 Jul 2015 15:23Z <lizmat> FROGGS: re irclog.perlgeek.de/perl6/2015-07-15#i_10898154 , yes that was intentional
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
15 Jul 2015 15:27Z <lizmat> FROGGS: re irclog.perlgeek.de/perl6/2015-07-15#i_10898200 , the range info is just for display, so a string will do fine
13:38 skids left
jnthn o/ FROGGS 13:40
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
tadzik, ^^
13:46 _mg_ left
tadzik oh, interesting 13:47
cdc Hello all, do you confirm that variadic functions are not supported by NativeCall yet? 13:54
timotimo yes, sorry about that :(
FROGGS: did you have a look at whether or not libffi can support var args? 13:55
cdc timotimo: ok, no problem :)
timotimo: AFAIK libffi support var args
jnthn dyncall also supports varargs 13:56
We just didn't implement it yet
13:56 skids joined, llfourn left
timotimo yes, i've looked at dyncall's varargs in the past, but i didn't do anything with it yet 13:57
13:59 RabidGravy joined 14:01 vendethiel- is now known as vendethiel
RabidGravy erp 14:02
itz Enterprise resource planning>
14:02 _mg_ joined
itz :) 14:02
dalek kudo-star-daily: efbb705 | coke++ | log/ (9 files):
today (automated commit)
14:04
14:04 g4 left
arnsholt Regarding libffi vs. dyncall, I think both should support mostly the same stuff 14:05
AIUI libffi is more commonly used in HLLs than dyncall
FROGGS I am very happy that we can use both now btw 14:12
14:12 xinming left 14:14 khw joined 14:17 aborazmeh left 14:19 khw left 14:20 bougyman left, llfourn joined
timotimo me, too 14:25
good work FROGGS :)
FROGGS :o)
was fun
and just a weekend worth of work
14:26 VinceDee left
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
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 _mg_ left
FROGGS constant LIB = 'curl' # should hopefully good enough 14:27
be*
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, aborazmeh left, aborazmeh joined
RabidGravy LibraryMake has some similar code in it 14:27
itz constant LIB = 'libcurl'; works 14:29
14:29 vytas left
masak m: my %h = foo => "bar"; say "food".trans(%h.keys => %h.values) 14:29
camelia rakudo-moar 89847f: OUTPUT«bard␤»
masak \o/
itz in that case maybe NativeCall should warn if the suffix exists since it's system specific?
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 14:34 AlexDaniel joined
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:35
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'?␤␤»
masak why isn't `words` a sub as well as a method? seems it could be useful?
(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
itz are there any test cases for NativeCall::guess_library_name? 14:42
smls m: dd lines "aa\nbb\ncc" 14:43
camelia rakudo-moar 89847f: OUTPUT«("aa", "bb", "cc")␤»
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?
masak no, IMO. 14:45
it's kind of a historic accident that `lines` does, even.
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.
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:47
PerlJam smls: but ... forgiveness >> permission ;) 14:48
14:48 brrt left
smls right, or simply add it and then revert if necessary. 14:49
m: my @a; dd lines @a;
camelia rakudo-moar 89847f: OUTPUT«()␤»
smls Nice; I was afraid the no-arg case would kick in. 14:50
How can it do that?
ah, of course, it's not a slurpy 14:51
FROGGS m: say Code.^mro
camelia rakudo-moar 89847f: OUTPUT«(Code) (Any) (Mu)␤»
FROGGS m: say Block.^mro
camelia rakudo-moar 89847f: OUTPUT«(Block) (Code) (Any) (Mu)␤»
dalek kudo/nom: 532c1c4 | RabidGravy++ | t/04-nativecall/16-rt125408.t:
Add test for RT#125408
14:55
kudo/nom: ce88222 | lizmat++ | t/04-nativecall/16-rt125408.t:
Merge pull request #471 from jonathanstowe/rt125408-test

Add test for RT#125408
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125408
RabidGravy I'll close that ticket then ;-)
lizmat RabidGravy++ 14:56
RabidGravy All closed ;-) 15:00
smls
.oO( except for the 1030 RTs that are still open... )
15:03
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
itz "WONTFIX" 15:05
hoelzro itz: I mean ones that have actually *been* fixed and someone forgot to check =)
dalek osystem: c318eeb | jaffa4++ | META.list:
Update META.list

added Ini::Storage
15:06
15:07 vytas left 15:09 jaffa4 joined 15:10 smls left
dalek p/leave: 4c33d5e | FROGGS++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
change CONTROL_RETURN to CONTROL_LEAVE
15:16
kudo/leave: 1f6e726 | FROGGS++ | src/ (5 files):
change CONTROL_RETURN to CONTROL_LEAVE, add leave() and Block.leave
15:17
15:18 estrabd joined, estrabd left 15:20 estrabd joined, estrabd left, zakharyas left, estrabd joined 15:24 nys joined 15:25 recojax joined 15:34 captain-adequate joined 15:35 amurf joined 15:36 aborazmeh left 15:40 amurf left
[Coke] Lots of people are checking. Easiest thing to do is sort all perl 6 tickets by last updated date. 15:48
15:48 telex left
[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:48
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:49
15:50 telex joined
hoelzro [Coke]: good point 15:53
[Coke] s/open for/not updated for/ , I mean
jaffa4 I added a new module, I cannot see it in Panda...What can be wrong? 15:56
15:57 skids left
PerlJam jaffa4: did you run "panda update"? 15:57
jaffa4 yes, but it did not seem to have an effect first as it seems to have an effect now 15:58
15:59 domidumont left
RabidGravy I think the packages.json is generated by a cron-job 16:00
jaffa4 I see 16:01
16:04 cognominal joined
timotimo yes, as soon as it shows up on modules.perl6.org, you can panda install it 16:05
it should be installable now, i think
16:07 nebuchadnezzar left
dalek kudo/nom: 4b5a5f9 | (Lucas Buchala)++ | src/core/CompUnitRepo.pm:
Fix vim modeline
16:07
kudo/nom: 0fa8c44 | FROGGS++ | src/core/CompUnitRepo.pm:
Merge pull request #472 from lucasbuchala/temp1

Fix vim modeline
16:08 nebuchadnezzar joined 16:09 vendethiel left 16:10 abraxxa left 16:16 vendethiel joined
vendethiel FROGGS++ # leave! wee 16:18
FROGGS vendethiel: we are not there yet
vendethiel FROGGS: I know, I saw the debug nqp::say() in the commit :P
FROGGS hehe, right
16:31 Juggu joined 16:32 Juggu left 16:33 recojax left, recojax joined 16:40 itz left
jaffa4 How can I see points? 16:41
16:41 diana_olhovik joined
timotimo "see"? "points"? 16:42
PerlJam jaffa4: context please?
jaffa4 ++
timotimo oh
jaffa4 What do you call it?
timotimo they aren't tracked, if i remember correctly
"karma"
PerlJam karma jaffa4
just checking
jaffa4 karma PerlJam 16:43
!karma
16:46 JimmyZ_ left
FROGGS there is no karma bot present 16:48
jaffa4 so it is just a habit to show compliment
FROGGS aye
we are just nice, that's all :o) 16:49
cdc .seen lambdabot
yoleaux I haven't seen lambdabot around.
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:50
FROGGS ugexe: I have not such a machine.... but you can also try passing --has-libffi to MoarVM's Configure.pl 16:52
ugexe: but make sure you've got libffi-dev installed
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
FROGGS so I restate: "the header files must also be present" :o)
geekosaur they will be
you don't get the binary part without the linker and header bits
FROGGS k
ugexe heh. i will give both a try. gotta rerun to log the output first 16:54
16:54 ely-se joined
geekosaur (and -devel means a testing release for ports) 16:54
16:55 _mg_ joined, ely-se left, spider-mario joined 16:56 domidumont joined 16:57 _mg_ left 16:59 JimmyZ_ joined
AlexDaniel jaffa4: you can parse the logs and generate the stats if you want :) 17:00
jaffa4 sure
17:02 JimmyZ_ left 17:11 Calibellus joined 17:12 Calibellus left
_itz ugexe: which compiler? clang or gcc 17:14
17:18 jaffa4 left 17:21 sivoais joined, [Sno] left
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
17:23 _mg_ joined
ugexe by process i mean thats the output of the build process 17:23
still waiting on the build for a full log
17:26 zakharyas joined 17:32 _mg_ left, skids joined 17:37 atweiden joined 17:49 espadrine left 17:50 zakharyas left
ugexe gist.github.com/ugexe/175bc466e965...1-txt-L346 17:53
thats from a rakudobrew build, so no special configuration arguments are being passed to moar's Configure.pl 17:55
geekosaur urgh
compare line 344 to line 347 17:56
it switched asm syntax on youy
masak to whoever made the "Redeclaration of symbol <var>" a warning instead of an error: thank you <3 17:59
RabidGravy "panda gen-meta" seems to be doing "===SORRY!=== 18:02
no such file or directory"
18:05 llfourn left
ugexe building dyncall myself ends the same way. the last command however is 18:05
cc -fPIC -I/home/ugexe/dyncall/././dyncallback/../dyncall -c dyncall_callback_arch.S -o dyncall_callback_arch.o
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:10
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)␤»
cognominal m: grammar A { token a { <a_> } ; token a_ { a } }; grammar B is A { token TOP { <a> }; token a_ { a } }; say B.parse('a')
camelia rakudo-moar 0fa8c4: OUTPUT«「a」␤ a => 「a」␤ a_ => 「a」␤»
ugexe my token a_ ?
cognominal lexical rules are not visible from the method dispatch mechanism 18:13
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:15
18:20 diana_olhovik left
masak all spectests passed successfully tonight. nice. someone++ 18:21
AlexDaniel m: my \test = 5; say test;
camelia rakudo-moar 0fa8c4: OUTPUT«5␤»
AlexDaniel what is this?
sigilless variables??
masak AlexDaniel: it's a sigil-less variable. 18:22
AlexDaniel: frankly, I don't use them much.
AlexDaniel masak: "much"? When do you use this?
masak AlexDaniel: TimToady like them. :) you will see them quite a lot on RosettaCode, especially for mathematical things.
likes*
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
AlexDaniel: like, `$` forces "item", `@` forces "list", etc. sigil-less does neither.
AlexDaniel hmm
masak AlexDaniel: the core setting uses it a lot for perf. I hope that use goes away. 18:24
AlexDaniel m: my \_ = 5; say _;
camelia rakudo-moar 0fa8c4: OUTPUT«5␤»
masak (because when you can just bind directly without forcing a context, apparently it's a bit faster)
jnthn Assignments to sigilless things, otoh, are slower 18:25
18:26 lucasb joined
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)
masak I dunno, that doesn't bother me so much.
jnthn We actually sped up some things (like the ++ impl) by using $ instead of \
'cus the compiler does case analysis by sigil 18:27
AlexDaniel what characters are allowed in variable names?
18:29 espadrine joined 18:35 diana_olhovik joined
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;␤»
AlexDaniel 'my a' ?
timotimo huh, some attribute not getting set properly in the exception class? 18:38
possibly the attribute was renamed, but its usages weren't updated?
AlexDaniel no idea, I'll submit rakudobug... 18:39
timotimo quite.
18:41 zakharyas joined
cognominal A follow up to my question. Does it make sense for rules to have the virtual method semantic? 18:41
timotimo oh, huh, that's interesting 18:42
"Useless declaration of a has-scoped $nocando in " ~ ($*PKGDECL || "mainline") ~ " (did you mean 'my $*METHODTYPE $name'?)");
the error probably comes from trying to put the "a" method in place for accessing the attribute 18:43
lucasb m: our $!x
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␤»
lucasb A better error would be this ^^
AlexDaniel lucasb: yea I've already tried this :)
timotimo well... :) 18:44
18:44 kyclark joined 18:45 [Sno] joined, andreoss joined 18:48 smls joined
andreoss s: my @x = [3; 0; 6], [2;7;0]; say @x.flat.perl; 18:49
AlexDaniel s? 18:50
18:50 FROGGS left
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]]<>␤»
smls jnthn: Just read your blog from last week. Did TimToady respond to your gist (gist.github.com/jnthn/fa6a9a3618ae322cb581)?
andreoss why nothing happens here?
smls andreoss: Because [] creates itemized arrays (currently - apperently that's gonna change) 18:52
18:52 wtw joined
smls itemized specifically means "do not flatten". 18:53
andreoss s: my @x = [3; 0; 6], [2;7;0]; say @x.map(*.flat).flat.perl; 18:54
m: my @x = [3; 0; 6], [2;7;0]; say @x.map(*.flat).flat.perl;
camelia rakudo-moar 0fa8c4: OUTPUT«(3, 0, 6, 2, 7, 0)␤»
masak grr, t/spec/S17-lowlevel/lock.rakudo.moar failed in this test run. 18:56
18:57 ssqq joined
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«␤»
AlexDaniel I wonder if any at least one of this should produce a warning
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 ssqq left
AlexDaniel yeah, why x and xx work differently? 19:03
I mean, when you pass Inf as a second argument 19:04
smls x is for string repetition, xx for list repetition
andreoss m: say ~Inf;
camelia rakudo-moar 0fa8c4: OUTPUT«Inf␤»
lucasb P6 still doesn't have lazy strings
andreoss m: say (~Inf xx Inf).perl
camelia rakudo-moar 0fa8c4: OUTPUT«Cannot coerce Inf or NaN to an Int␤ in block <unit> at /tmp/lLj1MDaX_v:1␤␤»
AlexDaniel m: 5 x Inf
camelia ( no output )
smls oh, that's not what u mean
AlexDaniel m: 5 xx Inf
camelia rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/sE5IIO3tEg:1␤␤»
colomon and does have lazy lists
andreoss m: say (5 xx Inf).perl
camelia rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/eWLxcDSH0v:1␤␤»
AlexDaniel hmmm
m: '5' x Inf
camelia ( no output )
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␤␤»
andreoss why?
lucasb 'xx' is not working with Inf
but it works with * (Whatever)
andreoss the error message is not the same 19:06
lucasb m: constant f = { 42 }; f xx Inf
camelia rakudo-moar 0fa8c4: OUTPUT«This type cannot unbox to a native integer␤ in block <unit> at /tmp/QIcaPjEl2n:1␤␤»
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␤␤»
lucasb "xx" has different multis
... for each case
19:07 andreoss left
AlexDaniel lucasb: but that's not OK, right? 19:08
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
AlexDaniel lucasb: yea, that makes sense
okay I'll submit that
jnthn smls: No, not yet, though I'm not blocking on him doing so :) 19:10
(yet :))
smls I had wondered about the || semicolon-level argument interpolation too when reading S09. 19:11
dalek kudo/words: 5448c85 | (Carl Masak)++ | src/core/io_operators.pm:
[src/core] implement `words` sub

In analogy with the `lines` sub, except that `words` conservatively doesn't default to $*ARGFILES.
19:12
masak all spectests pass in that branch.
the only remaining question is whether we want &words
(I do.) :)
19:12 domidumont left 19:13 amurf joined, brrt joined
brrt \o 19:14
smls jnthn: Right now, .[ ] doesn't use flattening slurpies at all, does it?
jnthn masak: I don't immediately see why not
smls: Not sure off hand; I need to review that soon though, given I've done all the VM-level bits :) 19:15
masak jnthn: me either; I'm just being cautious because I'm essentially implementing a new (unspec'd) feature. 19:16
oh no, I'm not. says `is export` in S32/Str
well, that settles it :>
PerlJam masak: +1 from me :)
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 amurf left
dalek kudo/nom: ee36da5 | (Carl Masak)++ | src/core/io_operators.pm:
[src/core] implement `words` sub

In analogy with the `lines` sub, except that `words` conservatively doesn't default to $*ARGFILES.
19:17
jnthn smls: I think it may be more that we pass a LoL
But then we may need to look at construction costs of those 19:18
otoh I plan to cheat like hell on the native arrays :)
smls :P
lucasb masak++; I think I like the sub form 19:21
masak pro tip: words + heredocs + assigning to a hash = \o/ 19:26
colomon is having a hard time imagining that… 19:27
19:27 kyclark left
smls masak: why not < ... > and assigning to a hash? 19:28
PerlJam indeed. 19:29
what smls said
masak because backslashes, in this case
the heredoc contained mostly LaTeX directives and braces, and the backwhacking made it really ugly 19:30
heredoc + words solved that
smls m: dd Q:w<aa bb \nn>
camelia rakudo-moar 0fa8c4: OUTPUT«("aa", "bb", "\\nn")␤»
masak yeah, could've done that.
PerlJam Any reason why words("foo bar baz blat", *) shouldn't work like words("foo bar baz blat",Inf) ? 19:31
(same for lines)
masak I think it does.
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…»
smls m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10); x |(42, "a" => 10);
camelia rakudo-moar 0fa8c4: OUTPUT«---␤[]<>␤{:a(10)}<>␤---␤[42, :a(10)]<>␤{}<>␤»
smls ^^ that seems flaky
PerlJam masak: not here. I get: Cannot call Numeric(Whatever: ); none of these signatures match: ... 19:33
masak oh
yeah, same here
19:33 FROGGS joined 19:34 kyclark joined
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
that could even be a security risk
Maybe | should interpolate strictly based on the top-level type of its argument 19:35
jnthn smls: , makes lists, not parens
masak submits rakudobug about words($s, *) not working
jnthn Well, Parcels at the moment
smls oh, so it already doe what I suggested?
jnthn smls: yeah, believe so 19:36
smls m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10,k "b" => 15);
camelia rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U2OI5AqQmh␤Undeclared routine:␤ k used at line 1␤␤»
smls m: sub x (*@_, *%_) { say "---"; dd @_, %_ }; x |("a" => 10, "b" => 15);
camelia rakudo-moar 0fa8c4: OUTPUT«---␤[:a(10), :b(15)]<>␤{}<>␤»
smls yay
jnthn: So, just add another overload that accepts LoL, and you won't need a separate ||
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
masak m: say (words "foo bar baz", *).perl
camelia rakudo-moar 0fa8c4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gED71tagJ5␤Undeclared routine:␤ words used at line 1. Did you mean 'ords'?␤␤»
masak d'oh
jnthn :P 19:38
dalek rl6-roast-data: 1966a5a | coke++ | / (9 files):
today (automated commit)
19:39
[Coke] (spectest passing) not for weeks, actually. 19:41
jvm, moar, and moar-nojit all failing in different ways.
(and not even on osx, on p6c.org)
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␤␤»
lucasb there is a multi method for lines(Whatever) 19:45
dalek kudo/nom: 5beeafd | PerlJam++ | src/core/io_operators.pm:
Allow words($string, *) to work
19:45 kyclark left
lucasb but there isn't a multi sub for lines(Whatever) 19:45
vendethiel lucasb: "nqp::istype($limit,Whatever)" 19:48
isn't that good enough?
lucasb yeah, testing for Whatever before the numeric comparison fixes it :) 19:49
19:51 beastd joined
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␤␤»
PerlJam I would guess that making multis for the Inf and * cases would be a slight optimization too.
lucasb Also must revert the order of comparison in IO::Handle .lines and .words 19:53
19:54 kyclark joined 19:55 smls left, smls_ joined
dalek kudo/nom: b606f9f | PerlJam++ | src/core/IO/Handle.pm:
Allow IO::Handle lines(*)/words(*) to work
19:57
[Coke] OH. I just realized I can make a chrome plugin to make it easier to find tickets in RT to work on. 19:58
19:59 _mg_ joined
AlexDaniel m: say 'test' x *; 20:00
camelia rakudo-moar ee36da: OUTPUT«WhateverCode.new␤»
AlexDaniel what is that?
masak an un-run piece of code.
m: say ('test' x *)(5) 20:01
camelia rakudo-moar ee36da: OUTPUT«testtesttesttesttest␤»
AlexDaniel "The count may not be * because Perl 6 does not support infinite strings. (At least, not yet...)"
design.perl6.org/S03.html#Replication
20:01 llfourn joined
masak I think the current behavior makes more sense than * meaning Inf... 20:01
if you want Inf, write Inf 20:02
AlexDaniel haha
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... :)
AlexDaniel masak: just reported this: rt.perl.org/Public/Bug/Display.html?id=125627
PerlJam How do you mark an RT ticket as "tests needed"? 20:03
jnthn PerlJam: Jumbo
PerlJam danke
jnthn bitte
masak if it's in Jumbo, it's also in one of the smaller ones :)
jnthn
.oO( guten tag... )
20:04
AlexDaniel masak: so, what can we do about it?
does not sound like rakudobug
20:05 _mg_ left
masak AlexDaniel: change the spec to conform with implementation, far as I'm concerned. 20:05
jnthn I think I'm good with that.
[Coke] PerlJam: Custom Fields, Tag, add testneeded (tag is multiselect)
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 llfourn left
AlexDaniel masak: so where should I report problems with the spec? 20:06
[Coke] github.com/perl6/spec/issues
AlexDaniel great
[Coke] er, github.com/perl6/specs/issues
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 :)
masak AlexDaniel++
jnthn The design docs ain't holy :)
(Of course, an issue is welcome too.) 20:07
AlexDaniel jnthn: you are right. Maybe next time :)
PerlJam needs to play with RT more to get used to the interface. 20:08
jnthn d3
oops
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
And opens them in a PDF viewer :) 20:10
masak ooh :)
lucasb one script of each day? :D
jnthn yeah :P
I don't teach anything longer than 3 days, though :P
lucasb oh, good
jnthn 3 days of me is enough for anybody. 20:11
PerlJam makes a mental note to ask jnthn's wife if she only takes him in 3 day doses 20:12
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:15
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:16 diana_olhovik left 20:18 bin_005 joined
masak four richer, four poorer? 20:18
nwc10 four better, four worse 20:19
total, 16.
20:21 FROGGS left, dha joined
cognominal I have found an answer to my question : <&foo(1,2,3)> in S05 20:31
20:33 zakharyas left, ssqq joined
ssqq after install rakudo-star-2015.03-x86 (no JIT).msi, panda could not install module 20:35
dha Admittedly, pandas are a bit clumsy. :-) 20:36
ssqq not 03, is 06, rakudo-star-2015.06-x86 (no JIT).msi
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
masak .oO( live each rakudo as if it's your last ) 20:38
ssqq best operate system to run Perl6 is Linux
ugexe afaik panda hasnt worked on win32 for a few months. at least for cl
ssqq I met a stange error when use YAML; anyone could help me? `use YAML; say dump < ^^ $$ >; 20:40
20:40 darutoko left
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:41
masak why does YAML have a dependency on TestML? 20:42
timotimo in order to run its tests
ssqq Have any similar module like YAML could lookup data with indent? 20:43
20:43 kyclark left
timotimo the to-json we have in core (but don't rely on it staying around) does indenting, too 20:44
m: say to-json({:foo, :bar, :yoink<a b c d>})
camelia rakudo-moar b606f9: OUTPUT«{␤ "bar" : true,␤ "foo" : true,␤ "yoink" : [␤ "a",␤ "b",␤ "c",␤ "d"␤ ]␤}␤»
RabidGravy I've just installed both
timotimo oh? do they actually work? 20:45
i must admit the last time i looked at it must have been a year ago or earlier
ugexe he is on win32 i think
RabidGravy well, that code gives nasty error
I think it needs some love
ssqq I think the best way is save data with JSON, and view it with Perl5<YAML> 20:47
20:47 ssqq left
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, kyclark left
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.
flussence hm, that's no good... it should only have 3 marked todo/skip/* 20:51
20:51 ssqq joined
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:53
20:54 kaare_ left
flussence oh, it's still using the old source-url thing, maybe that's why 20:55
I'll fix it, just updating rakudo atm
20:56 brrt left 21:00 ssqq left 21:01 llfourn joined 21:02 skids left, amurf joined 21:06 llfourn left, amurf left
flussence oh, it's the opposite... it depends on a module using the support { source } syntax. I can fix that too, one minunte... 21:07
lucasb m: sub f(Int() $x) {}; f(NaN) 21:15
camelia ( no output )
lucasb m: sub f(Int() $x) { $x }; f(NaN)
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.…»
flussence ohhh, looks like those URLs are cached server-side. It *should* work but I won't know until maybe an hour from now...
lucasb ^^ Is this because the coercion is lazy or something?
m: sub f(Int() $x) { $x; 42 }; f(NaN) 21:19
camelia ( no output )
lucasb m: sub f(Int() $x) { $x }; f(NaN); 1 21:20
camelia ( no output )
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␤␤»
lucasb ^^ I think this shows that if don't evaluete a failed coercion in sink context, it's all good
*evaluate
masak lucasb: I think you're right.
lucasb: my intuition tells me the optimizer is removing problems for us.
lucasb perl6 --optimize=off -e 'sub f(Int() $x) { $x }; f(NaN)' 21:22
^^ this still fails
masak as it should. 21:23
lucasb "--optimize=off" is the right way to turn it off?
masak but that one failed before.
isn't it --optimize=0 ?
lucasb oh, I maybe a confusion; it fails with or without the optimize :)
21:23 TEttinger joined
masak right. 21:23
21:23 lizmat left
lucasb *I made a... 21:23
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
jnthn off and 0 are different 21:33
off means "don't even do the analysis"
0 should mean "do the analysis but no optimizations"
So you can isolate analysis crashes from transform crashes. 21:34
masak ah.
21:37 spider-mario left 21:48 Ven joined 21:52 Ven left 21:53 mr-foobar left 21:54 mr-foobar joined 22:03 virtualsue left 22:04 lucasb left
cognominal github.com/perl6/specs/issues/96 I sollicit comments for my problems with sigspaces 22:10
22:16 meisl joined 22:22 bin_005 left
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
Should the doc for C<//> be corrected for now, or should we wait until the implementation is settled?
22:23 RabidGravy left
masak dha: not sure I understand. 22:31
dha: C<//> and C<orelse> do have different behaviors, so they should probably be described differently. 22:32
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
dha C<//> says that it returns the first defined operand, but that is not the case if there are no defined operands.
C<orelse> specifies that it returns the last operand if none are defined.
timotimo ah, yes
that part ought to be added to //, too
dha C<//> certainly seems to behave that way as well.
timotimo that it returns the last one if no one was defined
masak m: sub foo { fail 42 }; foo() orelse say $! 22:34
camelia rakudo-moar b606f9: OUTPUT«Nil␤»
timotimo masak: "is supposed to", i think
masak aye.
NYI.
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 mr-foobar left
masak I'm not sure why the `()` are required there, if `orelse` is a *statement*-level infix. 22:34
dha m: say Any // Int;
camelia rakudo-moar b606f9: OUTPUT«(Int)␤»
22:34 espadrine left
dha m: say Int // Any 22:35
masak shouldn't it work more similarly to statement-modifier `if`?
camelia rakudo-moar b606f9: OUTPUT«(Any)␤»
masak m: sub foo { 42 }; say foo if True
camelia rakudo-moar b606f9: OUTPUT«42␤»
dha Yep. seems to have the behavior described in C<orelse>
22:36 mr-foobar joined 22:37 kyclark left 22:38 kyclark joined 22:41 beastd left, skids joined
masak I don't think "same as infix //" is a good description of `orelse`. 22:42
looser precedence isn't the only difference. 22:43
dha What else is there? 22:45
22:46 telex left
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.
sorry. //
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
(Granted, I haven't looked at the implementation, but that certainly appears to be its behavior)
22:48 telex joined
masak docs for || has it right 22:49
"Returns the first argument that evaluates to True in boolean context, or otherwise the last argument."
(except that it refers to the operands as "argument". that's needlessly routine-centric.)
dha That doesn't change the fact that the doc for // says "Returns the first defined operand." 22:50
masak *nod*
yeah, please fix that.
dha Ok. 22:51
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
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:53
dalek c: 2624102 | (David H. Adler)++ | lib/Language/operators.pod:
Changed entry for C<//> in operators.pod to reflect behavior when there
22:55
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.
skids flussence: I noticed, thanks. Haven't debugged that SEGV yet. 23:02
23:04 s34n left
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:05
23:13 xiaomiao joined 23:18 kyclark left 23:19 bjz left 23:21 amurf joined, timo1 joined, timotimo left 23:23 smls_ left 23:44 laouji joined 23:45 b2gills left 23:55 vendethiel left