»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
[Coke] googled how to add swap, done. host08 now has as much as 07 did. 02:18
TimToady now near Torrey, UT 02:53
went over 9000ft with no eye problems, yay 02:54
[Coke] yay! 03:16
[Coke] m: say 3; #you still here, c? 03:17
camelia rakudo-moar 0412f5: OUTPUT«3␤» 03:19
[Coke] just barely, it seems.
BenGoldberg std: say 42; 03:20
[Coke] nine,diakopter: if that's how slow camelia is going to be when the rakudo.jvm tests are running, then yah, maybe we should move the daily run to nine's box instead of 8
camelia std fc92e1e: OUTPUT«ok 00:01 139m␤»
japhb [Coke]: How much RAM would make Camelia and the rebuilders and other support structure happy? 03:21
[Coke] dunno. just the rakudo.jvm spectest tends to kill 1-2 cpus and about 5.4G 03:39
(assuming that 66% includes swap - if not, then 2.8G)
[Coke] m: say 6 04:20
camelia rakudo-moar 0412f5: OUTPUT«6␤»
dalek rl6-roast-data: 525a94e | coke++ | bin/ (2 files):
Re-enable rakudo.jvm runs
04:21
rl6-roast-data: 08f93fe | coke++ | / (2 files):
Belatedy run the rakudo.jvm daily.
dalek ecs: 626b042 | (Elizabeth Mattijsen)++ | S16-io.pod:
Added some stragglers
05:13
kudo/nom: e5e9286 | (Elizabeth Mattijsen)++ | src/core/io_operators.pm:
Minor streamline of prompt()
lizmat LHF: there are apparently no tests for prompt() 05:14
dalek ecs: eaffff8 | (Elizabeth Mattijsen)++ | S32-setting-library/IO-OLD.pod:
Old version of S32/IO, for future reference
05:17
yeahnoob It don't have any time-performance tests in the Perl 6's rakudo-star for now, is that so? 06:32
lizmat I'm not aware of the existence of any, only of the compiler itself
lizmat mp: sub a ($a --> True) { say $a }; a "foo" # :-) 06:34
m: sub a ($a --> True) { say $a }; a "foo" # :-) 06:35
camelia rakudo-moar e5e928: OUTPUT«foo␤Type check failed for return value; expected 'Bool' but got 'Bool'␤ in any return_error at src/vm/moar/Perl6/Ops.nqp:646␤ in sub a at /tmp/hwC4u7_sRq:1␤ in block <unit> at /tmp/hwC4u7_sRq:1␤␤»
yeahnoob Will the "Time-Performance test suite" be there in sometime future?
lizmat
.oO( must not say "Well volunteered", must not, must not )
nine yeahnoob: well volunteered! 06:36
yeahnoob Oh, well...I use my old test code with the latest git-pull today, and get a slower result. So I think about it should be a performance-test somewhere in Github. 06:42
yeahnoob Test result with the older rakudo-moar, code.csdn.net/snippets/473433 06:45
and code.csdn.net/snippets/473431 06:46
the newer become slower..
lizmat yeahnoob: what is the code executed ? 06:49
yeahnoob it's my old test code
said here before
from github.com/yeahnoob/perl6-perf/blo.../cp-mod.pl 06:50
lizmat ah, I think you're suffering from .words becoming lazy
could you try with .words(:eager) ? 06:51
yeahnoob sorry , i paste the old code 06:51
oh ? what's the eager mean? 06:52
lizmat not lazy
yeahnoob ok , i will try it 06:53
lizmat meaning that it will create all words it can
without waiting for return
also, if your text file consists of just words in pairs
lizmat you might want to try something like: 06:54
for "wordpairs.text".IO.words(:eager) -> $a, $b { push %dict{$a} = $b; } 06:55
yeahnoob Thanks for your patient :) I'm trying it now 06:56
yeahnoob Wow...It's much faster with the way you said. 07:02
2.87s user 0.07s system 99% cpu 2.933 total
yeahnoob lizmat: Ola, It surprised me. You should know my old code running about 20sec... 07:05
lizmat cool :-) 07:10
so about 7x as fast, not bad :-)
lizmat TimToady: an idea: print prints to whatever $*OUT is 07:16
take takes to whatever the inner gather is
$*OUT allows for lexical override
take does not
I was thinking that maybe "take" should be overridable and allow that mechanism to instead .more it to a Supply 07:17
I think we will have many situations in modules, or core settings for that matter
where it would be nice to get a Supply of something, rather than a lazy list 07:18
lizmat something to keep in mind for the GLR ? 07:18
lizmat examples in the core: lines, words, dir, combinations, permutations, match 07:22
lizmat others: uniq, squish, rotor (which would make current specific Supply methods possibly obsolete) 07:25
dalek ecs: 0ba7481 | (Elizabeth Mattijsen)++ | S16-io.pod:
Some minor movement, tweaks
07:28
ecs: 9d5747d | (Elizabeth Mattijsen)++ | S16-io.pod:
Not sure we need glob at all

If you really want a systems's glob() semantics, we should probably just do a Proc::Async to the file system and return a lazy .lines from that.
dalek ecs: da6c654 | (Elizabeth Mattijsen)++ | S16-io.pod:
Oops, forgot one Testable -> FileTestable
07:36
Ven o/, #perl6 07:44
lizmat Ven o/ 07:45
dalek ecs: abb19a5 | (Elizabeth Mattijsen)++ | S16-io.pod:
Add "extension"
08:02
dalek ecs: 594cb70 | (Elizabeth Mattijsen)++ | S16-io.pod:
Eradicate IO::FileTestable role

There is no point keeping this functionality in a role, as it only just works on an IO::Path really. In the IO::Handle case, it works on the $!path of the IO::Handle object: which should be easily installable with "handles".
08:23
dalek ecs: a2a2524 | (Elizabeth Mattijsen)++ | S32-setting-library/IO.pod:
Part 1 of S32/IO revamp

Got as far as slurp()
08:27
lizmat afk for a few hours& 08:27
dalek kudo/optimatch: 8bdc777 | (Tobias Leich)++ | src/core/Cursor.pm:
fix spectest fallout on parrot
09:11
bartolin m: 1 ... () 10:59
camelia rakudo-moar e5e928: OUTPUT«Unhandled exception: Element shifted from empty list␤ at <unknown>:1 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13627 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CO…»
bartolin m: my @a; my $foo = @a.shift
camelia rakudo-moar e5e928: OUTPUT«Unhandled exception: Element shifted from empty list␤ at <unknown>:1 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13636 (/home/p6eval/rakudo-inst-1/languages/perl6/runtime/CO…»
bartolin both look good to me. The first one is from RT #75316 11:00
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=75316
bartolin there is a test in S03-sequence/basic.t which is marked TODO and tests unsucessfully for a Failure object 11:01
use Test; isa_ok ( 1 ... () ), Failure, 'empty list on right side of sequence operator does not cause infinite loop'
m: use Test; isa_ok ( 1 ... () ), Failure, 'empty list on right side of sequence operator does not cause infinite loop'
camelia rakudo-moar e5e928: OUTPUT«not ok 1 - empty list on right side of sequence operator does not cause infinite loop␤␤# Failed test 'empty list on right side of sequence operator does not cause infinite loop'␤# at /tmp/cOHPJZ_Tbt line 1␤# Actual type: List␤»
bartolin m: use Test; dies_ok { 1 ... () }, 'catchable exception';
camelia rakudo-moar e5e928: OUTPUT«ok 1 - catchable exception␤»
bartolin do you agree that the second test looks better? 11:02
lizmat bartolin: throws_like may be better, if it is a specific type of exception (so not X::AdHoc) 11:04
bartolin okay, I'll have a look at that.
nine How can I declare a package GLOBAL::Foo from code EVALed in class Inline::Perl5::Perl6PackageCreator? 11:05
lizmat GLOBAL::<Foo> = package {} ? 11:06
bartolin lizmat: What is the best way to add some information to the ticket? Or: Can I get a login for the request tracker? I'd like to start contributing by looking at tickets and test. 11:07
lizmat a login you would need to create yourself, afaik 11:08
getting access to the tickets, is something masak or moritz can take care of, afaik
bartolin Okay. Then I'll start with creating an account ;-)
Thanks!
nine lizmat: thanks, that works! 11:09
lizmat
.oO( it helps if everything is an object :-)
11:10
dalek nda: a65a03f | Carlin++ | lib/Panda/Tester.pm:
run tests normally if Build.pm is not a Tester

If the Build.pm is not Panda::Tester the tests will be run as normal. Currently if a Build.pm file exists but does not supply a test method no tests are being run. This means many Nativecall reliant modules are not being tested in the smoketests etc.
11:11
nda: 26cb64f | colomon++ | lib/Panda/Tester.pm:
Merge pull request #102 from carbin/panda-test

run tests normally if Build.pm is not a Tester
Looks solid, and it's easier for me to test once merged. ;)
colomon commences smoke run with new panda. 11:12
bartolin r: use Test; throws_like { 1 ... () }, X::AdHoc, 'catchable exception' 11:28
camelia rakudo-parrot e5e928: OUTPUT«use of uninitialized value of type Nil in numeric context in sub throws_like at lib/Test.pm:294␤␤ 1..2␤ ok 1 - code dies␤ ok 2 - right exception type (X::AdHoc)␤ok 1 - catchable exception␤»
..rakudo-moar e5e928: OUTPUT« 1..2␤ ok 1 - code dies␤ ok 2 - right exception type (X::AdHoc)␤ok 1 - catchable exception␤»
..rakudo-jvm e5e928: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
lizmat bartolin++ 11:29
bartolin ;-) && lizmat++
Ven Alright, I don't think we have a backbone manager in p6? I wanted something like that 11:40
Probably using tadzik++'s Template::Mojo
lizmat wonders what a backbone manager is 11:41
something that middle management doesn't have ?
Ven lizmat: basically, a directory structure generator. i.e., I want a perl6 module, I run `6bones gen perl6/module --name=Lib::Foo`. It then clones perl6/module, parses all files (that need it) using Template::Mojo, and cleans off the .git 11:43
you create a backbone once, and you can reuse them. kinda like g8 and stuff
lizmat usually just looks at her projects, then uses cp -rp and removes / cleans stuff she doesn't need 11:44
Ven .ask tadzik what's that .values for? github.com/tadzik/Template-Mojo/bl...jo.pm#L194 11:45
yoleaux Ven: I'll pass your message to tadzik.
Ven lizmat: right, but then you're not really letting other people use your wisdom :) 11:45
FROGGS carlin++ # thanks for fixing my mess
lizmat Ven: true
I keep a lot to myself :-) 11:46
tadzik Ven: hmm, not sure 11:47
yoleaux 11:45Z <Ven> tadzik: what's that .values for? github.com/tadzik/Template-Mojo/bl...jo.pm#L194
tadzik Ven: does it work without it?
:)
Ven can't try right now :) 11:48
tadzik also, I didn't write that, szabgab++ did :)
Ven szabgab++
(don't imply I should be git blaming!) 11:49
tadzik I checked because I don't recall writing the docs at all :D
Ven well I was gonna look at t/ but then I saw that little eg/ folder and thought "I know what that means.." 11:51
timotimo m: my %foo = <me singular us plural>; for %foo { say $_.perl } 11:56
camelia rakudo-moar e5e928: OUTPUT«"me" => "singular"␤"us" => "plural"␤»
timotimo m: my %foo = <me singular us plural>; for %foo.values { say $_.perl }
camelia rakudo-moar e5e928: OUTPUT«"singular"␤"plural"␤»
timotimo it would appear you would need the .values there, no?
Ven timotimo: no, it's on %foo<me> 11:58
so it's doing Array#values
Ven m: say (my %) 11:59
camelia rakudo-moar e5e928: OUTPUT«␤»
Ven %)
Ven (timotimo ™) 11:59
timotimo oh, ok
timotimo timotimo™™ 12:00
Ven %)
Ven used to do this smiley all the time, but then became _grrr :P 12:00
timotimo ven_grrr? 12:01
timotimo .o( i still haven't watched marvel's The A Ven_grrrs ) 12:01
Ven wow, you're going pretty far 12:02
bartolin okay, one last try ;-) 12:06
r: use Test; throws_like { 1 ... () }, X::AdHoc, "catchable exception", message => "Element shifted from empty list"
camelia rakudo-jvm e5e928: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
..rakudo-{parrot,moar} e5e928: OUTPUT« 1..3␤ ok 1 - code dies␤ ok 2 - right exception type (X::AdHoc)␤ ok 3 - .message matches Element shifted from empty list␤ok 1 - catchable exception␤»
bartolin :-/ 12:07
lizmat eh? what is the problem ?
bartolin I hoped to got around the jvm error 12:08
lizmat camelia on the jvm is not really well
that's not your fault
j: say 42
camelia rakudo-jvm e5e928: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
bartolin Oh! That broken!
lizmat yup, *that* broken
j: i
camelia rakudo-jvm e5e928: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
lizmat
.oO( golfed down )
12:09
bartolin niecza: use Test; throws_like { 1 ... () }, X::AdHoc, "catchable exception", message => "Element shifted from empty list"
camelia niecza : OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.␤»
bartolin Hmm. 12:10
colomon Hmmm, six new failures with the Panda patch.
bartolin (I'm trying this because I want to know what I have to fudge in the test file.)
lizmat assume no fudging is needed on JVM, or maybe better: also build rakudo on JVM for yourself :-) 12:12
bartolin It works locally with perl6-j. So I'll do no fudging. Thanks again! 12:13
[Coke] (access to tickets) I think that's just me and pmichaud at this point. 12:27
bartolin do you have (something like) a policy for that? 12:29
[Coke] ok, I fixed (I hope) the daily runs of rakudo-star-daily & perl6-roast-data; I may be forced to look into camelia before moritz returns from vacation. :)
something like "applicant must present some interest". What's your RT userid? 12:30
FROGGS colomon: sadly that's not because of the patch :/
bartolin [Coke]: I don't have one yet. I'll ping you when I created my account, okay?
colomon FROGGS: really? you know the cause, then? 12:31
colomon was rebuilding rakudo to test on a different machine, but got sidetracked
FROGGS colomon: these modules were not tested... so the problem is just that we were blind for some time :o(
bartolin [Coke]: BTW, Google led me to this list gist.github.com/coke/ac078396e8f216b83e9a 12:32
[Coke]: Is it still valid? 12:33
colomon FROGGS: well, then that is because of the patch -- it exposed the problems to the light.
bartolin s/still//
[Coke] bartolin: ok. when commenting on tickets, default towards clicking the 'cc perl6' button. tickets that don't have a test are marked testneeded. if closing a test marked testneeded, say where the test is. Make sure when adding tests based on tickets you include "RT #" in the fudge comment (if todo/skip) or with a straight # RT <id> comment around the block.
colomon as always, here is the link -- host07.perl6.com:8080/report -- the one day failures at the top all "passed" 8.5 hours ago.
[Coke] bartolin: holy crap, google knows everything. 12:34
colomon: host07 is going away. does that need to move to host07?
bartolin [Coke]: ;-)
[Coke] er, host07, host08
colomon [Coke]: yes
I guess
[Coke] bartolin: yes, everything on that list is still good, though lizmat has committed some stuff to nqp which causes it to pass tests by cheating.
[Coke] (adding a stub for docs quiets the test but doesn't doc) 12:35
bartolin [Coke]: Okay. Thanks for the pointers about tickets/tests.
[Coke] bartolin: happy to answer any questions you have about that list, thank you for your service. :) 12:36
I can put that somewhere more editable if we need to fix the gist.
[Coke] wonders how sixers can continue to use perlmonks for sixstuff when half of the comments are bitching about perl6 and the rest are complaining about the bitching or trying to hug the trolls. 12:40
brrt maybe make a 6monks? but that only reinforces the split 12:42
except that the split is already here, of course
Ven [Coke]: do you have a post in mind? 12:43
colomon FROGGS: hmmm, you're definitely right for Inline::Perl5. It's now running the tests, and one fails. 12:44
lizmat [Coke]: I only committed doc patches to nqp lately ?
ah, ok
[Coke]: intended them to be a nudge towards jnthn, as I needed them :-) 12:45
[Coke] lizmat: I need to have 2 kinds of test failures: no docs, and stubs only, because stubs are a step in the right direction. 12:46
lizmat++
lizmat I think a stub could be more inducing to fixiing than a failing test somewhere 12:47
*inducive
[Coke] ven: the recent dbi5/6 thread, for starters.
lizmat *fixing
[Coke] lizmat: I can't get people to fix failing tests at all, it seems, so I tentatively agree with you. :) 12:48
ven: anything with cdr, for example. 12:50
Ven [Coke]: cdr?
I know that from lisp, but.. :)
[Coke] Ven: deliberately not using his pm psuedo. 12:53
brrt i think it's a careful balance we'd have to strike between differentiating the p6 community from the p5 one 12:56
Ven right. Just don't feed the trolls :) 12:58
brrt because there are still a lot of people from the p5 community that are interested in p6
just that many of them might have gotten burn scars from p6 being not-quite-ready when they tried before
leont keeps being surprised people still put up with perlmonks at all, regardless of version preference 13:05
lizmat to me, these perlmonks visitors, are dead people (in the Walking Dead sense)
to be avoided 13:06
flavorwire.files.wordpress.com/2013...g_dead.jpg 13:07
I still hope we can find a cure... :-) 13:08
timotimo don't dead, open inside 13:15
brrt empathy of course is always a cure 13:18
and the realisation that all the work on perl6 does not take anything from perl5, and vice versa
geekosaur perlmonks has been devoid of empathy for years
brrt empathy is a superpower
Woodi but, to some degree, they are right - Perl6 is pre-existing language :) to make peace we must give something :) 13:21
Hi today :)
brrt hi Woodi
we don't need to make peace because there is no war
there's just misunderstanding and FUD 13:22
brrt perl5 is still a language that - in no small part due to CPAN - has a large amount of whipuptitude and manipulexity 13:23
and... i think perl6 has better manipulexity, especially for stuff that we do today that we didn't do 10 years ago
Woodi I'm still amazed that that kind conflict/misunderstanding have a place... I even have no idea what are the rational obiections (except that many time passed...) 13:24
brrt funnily enough, i saw a ticket fly by a few days ago about scheduling being sometimes lousy.. and i was amazed about how far we'd come that we're even effectively talking about scheduling threads in perl6 13:27
geekosaur is firmly of the opinion that sometime in the 1990s a group of perl5 hackers traded their humanity for a deep internal understanding of perl5, and this led to perlmonks *and* to the general perception that perl5 is "dead". something is deeply rotten in that community 13:28
Woodi probably such fhilosophical discusions one day ends with wanting Perl6 being officially announced and then it will be great or will fail mass-testing fire :) 13:32
PerlJam Woodi: I doubt it. Humans are icky that way.
nwc10 I'm not confident that the evidence supports that theory 13:35
there are quite a few folks on perlmonks who *think* that they understand the internals, but don't actually contribute code, and if their answers/explanations are examined closely, don't actually know as much as they think that they know 13:36
geekosaur that's kinda a given at this point 13:37
start with the core, get the hangers-on over time
my point is that there's a community rot level that started in the mid 90s (with evidence on p5-p before that)
and it's actively corrosive 13:38
Woodi anyway, would be nice to have some hidden and hardcore-working v6 app(s) somewhere in production... heavy-hardcore working app... and compiler itself do not count in that case :) 13:39
nwc10 agree/well volunteered/is the IRC logger Perl 6 yet? 13:40
that last one is a serious suggestion, as the code is logging a bunch of specifically perl 5 channels too
Woodi heh
nwc10 including irclog.perlgeek.de/onionsketch/
hop to it, then :-) 13:41
PerlJam nwc10: I wrote github.com/perlpilot/synopsebot/bl...opsebot.p6 though it's not in production anywhere that I know of.
(but it could be!)
Woodi but some .so/.tgz flavor would be nice...
lizmat maybe camelia should be P6 running the latest released version ? 13:42
Woodi I think that some xml/json/everything else converter would be nice. some web form or iconv-commandline-like 13:43
timotimo boooor lana
er, ww i guess? 13:44
Woodi anyone uses log parser written in v6 ? 13:45
dalek kudo-star-daily: 0510aa2 | coke++ | log/ (14 files):
today (automated commit)
lizmat Woodi: not sure, but if the log is finite, lines(:eager) should be pretty fast now 13:46
$ time perl6 -e '"words".IO.lines(:eager).elems.say' 13:48
235886
real0m0.778s
bartolin timotimo: I found your post at last years p6 advent calendar (perl6advent.wordpress.com/2013/12/17/) and took the chance to implement it: github.com/perl6/roast/pull/46 13:50
Woodi btw. our first gues is text files mangling :) maybe something binary mangling or serial/parallel port or USB/ or just something with hardvare flavor like /proc info gatherer ?
bartolin timotimo: Thanks for guidance to get started! 13:51
Woodi or full IDE for Perl6 ;)
timotimo ooooh 13:52
Woodi something with icons moved by mouse becouse we like vim anyway :) 13:53
supply construction kit on Windows ? ;) 13:54
how hard would be to do Skype clone ? some network and multimedia codecs via nativecalls... what with displaying stuff ? 13:56
chat part routed via irc server, roster could be just channel list :) 13:58
and of course working phpBB clone is needed or full CMS even ;) 14:01
[Coke] S05-transliteration/trans.rakudo.moar aborted 56 test(s) (unpushed daily run) 14:02
Woodi we already have some SQL Injection - proof code :) 14:03
dalek ast: cf3bf2b | usev6++ | S05-capture/match-object.t:
RT #76998 was testneeded should be closeable

  perl6advent.wordpress.com/2013/12/1...y-adverbs/
14:05
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76998
ast: 82267c1 | usev6++ | S03-sequence/basic.t:
changed test for RT #75316

According to S03 the infix:<...> operator starts by getting the first value of the righthand list. Since this is an empty list, this leads to an exception.
I'll add this information to ticket #75316.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=75316
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=75316
ast: 57ea4c8 | usev6++ | S03-sequence/basic.t:
Re-added fudging for niecza (Type exceptions NYI)
ast: 15cd5a8 | (Tobias Leich)++ | S0 (2 files):
Merge pull request #46 from usev6/master

RT #76998 was testneeded should be closeable
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76998
bartolin bye, #perl6 14:09
fiefish5000 Good day #perl6! 14:14
fiefish5000 Out of curiosity, can we do something like <<multi sub infix<=> (Person $a, Age $b) { $a.age=$b; } >>? (Got infix:<+> working but infix:<=> seems to be ignored) 14:17
leont AFAIK '=' works on containers, not on values 14:19
brrt hi fiefish5000 14:20
jnthn = also is complied directly rather than multi-dispatched 14:24
yoleaux 22 Sep 2014 19:20Z <brrt> jnthn: that my interest in 'native' arrays is really cheap JIT access, and that i'd personally hapilly sacrifice safety for that
22 Sep 2014 19:21Z <brrt> jnthn: that i think it'll be possible to find a compromise :-)
jnthn Along with a bunch of case analysis to avoid emitting generic code that has to check stuff 14:25
firefish5000 so it should be $a.age($b)?
firefish5000 is unfortunatly on a computer without p6 at the moment 14:26
jnthn firefish5000: That normally loks like $a.age = $b
m: class Dugong { has $.age is rw }; my $dan = Dugong.new; $da.age = 42; say $dan.perl
camelia rakudo-moar e5e928: OUTPUT«===SORRY!=== Error while compiling /tmp/4M8BqmhS3n␤Variable '$da' is not declared␤at /tmp/4M8BqmhS3n:1␤------> e is rw }; my $dan = Dugong.new; $da.age⏏ = 42; say $dan.perl␤ expecting any of:␤ meth…»
jnthn m: class Dugong { has $.age is rw }; my $dan = Dugong.new; $dan.age = 42; say $dan.perl 14:27
camelia rakudo-moar e5e928: OUTPUT«Dugong.new(age => 42)␤»
brrt \o jnthn 14:28
jnthn o/ brrt
brrt maybe we should take it to #moarvm, or maybe we should do it some day we both actually have free time, but ehm... i'd love to help make native / fast arrays :-) 14:29
and i'm really wondering what your tradeoff goals are
FROGGS ++brrt # !!
firefish5000 m: class Person{ has $.age is rw }; my $dan = Person.new; $dan.age = 42; multi sub infix:<=> (Person $a, Int $b) { $a.age = $b; }; $dan=32; $dan.perl.say; #wonders if this is bad practice
camelia rakudo-moar e5e928: OUTPUT«32␤»
jnthn Well, the usual rules apply: aside from if you're messing with nativecall, it shouldn't be possible ot SEGV the VM, and if you can then it's a bug... 14:29
brrt FROGGS: what can i say, processing speed is like a drug 14:30
jnthn firefish5000: Yes. :)
FROGGS *g*
brrt there's a reason we have something like a speed junkie 14:30
hmmm...... including reading out of bounds? 14:31
firefish5000 jnthn: yes=bad practice?
brrt because if that is a given, you really can't do much better than current mvmarray
you could remove size dispatches
jnthn brrt: You can do quite a lot better in terms of removing the virtual calling and so forth
brrt note that - afaik - under ieee$whatever floating point, 0.0 simply is 0x0 in hex 14:32
jnthn And yes, can do an index computation.
firefish5000 camelia: open in tab
oops
brrt have you seen the spesh-array-access branch? that could be a start i think 14:32
brrt except that i don't really know how to get the facts on the array format just yet 14:32
jnthn firefish5000: Given that = is treated specially by the compiler, triying to write an infix:<=> is not going to end well at all. 14:33
brrt and that i have to do the bounds check as well
also note that given that we have to check bounds we can't use conditional move for loading the value either
as in, we're forced to do a jumpy conditional 14:34
brrt hmmm 14:34
jnthn brrt: If we can get rid of the costs we have now *except* the obunds check, that's already a huge win.
*bounds
brrt very well
ehm, in that respect, i have a simple question
firefish5000 all right, I giveup on that path then. Thanks jnthn++
jnthn Beyond that, I think we'll be able to recognize various forms of loop or iteration that we can see will not ever go past the end. 14:35
brrt if i get the type object from the spesh facts, will this contain the size of the array as well?
i believe it is stored in REPR_data currently
but is that also part of the type object?
(size of array = size of elems)
jnthn brrt: I'm glad you find it simple :P 14:37
jnthn brrt: That question kinda drives to the heart of what I'm hesitating over at the moment. 14:37
brrt: My answer is kinda "yes, but hmm" 14:38
brrt well... given that you can't optimize mvmarray much further without removing functionality (such as the start idx and the bounds check) there is little else to do
why?
but hardcode the logic into the interpreter / jit
jnthn brrt: As in, yes putting it on the type is quite natural, and that means different STable, but STables are...not tiny
brrt i see 14:39
jnthn It looks awfully like a reified generics kinda problem 14:40
In which case it's probably best that I go read up on that so I don't invent an entirely stupid scheme. :) 14:41
jnthn brrt: This time next week I'll be finished with consulting gig here and will have a lot more brain space and energy for Perl 6 and MoarVM things. 14:47
hoelzro raiph++ # investigating my own issues
brrt reified generics..... that's when you make a generic class that you specialise for a type instance 14:48
right?
:-) jnthn++ for being the driving force of moarvm development 14:49
jnthn brrt: Yeah. Well, if you think about void Foo<T>() { T[] n = new T[64]; } in C#, where it can specialize the code on int/long/double/a struct/a reference...it's in just the same problem space 14:51
brrt right. but will we do that a lot except for arrays? 14:52
jnthn I can easily imagine wanting it for hashes too
brrt hmm yes
i agree
is there maybe a jit hacking thingy we can do for that? as in, when we have a typed array, implement an op in the JIT that directly implements atpos for these things? 14:53
jnthn Even if we do consider it "just" for arrays, we still have to solve the same kind of problem - which is that we want to JIT specializations.
brrt uhuh 14:54
the good news is though that mvmarray defaults to 0 / null / 0.0 for out-of-bounds access, and these are all the same
except for objects, in which case you have vmnull
but we can special-case that too
leont Are attributes supposed to work in Grammars or not?
jnthn leont: Not unless you are sepecting one per cursor. 14:55
*expecting
(Which you typically are not)
leont Right
jnthn YourGrammar <: Grammar <: Cursor
leont I need to maintain state (indentation level), how do I do that? 14:55
jnthn So it's actually an instance of your grammar that is created once per cursor, which means once per rule 14:56
leont Without globals or something like that I mean
jnthn Dynamic variables
leont Hmmm
jnthn That's how Rakudo's grammar does it, and STD too, if you're curious how well the approach scales :)
brrt my 2c is: if you can optimize it to something that can easily be written in C (without function calls), 14:57
brrt then it is easy to write in assembly too 14:57
pippo Hello #perl6! 14:58
brrt and often in a way that is efficient as well :-)
hi pippo
jnthn brrt: that's a pretty decent guideline.
pippo Can anybody help on the s/// operator? how can I re-use in the replacement part something captured in the math part? 14:59
pippo my $s = "Hello World"; $s ~~ s:s/(\w+) (\w+)/{$0 $1}/; say $s 15:00
m: my $s = "Hello World"; $s ~~ s:s/(\w+) (\w+)/{$0 $1}/; say $s
camelia rakudo-moar e5e928: OUTPUT«===SORRY!=== Error while compiling /tmp/Qkq9NEiQfB␤Two terms in a row␤at /tmp/Qkq9NEiQfB:1␤------> Hello World"; $s ~~ s:s/(\w+) (\w+)/{$0 ⏏$1}/; say $s␤ expecting any of:␤ postfix␤ infix …»
pippo m: my $s = "Hello World"; $s ~~ s:s/(\w+) (\w+)/{$0}/; say $s 15:00
camelia rakudo-moar e5e928: OUTPUT«Hello␤»
pippo m: my $s = "Hello World"; $s ~~ s:s/(\w+) (\w+)/{$1}/; say $s 15:01
camelia rakudo-moar e5e928: OUTPUT«World␤»
jnthn m: my $x = 'The skill of slaughter'; $x ~~ s:g/s(\w+)/$0/; say $x; 15:01
camelia rakudo-moar e5e928: OUTPUT«The kill of laughter␤»
pippo m: my $s = "Hello World"; $s ~~ s:s/(\w+) (\w+)/{$1}{$0}/; say $s
camelia rakudo-moar e5e928: OUTPUT«WorldHello␤»
jnthn The RHS is already a qq
pippo m: my $s = "Hello World"; $s ~~ s:s/(\w+) (\w+)/$1--$0/; say $s 15:02
camelia rakudo-moar e5e928: OUTPUT«World--Hello␤»
pippo jnthn: OK. Thank you very much! 15:03
pippo o/ #perl6! 15:05
dalek line-Perl5/v6: c40a285 | nine++ | / (3 files):
Allow modules loaded by Perl 5 to be written in Perl 6.

Support use v6-inline; in Perl 5 code to pass a module's code back to Perl 6 which then creates a Perl 6 module of it.
This may improve use cases where a Perl 5 framework autoloads modules that may now be written in Perl 6.
15:39
japhb nine: Do you have an example of what that commit allows? 15:45
Oh never mind, I see the test in the commit 15:46
Better question then is whether perl5 can now directly use v6-inline, or whether you have to use Inline::Perl5 from perl6 and only then are able to load v6-inline from the Inline::Perl5 instance? 15:48
[Coke] is LWP::Simple.getprint expected to use http_proxy if present? 16:02
s/.getprint// 16:03
ah, no reference in the repo. 16:04
nine japhb: the latter. It only works when Perl 5 is loaded by Inline::Perl5 16:07
japhb: goal is to allow using a framework like Catalyst in Perl 6 without having to go through too many hoops. v6-inline is an experiment in that direction.
nine [Coke]: just ran a rakudo-j spectest on my server and according to collectd at worst case it used about 4 GiB of RAM and left about 3 GiB free (+ lots of untouched swap). 16:34
colomon nine: t/inherit.t is failing for me when I try it here. 16:40
nine colomon: you on current git of Inline::Perl5?
colomon nine: that was a panda install launched in the last ten minutes... 16:41
ggoebel nine++ for bluring the line between perl5 and perl6. When we can all use v5 from v6 and v6 from v5... maybe more folks will realize that timtowtdi
colomon yes, nine++ indeed!
nine: just launched it again, and it still fails. 16:42
nine colomon: which tests exactly?
colomon t/inherit.t ............... 1/5 # Looks like you planned 5 tests, but ran 2 16:43
nine colomon: I'd guess that it segfaults. Can you run it in gdb and show me a backtrace?
colomon nine: what's the git repo? I'll try building it by "hand"...
[Coke] when making a list of lists, how to push a list onto an existing list of lists as the last element? 16:45
[Coke] m: my @data; my @row = (1,2,3); say +@row; @data.push:@row; say +@data; 16:46
camelia rakudo-moar e5e928: OUTPUT«3␤0␤»
leont can now parse nested TAP subtests (something I think no other TAP harness can do yet) :-) 16:47
dalek ecs: cd1ca78 | (Elizabeth Mattijsen)++ | S16-io.pod:
Eradicate chtmpdir/chhomedir in favour of chdir

With extra :test capability.
16:48
colomon nine: how do you build Inline::Perl5 by hand? 16:50
colomon thinks it has gotten more complicated since the last time he tried
[Coke] m: my @data; my @row = (1,2,3); say +@row; @data.push([@row]); say +@data;
camelia rakudo-moar e5e928: OUTPUT«3␤1␤»
nine colomon: git clone from [email@hidden.address] 16:52
colomon: then run perl6 configure.pl6
leont++ # sounds great! 16:53
colomon nine:
t/inherit.t ..
1..5
ok 1 - # SKIP Perl 5 Moose module not available
ok 2 - # SKIP Perl 5 Moose module not available
# Looks like you planned 5 tests, but ran 2
nine colomon: oh! You just don't have Moose installed
colomon nine: and your fudge is broken. :) 16:54
skip('Perl 5 Moose module not available',2);
should be 5 now, right?
dalek line-Perl5: 5d014db | nine++ | t/inherit.t:
Update skip count in t/inherit.t to match the plan

Thanks to colomon++ for debugging this!
nine colomon: yep 16:55
colomon and now it passes. nine++
ingy I just edited rosettacode.org/wiki/FizzBuzz#Perl_6 to win the golf at 44 strokes 16:59
then I beat that myself by 9 more strokes :P
(in my 2015 language :) 17:00
pmurias does you 2015 language compile?
ingy pmurias: of course 17:01
but not until ~2015
pmurias heh 17:02
ingy say -Fizz*-%3+-Buzz*-%5|- for 1:100
pmurias that's your translate to everything language? 17:04
dalek ecs: 5741ebe | (Elizabeth Mattijsen)++ | S16-io.pod:
Remove islink/readlink, add L (readlink) file test
ingy I had it as: 1:100.for{say{(%3)&s+='Fizz';(%5)&s+='Buzz';s|-}
but then saw the p6 genius 17:05
pmurias: yes
translate to many things
nine I have to admit I rather like some of the Python solutions. Especially the random one :)
[Coke] we don't currently have a way to sort E and É identically, do we? 17:07
ingy nine: 'range(1, 101)' just smells of Guido :)
dalek p-js: 3568311 | (Pawel Murias)++ | src/vm/js/ (2 files):
Implment nqp::{mkdir, rmdir, chdir}.

Raise an error when an op receives to much arguments.
17:08
p-js: ac5f390 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
A stub nqp::getcomp('nqp') to make nqp::getcomp('nqp').backend.name work.
p-js: 222d5fd | (Pawel Murias)++ | / (9 files):
Pass test 63, work towards passing 78.

Implement cwd, shell, getenvhash ops. Put a bunch of subs into the mini setting.
p-js: 352434c | (Pawel Murias)++ | src/vm/js/nqp-runtime/io.js:
Fix bug.
p-js: 7131624 | (Pawel Murias)++ | src/vm/js/ (4 files):
Pass test 37.

Support slurpy named parameters.
p-js: cf8fe3d | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp:
Remove debug statements.
ingy Python is 100% right (but you have to think in 1990 Dutch) 17:09
pmurias ingy: why are you so interested into the 'translate to multiple languages' thing? do you use a wide variety of languages often? 17:11
[Coke] m: say "What t".fc 17:12
camelia rakudo-moar e5e928: OUTPUT«(timeout)»
[Coke] hurls github.com/coke/famflags/commit/2f...1565791fce for some baby perl 6 in the wild. 17:18
of course, it's evil and parsing html with grammars...
colomon pmurias: I can't speak for ingy, but my impression is he's (very reasonably) distressed at the amount of work that goes on in parallel in the different language communities. Being able to, say, write a library once and have it work in Ruby, Perl 5, Perl 6, Python, etc would be great for all of those languages communities. 17:21
nine interesting observation: Perl 6 is the only language that can use libraries written in all of the mentioned languages via Perl 5's Inline::Ruby, Inline::Python and Perl 6's Inline::Perl5. 17:22
lizmat nine: and if you're running on the JVM, java libraries :-) 17:24
nine oh yeah!
lizmat don't we have an Inline::Java in P5 worlds ? 17:25
*world
lizmat raiph++ 17:27
nine lizmat: yes, we do
lizmat took a 10 minute tour of perlmonks today
lizmat [Coke]: I wonder whether you could run .lines on $response, instead of split "\n" 17:37
[Coke] lizmat: done. 17:55
lizmat++
lizmat cool :-) 17:56
jnthn: I wonder if we could gain some performance if you could indicate per method / per class that you don't need a "self" ? 18:16
or that it does so automatically ?
use case: class methods in classes like IO::Spec::UNix
dalek p: 34bd425 | skids++ | src/vm/parrot/ops/nqp_bigint.ops:
Fix bigint bitops. This should fix RT#115966 on perl6-p.
18:22
p: 8319266 | (Tobias Leich)++ | src/vm/parrot/ops/nqp_bigint.ops:
Merge pull request #169 from skids/master

Fix bigint bitops. This should fix RT#115966 on perl6-p.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115966
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115966
dalek kudo/nom: 2cd4fad | (Tobias Leich)++ | tools/build/NQP_REVISION:
bump nqp rev for parrot bigint fix, skids++
18:23
lizmat goes testing
dalek ast: 8ceaf34 | (Tobias Leich)++ | S03-operators/bit.t:
unfuge now passing test, skids++
18:26
dalek kudo/optimatch: 9aa8f6e | (Elizabeth Mattijsen)++ | src/core/IO/Spec/Win32.pm:
Fix another case of double slurpy

There shouldn't be any more in the core now.
18:28
skids \o/ now I can upload Sum::Tiger. Well, at next star I guess. 18:35
skids Anyone put any thought into getting Test to test some of the only-when-compiled bugs? 18:37
lizmat fwiw, CompUnit.new($path).precomp will precompile any script / module for you 18:40
dinner&
FROGGS that seems to be a pretty recent fail I think (on jvm): 18:44
t/spec/S02-types/lazy-lists.t ................................
Failed 1/23 subtests
FROGGS skids: yeah, like lizmat++ said you can .precomp stuff, and we already have tests for that in roast... so just grep for .precomp :o) 18:48
dalek rl6-roast-data: 4dea258 | coke++ | / (5 files):
today (automated commit)
18:53
[Coke] parrot is clean; moar&jit both abort S05-transliteration/trans.rakudo.moar (still); moar+jit dies on S17-procasync/print.rakudo.moar#15; rakudo.jvm failing 8 tests. 18:54
3 of the java failures are "finished in time" which I suspect are just overly ambitious when running on rakudo.jvm on a loaded box. 18:55
FROGGS [Coke]: I'm spectesting jvm right now too, and I shut everything down except xchat... so we'll see 18:56
lizmat FROGGS: that fail on JVM was caused by jnthn's last push opts 19:15
at least, it doesn't fail with the commit just before those
nine Now that's an interesting error message: "Object of type <anon> in QAST::WVal, but not in SC" 19:16
lizmat FROGGS: so either c0e55a1db3e1 or abc97dbcc2fe
the latter seems more likely, judging from the commit message
nine m: BEGIN GLOBAL::<Test> = class { }; Test.new; 19:18
camelia rakudo-moar e5e928: OUTPUT«===SORRY!===␤Object of type <anon> in QAST::WVal, but not in SC␤»
lizmat nine: I guess that "class Test {}" does something more than GLOBAL::<Test> = class { } 19:20
dalek ast: 9e8d44e | (Elizabeth Mattijsen)++ | S03-operators/numeric-shift.t:
Unfudge now passing test on parrot
19:22
vendethiel o/, #perl6 19:25
lizmat vendethiel o/ 19:28
pippo o/ #perl6! 19:30
lizmat pippo o/
pippo Hi lizmat!
m: my $c = 'AB'; $c ~~ s/^(.)B/$0/; say $c; 19:31
camelia rakudo-moar e5e928: OUTPUT«A␤»
pippo m: my @a = 1; my $c; for @a {$c = 'AB'; $c ~~ s/^(.)B/$0/; say $c}
camelia rakudo-moar e5e928: OUTPUT«␤»
pippo ^^ anybody knows why I did not get the A as in previous command? 19:32
FROGGS pippo: there is an RT ticket for that
the match variable $/ does not get updated in a for loop for some reason
pippo FROGGS: Haaa. I was thinking I was becoming mad! :-)) 19:33
FROGGS m: my @a = 1; my $c; for @a {my $/; $c = 'AB'; $c ~~ s/^(.)B/$0/; say $c}
camelia rakudo-moar e5e928: OUTPUT«A␤»
FROGGS see
a weird bug that is :o)
lizmat feels like a code gen issue ?
pippo FROGGS: Is all day I am trying to golf it :-))))
pippo FROGGS: Thank you! 19:34
FROGGS lizmat: no, I think the problem is that we try to write to the outer outer $/ in the .match method... and doing that in a loop is unsafe 19:34
FROGGS pippo: :o) 19:35
lizmat ah, ok
pippo FROGGS: also jakudo is affected? 19:37
j: my @a = 1; my $c; for @a {$c = 'AB'; $c ~~ s/^(.)B/$0/; say $c} 19:38
camelia rakudo-jvm e5e928: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
FROGGS pippo: I would expect that it affects all backends, but I'm just guessing 19:38
pippo FROGGS: Thanks. I'll use your workaround above until it is corrected. 19:39
vendethiel ingy: nice fizzbuzz :). I love the LS one as well 19:40
pippo BTW. moar REPL has a similar problem (not updating $/) between two successive commands. Perhaps they are related. 19:41
vendethiel I love when I do long backlogs. Means stuff happened :-) 19:42
and talking about indent-based stuff, I said I'd to a jade-like template engine, and I still gotta do it 19:43
FROGGS pippo: year, that is possible... 19:44
vendethiel .o( yarrr! It's happenin )
nine S10 says "Use GLOBAL:: to declare a global package name.". But "package GLOBAL::Example::Controller::Root" still puts the package into Inline::Perl5::Perl6PackageCreator 19:45
lizmat hmmm.. that could be considered a bug or a NYI 19:46
vendethiel masak, we don't have macros generating macros, right?
m: macro a($){}; a(foo);
camelia rakudo-moar 2cd4fa: OUTPUT«===SORRY!=== Error while compiling /tmp/F7U1mLAwhj␤Undeclared routine:␤ foo used at line 1␤␤»
vendethiel I think this is an issue, tbh
pippo night #perl6! 19:48
dalek kudo/nom: 682e035 | (Tobias Leich)++ | src/core/Cursor.pm:
optimize .MATCH by about 25%

We are still slower than the code before that called into .CAPHASH from nqp.
dalek ast: 606523b | (Tobias Leich)++ | S05-mass/ (2 files):
unfudge now passing parrot unicode tests
19:53
vendethiel ooooh, intellij to give ides freely to students. 20:09
lizmat ides ? 20:15
[Coke] IDEs 20:16
lizmat ah... I was thinking some French word I didn't understand 20:18
beware the ides of March !
vendethiel we have "idées", but outside of that... 20:27
Ven erm, CONTROL isn't implemented, right? 20:40
m: sub f{ die 1; CONTROL { say 1 } }() 20:41
camelia rakudo-moar 2cd4fa: OUTPUT«1␤ in sub f at /tmp/TI9GLOJC_g:1␤ in block <unit> at /tmp/TI9GLOJC_g:1␤␤»
Ven oh, I stand corrected I guess.
it's for control exceptions instead of exceptions... Eh.
lizmat yup, like die, warn and the like 20:42
Ven I'm not really up-to-date to these. Re-reading s04 :)
m: for ^5 { .say; next if 3; CONTROL { say "on $_" } }
camelia rakudo-moar 2cd4fa: OUTPUT«(signal )0␤»
Ven alright. Nice.
lizmat some of it may still be at various stages of NYI
Ven should that signal :P? ^ 20:43
lizmat don't think so :-) 20:45
Ven is that golfed down enough? 20:50
m: for ^5 { next if 3; CONTROL { } }
camelia rakudo-moar 682e03: OUTPUT«(signal )»
Ven m: for ^5 { last if 3; CONTROL { } }
camelia rakudo-moar 682e03: OUTPUT«(signal )»
Ven m: for ^5 { say if 3; CONTROL { } }
camelia rakudo-moar 682e03: OUTPUT«===SORRY!=== Error while compiling /tmp/13kmPhVIms␤Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/13kmPhVIms:1␤------> for ^5 { say ⏏if 3; C…»
Ven m: for ^5 { .say if 3; CONTROL { } } # dammit steve
camelia rakudo-moar 682e03: OUTPUT«0␤1␤2␤3␤4␤»
Ven so, CONTROL + loop control op = segfault :P.
vendethiel (isn't CONTROL supposed to deal with those?) 20:51
(gotta go back to the spec..)
lizmat looks like a rakudobug to me 20:52
Ven m: SIMPLECATCH {} 20:57
camelia rakudo-moar 682e03: OUTPUT«===SORRY!=== Error while compiling /tmp/mpQ9hbFWDK␤Undeclared name:␤ SIMPLECATCH used at line 1␤␤»
Ven NYI then? or implem. details?
lizmat NYI/rakudobug: probably NYI 20:58
FROGGS gnight 20:59
dalek ecs: 7ddb1f4 | (Elizabeth Mattijsen)++ | S16-io.pod:
Fix alphabetical ordero
21:02
lizmat good night, FROGGS! 21:05
Ven Not even sure what fail vs die 21:23
hehe "THE_END" 21:26
Ven kay, that's a bit more explanations WRT exceptions 21:28
dalek ecs: 785ccf7 | (Elizabeth Mattijsen)++ | S16-io.pod:
Added curupdir

As alternative to no-parent-or-current-test
21:36
ecs: 6c22187 | (Elizabeth Mattijsen)++ | S32-setting-library/IO.pod:
Part 2 of S32/IO revamp

Got as far as doing all of IO::Spec. IO::Path and IO::Handle still to follow.
lizmat can't wait to start implementing all this ^^^ 21:37
but first, some sleep
so good night, #perl6!
[Coke] lizmat++~~ 21:39
japhb If someone wanted to donate resources to "the Perl 6 effort", and preferred tax-deductible, who would they actually donate to? 22:10
[Coke] the perl foundation, I would expect. 22:13
japhb In the form of, say, cloud platform services, what kind of hardware would we need to satisfy our needs in the short-to-medium term? I got the feeling that "2 CPUs and 8 GB RAM" is probably the minimum just to run camelia and the rebuilders, but what about also doing spec test runs, local logins, and such at the same time? 22:21
(There's a small(!) chance I can interest someone in donating this kind of thing, but I want to be able to explain our real needs when I make my pitch.) 22:22
japhb ... don't everyone shout at once. :-) 22:31
leont "".IO.stat doesn't seem to work, is there any way to get to the parts of stat that don't have a filetest thingie? 22:33
Or is that NYI?
japhb Seems NYI. The NQP interface for stat'ing seems to want to do one test at a time, rather than just grabbing a stat struct. Portability reasons, maybe? 22:40