»ö« 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.
tony-o hoelzro: that pipe problem for me isn't related to swallowing errors afaik 01:38
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
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
dalek p: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm:
Print out some Moar information
03:37
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
dalek p/travis-testing: ccd06bf | hoelzro++ | tools/lib/NQP/Configure.pm:
Print out some Moar information
03:39
jaffa4 hi all 07:32
RabidGravy marnin
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!
[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
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?
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␤»
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
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
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
jnthn jaffa4: Not sure off hand 08:35
Unlikely though 08:36
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
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
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
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
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
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
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"
RabidGravy jaffa4, github.com/tony-o/perl6-slang-sql/ 10:34
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
RabidGravy troll then 10:56
right, supermarket! 11:00
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
jnthn People have varying ideas of fun ;) 11:33
arnsholt Definitely =)
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
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
moritz oha: sadly yes 11:52
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
oha i wonder if i forgot something now 13:02
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
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 )
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
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
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, ^^
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
timotimo yes, i've looked at dyncall's varargs in the past, but i didn't do anything with it yet 13:57
RabidGravy erp 14:02
itz Enterprise resource planning>
itz :) 14:02
dalek kudo-star-daily: efbb705 | coke++ | log/ (9 files):
today (automated commit)
14:04
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
timotimo me, too 14:25
good work FROGGS :)
FROGGS :o)
was fun
and just a weekend worth of work
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 :)
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 ...
RabidGravy LibraryMake has some similar code in it 14:27
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␤»
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␤»
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)
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
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
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
[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: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
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
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
RabidGravy I think the packages.json is generated by a cron-job 16:00
jaffa4 I see 16:01
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
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
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
jaffa4 How can I see points? 16:41
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
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
geekosaur (and -devel means a testing release for ports) 16:54
AlexDaniel jaffa4: you can parse the logs and generate the stats if you want :) 17:00
jaffa4 sure
_itz ugexe: which compiler? clang or gcc 17:14
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
ugexe by process i mean thats the output of the build process 17:23
still waiting on the build for a full log
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"
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
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
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?
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.
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
andreoss s: my @x = [3; 0; 6], [2;7;0]; say @x.flat.perl; 18:49
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]]<>␤»
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
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
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␤␤»
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
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.) :)
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.
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
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
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
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
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
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
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
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
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
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.
masak four richer, four poorer? 20:18
nwc10 four better, four worse 20:19
total, 16.
cognominal I have found an answer to my question : <&foo(1,2,3)> in S05 20:31
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
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
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
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
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
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
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
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
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 :)
masak right. 21:23
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
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.
cognominal github.com/perl6/specs/issues/96 I sollicit comments for my problems with sigspaces 22:10
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?
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...
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)␤»
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>
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
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)
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?
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
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