»ö« 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! | feather will shut down permanently on 2015-03-31
Set by jnthn on 28 February 2015.
dalek ast: 6f1e2f1 | coke++ | S03-operators/assign-is-not-binding.t:
Remove hard skip for test that is passing
00:04
00:05 vendethiel joined
[Coke] I thought we removed all the parrot fudges. Do we want those gone? 00:09
00:09 erdic joined
[Coke] there are 98 instances left. 00:10
00:11 raiph left 00:13 raiph joined
[Coke] I'll get a patch ready if the concensus is to get rid of them 00:14
00:14 tinyblak joined 00:19 atweiden joined, tinyblak left 00:22 cognominal left 00:28 vendethiel left 00:34 airdisa left
[Coke] finds AnyChar in the spec. 00:50
sorry, the syn
jnthn: Is this still a thing to be implemented or does this predate NFG? the spec test for this (S29-type/declarations.t) dates from 2008. 00:52
t/spec/S12-construction/destruction.t seems like a flawed test. 01:02
01:02 BenGoldberg left, BenGoldberg joined
[Coke] m: say $*OS 01:06
camelia rakudo-moar 56cae1: OUTPUT«opensuse␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*OS called at:␤ /tmp/sPM0lwLhez, line 1␤Deprecated since v2014.9, will be removed with release v2015.9!␤…»
[Coke] m: say $*OSVER 01:07
camelia rakudo-moar 56cae1: OUTPUT«13.2.Harlequin␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*OSVER called at:␤ /tmp/MI4Mrn9Rf7, line 1␤Deprecated since v2014.9, will be removed with release v2…»
[Coke] I'm pulling the trigger on the rakudo.parrot removal; won't mind if someone reverts it. 01:09
dalek ast: 506ffcd | coke++ | / (44 files):
Remove rakudo.parrot fudges

Will have to refudge once parrot support returns regardless.
ast: 4f132bf | coke++ | S02-magicals/perlver.t:
Remove file with gone or going vars.

Rakudo wasn't running this file anyway
[Coke] m: say %=pod 01:12
camelia rakudo-moar 56cae1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/T8o3SZ6YeX␤Variable '%=pod' is not declared. Did you mean '$=pod'?␤at /tmp/T8o3SZ6YeX:1␤------> 3say %=pod7⏏5<EOL>␤ expecting any of:␤ postfix␤»
[Coke] m: say $=pod
camelia rakudo-moar 56cae1: OUTPUT«␤»
tadzik ruoso: I see you're solving some of the problems I did; if I were to build a module to help generate grammars from code, would you be interested in that? 01:14
yoleaux 1 May 2015 05:09Z <skids> tadzik: I sent you a pull request to Grammar::BNF that adds ABNF (popular in modern RFCs)
tadzik oh! Awesome!
xBNF looks like a trendy thing these days :)
skids Also I am currently adapting ruoso++'s slang code to Grammar::BNF 01:15
Almost done.
tadzik cool :)
dalek ecs: 13f1284 | coke++ | S28-special-names.pod:
Track an old change to this var name.
01:16
tadzik I promise to look at your PR tomorrow, now I'm between drunk and sleepy :)
skids Never a good place to be when attempting to code, but otherwise a fine state of mind :-) 01:17
tadzik well, one of my milestones on GSoC few years back was done under such circumstances 01:18
dalek ast: c3083de | coke++ | S02-literals/pod.t:
Track %=pod -> $=pod change...

  ... but rakudo still can't run this test
tadzik a comfy chair, a fireplace and a few cans of Żubr beer
woke up next morning with code working and tests passing
*shrug*, commit, push, I still don't know how I solved it
skids :-) 01:19
It will be interesting to bench some generated RFC grammars against ugexe++'s pure-perl versions. 01:20
[Coke] jnthn: you just added S04-statements/when.t a little while ago; that exception doesn't exist yet. Do we need a ticket to track ?
tadzik skids: I glanced over your PR, do you have some tuits to put some sort of real-world grammar into the test suite? 01:21
one thing that amused me a lot is when I put the BNF grammar from wikipedia into my tests and thus proved it incorrect :) 01:22
01:22 Ven joined
[Coke] adds some train-based commits. 01:22
tadzik . o O ( TRAIN RAIN ) 01:23
skids tadzik: probably tomorrow or over the course of the next week. I do want to eventually get to doing HTTP header parsing.
01:35 Ven left
skids tadzik: I PRd the slang support just now. 01:36
01:37 tinyblak joined
skids tadzik: RFC grammars are often full of "here's the BNF/ABNF but SHOULD tolerate this on input and MAY tolerate this but only when you are acting in the proxy role" so yeah, fun stuff. There will definitely need to be subgrammars wrapped around for such things. Good thing grammars are subclassable. 01:40
01:45 ilbot3 left 01:47 ilbot3 joined 01:58 bjz joined 02:01 xinyuan_ joined 02:02 Ven joined, BenGoldberg left 02:06 vendethiel joined 02:10 Ven left 02:19 BenGoldberg joined 02:20 noganex_ joined 02:23 noganex left 02:24 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 02:27 vendethiel left 02:29 gfldex left 02:32 alini left 02:45 mattp|spurs is now known as mattp 03:08 vendethiel joined 03:10 konsolebox left, konsolebox joined 03:12 konsolebox left 03:13 konsolebox joined 03:22 mr-foobar left 03:34 ssqq joined
ssqq p6: grammar A { token sym { <.ident> }; token id { <sym> }; } 03:35
camelia rakudo-moar 56cae1: OUTPUT«===SORRY!===␤Substring length (-3) cannot be negative␤»
geekosaur o.O
ssqq p6: grammar B { token add-char { < $ @ % > }; token id { <+ alpha add-char> }; } 03:37
camelia ( no output )
ssqq p6: grammar B { token add-char { < $ @ % > }; token TOP { <+ alpha add-char> }; }; B.subparse('$'); 03:39
camelia rakudo-moar 56cae1: OUTPUT«Method 'char' not found for invocant of class 'B'␤ in regex TOP at /tmp/tmpfile:1␤ in block <unit> at /tmp/tmpfile:1␤␤»
ShimmerFairy IIRC <sym> is for rule names like token id:sym<stuff> , and then <sym> would match stuff .
ssqq ShimmerFairy: I see, name conflict. 03:40
token name like 'a-b' could not use `<+ token-name>` 03:45
03:45 fhelmberger joined 03:46 Sqirrel left 03:49 raiph left 03:50 tinyblak left, fhelmberger left, tinyblak joined 03:51 ssqq left 03:54 tinyblak left 04:04 xinyuan_ left 04:12 BenGoldberg left, tinyblak joined, Sqirrel joined 04:14 vendethiel left 04:29 larks_ left 04:39 atweiden left
TimToady greetings from Furnace Creek, Death Valley, where today it only got up to 108℉ 04:40
m: say (108-32) * 5/9 04:41
camelia rakudo-moar 56cae1: OUTPUT«42.222222␤»
TimToady so 42℃ or so
timotimo i wouldn't mind if camelia learned to reduce the number of ============= in a deprecation note so that we'll see what should be used instead right here in the channel 04:49
timotimo heads back to bed
Timbus_ 42C.. yeesh. i hope you found shade..
always walk through the shadows in the valley of death.
04:51 ggoebel left
flussence it's 6°C here! Colder than it's been for any day all winter. 05:01
jdv79 of course i get home and no wifi issues - only at the hackathon. figures. 05:26
05:38 jack_rabbit joined 05:39 rindolf joined 05:40 alini joined 05:45 Patterner joined 05:47 jack_rabbit left 05:50 Psyche^ left 05:52 laouji joined
moritz timotimo: or pastebin the untruncated output, and supply a short URL to the pastebin 06:09
06:16 konsolebox left 06:25 domidumont joined 06:27 skids left 06:30 domidumont left 06:31 domidumont joined 06:37 camel___________ joined 06:40 laouji left 06:41 laouji joined 06:42 risou is now known as risou_awy, risou_awy is now known as risou 06:45 laouji left 07:01 konsolebox joined 07:04 rindolf left 07:09 konsolebox left, araujo left 07:15 araujo joined 07:16 diana_olhovik_ joined 07:23 rindolf joined 07:24 laouji joined 07:26 [TuxCM] left 07:27 espadrine joined 07:42 mr-foobar joined 07:44 Alina-malina left 07:46 fhelmberger joined 07:47 darutoko joined
lizmat good *, #perl6! 07:48
m: say gethostname()
camelia rakudo-moar 56cae1: OUTPUT«ns1␤»
07:50 fhelmberger left 07:51 Foxcool_ joined, camel___________ left 07:54 domidumont left 08:04 konsolebox joined 08:07 rindolf left 08:15 Alina-malina joined 08:19 telex left 08:20 telex joined 08:21 Ven joined 08:22 Ven left 08:26 baest_ joined 08:28 baest left 08:36 diana_olhovik_ left
dalek kudo/nom: 065219c | lizmat++ | src/core/Deprecations.pm:
Make deprecation more camelia friendly, timotimo++

Also mention RC-0 as a cutoff time for deprecations.
08:38
08:39 virtualsue joined 08:43 mj41 joined 08:45 diana_olhovik_ joined
lizmat m: say $*OS 08:49
camelia rakudo-moar 56cae1: OUTPUT«opensuse␤Saw 1 call to deprecated code during execution.␤================================================================================␤$*OS called at:␤ /tmp/zdwQ_nB72L, line 1␤Deprecated since v2014.9, will be removed with release v2015.9!␤…»
08:53 cygx joined
cygx o/ 08:54
found a precompilation bug: gist.github.com/cygx/73df9343bb97208b0534 08:55
BEGIN $*KERNEL in a module closes $*OUT oO
same with $*DISTRO, but eg not $*VM 08:56
lizmat cygx: please rakudobug
that seems like something jnthn can sink his teeth into :-) 08:57
excellent golf!
09:13 Rounin joined 09:34 Ven joined
lizmat m: say $*OS 09:35
camelia rakudo-moar 065219: OUTPUT«opensuse␤Saw 1 call to deprecated code during execution.␤$*OS called at:␤ /tmp/SyplJEvmNi, line 1␤Deprecated since v2014.9, will be removed with release v2015.9!␤Please use $*DISTRO.name instead.␤»
lizmat timotimo: ^^ 09:36
09:36 Ven left 09:48 Akagi201_ left 09:49 Akagi201 joined, RabidGravy joined 09:50 Akagi201_ joined 09:53 Akagi201 left
[Tux] m: say $*OS.VERSION 10:03
camelia rakudo-moar 065219: OUTPUT«Method 'VERSION' not found for invocant of class 'Obsolete'␤ in block <unit> at /tmp/HVhLQhUiyw:1␤␤»
[Tux] m: say $*OS.version
camelia rakudo-moar 065219: OUTPUT«Method 'version' not found for invocant of class 'Obsolete'␤ in block <unit> at /tmp/D6bRPvTsQT:1␤␤»
lizmat m: say $*DISTRO.name.version 10:05
camelia rakudo-moar 065219: OUTPUT«Method 'version' not found for invocant of class 'Str'␤ in block <unit> at /tmp/uf4Thvy8bP:1␤␤»
lizmat m: say $*DISTRO.version
camelia rakudo-moar 065219: OUTPUT«v13.2.Harlequin␤»
lizmat m: say $*OSVER
camelia rakudo-moar 065219: OUTPUT«13.2.Harlequin␤Saw 1 call to deprecated code during execution.␤$*OSVER called at:␤ /tmp/3OBGsMVa8m, line 1␤Deprecated since v2014.9, will be removed with release v2015.9!␤Please use $*DISTRO.version instead.␤»
[Tux] m: $*DISTRO.^methods».name.say
camelia rakudo-moar 065219: OUTPUT«BUILD Str gist <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon>␤»
10:06 laouji left
[Tux] m: $*DISTRO.perl.say 10:08
camelia rakudo-moar 065219: OUTPUT«Distro.new(release => "13.2", is-win => Bool::False, path-sep => ":", name => "opensuse", auth => "opensuse.org/", version => Version.new('13.2.Harlequin'), signature => Blob, desc => "2015-05-03T12:08:11+0200")␤»
[Tux] thinks release and version are swapped
Harlequin is a nickname for this release, not for the version
lizmat m: say $*DISTRO.release
camelia rakudo-moar 065219: OUTPUT«13.2␤» 10:09
[Tux] the version is 13.2, the release is 13.2 (Harlequin)
10:09 gfldex joined
lizmat m: say /etc/os-release'.IO.lines 10:10
camelia rakudo-moar 065219: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bp_qoAICPg␤Two terms in a row␤at /tmp/bp_qoAICPg:1␤------> 3say /etc/7⏏5os-release'.IO.lines␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end…»
lizmat m: say '/etc/os-release'.IO.lines
camelia rakudo-moar 065219: OUTPUT«NAME=openSUSE VERSION="13.2 (Harlequin)" VERSION_ID="13.2" PRETTY_NAME="openSUSE 13.2 (Harlequin) (x86_64)" ID=opensuse ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:opensuse:13.2" BUG_REPORT_URL="bugs.opensuse.org" HOME_URL="opensuse.org/" I…»
lizmat [Tux]: so what should be where in your opinion
[Tux] VERSION_ID => version
PRETTY_NAME => release 10:11
lizmat is PRETTY_NAME portable ?
[Tux] one sec
github.com/abeltje/Test-Smoke/tree...ke/SysInfo and below 10:12
test cases are in t/etc
that is what we use for Test::Smoke identification
github.com/abeltje/Test-Smoke/tree/master/t/etc <= a collection of what OS's gather in dist-info related files 10:13
For Linux, even (very) old versions, use this code in perl5: github.com/abeltje/Test-Smoke/blob...nux.pm#L62 10:14
lizmat ok, that seems like some nice LHF for someone else :) 10:15
lizmat working on is lazy
[Tux] github.com/abeltje/Test-Smoke/blob...nux.pm#L62 <= that one is more up-to-date 10:16
(some distro's have levels of os-release files)
lizmat Belin2015 ? not Berlin2015 ? 10:17
[Tux] github.com/abeltje/Test-Smoke/comm...e520867f4a
10:17 bjz left
[Tux] I did not create that branch name :) 10:17
10:18 bjz joined
[Tux] lizmat, /me is willing to help out there if someone would want me to 10:19
lizmat PR's welcome!
[Tux] I think that t/etc folder will give you a whealth of info
jnthn o/
lizmat jnthn /o 10:20
[Tux] and if anyone has an OS that is not yet listed, I'd be very interested in getting the required info files
lizmat jnthn: work on "is lazy" so far 10:21
[Tux] just execute t/etc/get-lsb.pl
lizmat gist.github.com/lizmat/11ac7b63a2faa074d20e
jnthn wtf, we suddenly have 1,300 tickets in RT?!
lizmat jnthn: trying to adapt the buildplan to shove an empty initiializer in there, however I can't get it empty enough 10:22
my $default := nqp::can($_,'lazy')
?? -> $self, $attr { $type }
!! $_.build;
jnthn: I'm out of ideas atm 10:23
Cannot invoke this object (REPR: Null, cs = 0) :-(
seems it lost !build_closure :-( 10:25
jnthn: wrt to #RT tickets, they weren't added last night, something else changed ? 10:27
jnthn lizmat: Maybe this is a better way: gist.github.com/anonymous/08896f0615a976d6caa1 10:29
lizmat ok, testing that 10:30
jnthn It looks different from setting a default, which is probably good :)
lizmat hehe... 10:32
10:32 game0 joined
lizmat I just found there's a "will build" trait ? 10:32
10:32 game0 left
jnthn That may we what has $.foo = ... desugars to... 10:33
*may be
lizmat ah, ok
yeah, that works and *is* much simpler 10:36
jnthn :)
lizmat althought the: 10:37
$attr.package.^method_table{$attr.name.substr(2)}.wrap(-> \self {
callsame() // $attr.set_value(self, $block())
});
feels a bit like a rabbit out of a hat :-)
[Tux] lizmat, where is the code for DISTRO (in case I would find tuits to come up with suggestions)
lizmat src/core/Distro.pm
[Tux] takk
jnthn lizmat: If you take it apart it's not so bad.
lizmat $attr.name.substr(2) # pretty magic to me
jnthn m: class A { has $.foo }; say A.^attributes[0].name 10:38
camelia rakudo-moar 065219: OUTPUT«$!foo␤»
jnthn m: class A { has $.foo }; say A.^attributes[0].name.substr(2)
camelia rakudo-moar 065219: OUTPUT«foo␤»
jnthn :)
Basically, given the variable name, compute the accessor name
lizmat m: m: class A { has $.foo }; say A.^attributes[0].name.substr(0,2)
camelia rakudo-moar 065219: OUTPUT«$!␤»
lizmat ah, ok
duh 10:39
well, I learned a lot about buildplans and such :-) 10:40
jnthn All the RTs are 'cus somebody but all the Rakudo fudge'd spectests into RT tickets 10:43
lizmat wow
didn't see anything on the ml
jnthn Once I get over the initial shock, it's probably worth it, in so far as having 1,300 RTs will piss me off enough to start processing them. :P
Which we really should do ahead of 6.0 10:44
10:45 mj41 left
RabidGravy having looked at a few bits of that however, the associated PR to roast may have been based on an out of date clone 10:45
10:53 virtualsue left
RabidGravy also, it would appear that there is stuff in S03-magicals/ that would probably be better in S28-named-variables/ as KERNEL DISTRO etc aren't mentioned in S03 10:55
lizmat RabidGravy: it's probably for hysterical raisins that they're in there
RabidGravy er S02 10:56
dalek kudo/nom: bdc66e7 | lizmat++ | src/core/traits.pm:
Introduce Attribute will lazy initializer, jnthn++

Inspired by rjbs++, this will actually first wrap the Attribute composer, and in there, wrap the accessor with code that will call the indicated block once to set the value, then call the original accessor again.
10:57
lizmat jnthn: I replaced the // with a once block, otherwise if the block returned a type object, it would be called again and again
.tell rjbs "has $.fh will lazy { $file.IO.open }" at your service :-) 10:59
yoleaux lizmat: I'll pass your message to rjbs.
11:00 ggoebel joined
jnthn lizmat: That's...screw it up over instances, no? 11:00
lizmat ah, hmmm... lemme check
grrrr 11:01
you're right
(sorry Grrrr)
11:07 laouji joined 11:12 laouji left
cygx another precompilation bug, this time not golfed: gist.github.com/cygx/5dbbea302e0f536615c5 11:13
11:17 Foxcool_ left 11:19 Foxcool joined
dalek kudo/nom: fd90eb6 | lizmat++ | src/core/traits.pm:
Call lazy code until we have a defined value

Tried to fix this by introducing an "$!initialized" attribute in the role, but couldn't get that to work, some weird scoping / capturing issues.
11:30
11:37 airdisa joined 11:42 alini left 11:47 cognominal joined
dalek kudo/nom: c72d670 | lizmat++ | src/core/traits.pm:
Fix message on Attribute will foo
11:52
ab5tract_ lizmat: cool patches :D 11:53
dalek ast: 1f384ba | lizmat++ | S12-attributes/instance.t:
Add some "will lazy" and "is/will foo" tests
lizmat ab5tract_: those were really jnthn++'s work, /me is just a minion :-) 11:54
11:57 spider-mario joined 12:04 RabidGravy left 12:07 kaare_ left
rjbs lizmat: I look forward to seeing how it got implemented. 12:10
yoleaux 10:59Z <lizmat> rjbs: "has $.fh will lazy { $file.IO.open }" at your service :-)
rjbs lizmat++ jnthn++ # thanks, I think this i a big deal 12:11
lizmat rjbs: github.com/rakudo/rakudo/commit/bdc66e79da and github.com/rakudo/rakudo/commit/fd90eb68fa
rjbs vielen Dank, I'll read this after breakfast; the women of the house have declared we will go get crêpes now
lizmat hmmm.... crêpes .... good choice 12:12
12:15 eli-se joined 12:16 eli-se left
lizmat hopes FROGGS is doing ok 12:16
12:22 tinyblak_ joined 12:23 eli-se joined 12:24 laouji joined, tinyblak left
cygx jnthn: I'm unable to figure out gist.github.com/cygx/5dbbea302e0f536615c5 12:26
jnthn: after compilation, Pointer[type] dies (where type is a CStruct) 12:27
12:28 vendethiel joined 12:32 eli-se left
[Coke] begins to backlog... 12:33
12:33 szabgab joined
dalek ast: 71ea556 | lizmat++ | S02-lexical-conventions/begin_end_pod.t:
Actually test what we say we're testing
12:33
szabgab hello there 12:36
this might not be a good time to chat here, but at least I leave this info here
[Coke] so, the person who opened all the tickets took something I said at the hackathon and ran as far as they could with it without actually checking with me before they pulled the trigger on anything. I expected maybe ONE more ticket when I woke up this morning. Looks like there is a lot of cleanup to do, I think he opened a ticket for each fudge directive, not for each bug.
so, I'm going to apply his fudge patch (if not already done) and then start consolidating tickets and fudge markers. 12:37
szabgab I am helping the YAPC::EU organizers with some PR (not Pull Request) and I've noticed there are only 3 talks about Perl 6 act.yapc.eu/ye2015/talks/tag/perl6 12:38
(though I only see the accepted talks) It would be great to see some more Perl 6 talks submitted 12:39
jnthn szabgab: I plan to be there, just didn't submit yet.
(It's on my todo list.)
szabgab Also the organizer would like to know if you would like to organize a Hackathon
lizmat I'm also planning to be there, just not planning to do a presentation
szabgab jnthn: great, push it please 12:40
12:40 araujo left
[Coke] is dnmfarrell on IRC? 12:41
12:43 araujo joined 12:45 araujo left 12:46 araujo joined
[Tux] class A { has B $.b is rw; has Str $.s is rw; }; class B { has A @.a; } 12:46
szabgab oh and as I am usually not on IRC, could you just encourage each other to submit talks, please?
[Tux] that is impossible, as B is not defined by the time A is compiled and vice versa 12:47
moritz [Coke]: irclog.perlgeek.de/perl6/search/?ni...ell&q= yes
[Tux] can I force A.b to be of type B later?
12:47 araujo left
[Tux] or in another way 12:47
szabgab Oh and if someone would like to run a Perl 6 course, there are still rooms for that too
12:48 araujo joined, szabgab left
jnthn [Tux]: Stub B first 12:48
class B { ... }
12:48 araujo left
lizmat m: class B { ... }; class A { has B $.b is rw; has Str $.s is rw; }; class B { has A @.a; } 12:48
camelia ( no output )
12:49 araujo joined
lizmat m: cclass A { has B $.b is rw; has Str $.s is rw; }; class B { has A @.a; } 12:49
camelia rakudo-moar c72d67: OUTPUT«5===SORRY!5===␤Type 'B' is not declared␤at /tmp/ZWPzlD_g0v:1␤------> 3cclass A { has B7⏏5 $.b is rw; has Str $.s is rw; }; class ␤Malformed has␤at /tmp/ZWPzlD_g0v:1␤------> 3cclass A { has7⏏5 B $.b is rw; has Str $.s is rw; }; cl…»
lizmat m: class A { has B $.b is rw; has Str $.s is rw; }; class B { has A @.a; }
camelia rakudo-moar c72d67: OUTPUT«5===SORRY!5===␤Type 'B' is not declared␤at /tmp/x4sT0uG0ji:1␤------> 3class A { has B7⏏5 $.b is rw; has Str $.s is rw; }; class ␤Malformed has␤at /tmp/x4sT0uG0ji:1␤------> 3class A { has7⏏5 B $.b is rw; has Str $.s is rw; }; clas…»
[Tux] jnthn, that works. thanks
[Tux] has entangled himself into the swamp of callbacks 12:50
[Coke] anyway, thanks everyone for not freaking out. I'll get RT cleaned up as soon as possible so that we get the benefit of the new tickets, but not the duplication. 12:53
jnthn [Coke]++
12:54 domidumont joined
jnthn [Coke]: Just looking at some of the titles, I can see that some of them rely on out-dated spec. 12:54
[Coke]: Or possibly the design docs need changes :)
Like the AnyChar thing you mentioned before.
[Coke] there's so much stuff that needs review, yes. 12:55
I wish we had a branch of RT we could have done this in. :)
jnthn I suspect some merging will help
e.g. there's a load of ':: NYI'
[Coke] Aye. I just saw "int NYI", even. 12:56
jnthn int is I :)
[Coke] and it's clearly one ticket per fudge, so the total will probably drop by a hundred or so just there.
[Coke] creates an RT view that shows just tickets opened by our new ticketmaniac. :) 12:57
12:58 rurban joined, diana_olhovik_ left
dalek ast: d5c53cf | jnthn++ | S32-hash/delete-adverb.t:
Fix tests sensitive to hash ordering.
13:00
13:03 alini joined, RabidGravy joined
RabidGravy afternoon 13:04
dalek ast: c8953f2 | jnthn++ | S05-capture/caps.t:
Fix another test sensitive to hash ordering.

Also these are fudged on JVM; maybe they will work now they aren't so sensitive?
lizmat jnthn: confirmed that S05-capture/caps.t: can be unfudged for jvm 13:07
jnthn lizmat: Cool; wanna do it, or shall I?
lizmat I'll do it
jnthn I *think* that we now have clean spectest with MoarVM HEAD
As in, those two were all that needed fixing.
I get one other fail but I think it's 'cus I don't have your lazy patch. 13:08
yes, it was :)
dalek ast: 4099cad | lizmat++ | S05-capture/caps.t:
Unfudge passing tests on JVM

Turns out the testing was relying on hash key order, jnthn++ for noticing
13:09
lizmat yeah, tests for the will lazy patch are already in roast
jnthn I wasn't expecting it to go into CORE.setting, but I guess we're a good way from a relesae if anybody comes up with a reason not to do it like that. 13:10
dalek ast: a219848 | moritz++ | / (82 files):
Remove # chars from fudge messages

they do not play too well with TODO messages in TAP
13:11
lizmat fwiw, I think it's a *very* usefult faeature
moritz o/
[Coke] gah. 13:18
moritz: I think the right answer there is to fix the tap output.
esp. given the effort I had put into having a standard way of writing RT #... 13:19
13:19 araujo left
arnsholt Doesn't TAP let you say \# for hashes in the output? 13:20
13:21 Gothmog_ left 13:22 Gothmog_ joined
moritz arnsholt: no idea 13:22
[Coke]: that's unfortunate
[Coke]: how would you fix the TAP output?
[Coke] Digging now. I swear I've already solved this for partcl. 13:23
yes, looks like \# is what I did there. 13:25
Trying to find a spec of some kind to back it up. I'm curious what was breaking with things the way they were, though.
13:26 rurban left
[Coke] we could s/#/SOMETHING ELSE/g, also 13:26
dalek ast: 8b6048b | moritz++ | / (82 files):
Revert "Remove # chars from fudge messages"

This reverts commit a21984810bb4f073291818e6526d9d024c339b98.
I'll try to fix the todo and todo functions in rakudo's Test.pm instead.
13:27
13:33 rurban joined, rindolf joined 13:34 tinyblak_ left, nbdsp joined
[Tux] What is a more perl6 way to write "for ($r.fields) -> $f { @!fields.push: $f; }" 13:34
$r.fields>> ... 13:35
lizmat @!fields.push: @$r.fields 13:36
??
[Tux] Brrr: 13:37
# expected: (Failure)
# got: (Failure)
lizmat
.oO( not all Failures are alike :-)
13:38
[Tux] Cannot understand @!fields in this context
on your suggestion
13:39 kaare_ joined
lizmat that's what you were pushing on in your example ? 13:39
[Tux] gist.github.com/Tux/12387de2febd2eda1efc
the commented-out line works as expected 13:40
13:40 mj41 joined
[Coke] I'm trying to keep the giant list of new tickets managed so we can coordinate with the incoming pull request. Please ping me before closing/merging whatever those new tickets. 13:41
lizmat [Tux]: perhaps a Slang::Tuxic artefact ? 13:42
[Tux] ENOFROGGS
13:43 hobbs left
lizmat yeah, I noticed as well... offline for ~ 3 days already :-) 13:43
13:45 hobbs joined
[Tux] so, "is(something-returning-failure, Failure, "Fail");" won't fly, but neither does "like(failing-thing, Failure, "FAIL");" 13:45
what to use there?
moritz isa_ok 13:46
[Tux] \o/ :) thanks
moritz m: sub f { fail 'foo' }; use Test; plan 1; isa_ok f(), Failure, 'stuff'
camelia rakudo-moar c72d67: OUTPUT«1..1␤ok 1 - stuff␤»
moritz or do a throws_ok { use fatal; your test here }, X::The::Exception::Type::You::Except 13:47
*Expect
13:47 rurban left
[Coke] m: my int $a = 2; use Test; isa-ok(2,int); 13:49
camelia rakudo-moar c72d67: OUTPUT«not ok 1 - The object is-a 'int'␤␤# Failed test 'The object is-a 'int''␤# at /tmp/Ir5MYciBud line 1␤# Actual type: Int␤»
lizmat yeah, known issue 13:50
[Coke] is there an RT?
lizmat natives int pretends to be an Int
not sure
[Coke] ok. 124461 for now. let me know if you find another one, I'll merge it. 13:51
ab5tract_ [Tux]: does it work when you explicitly do @($r.fields) 13:52
moritz m: sub f(Mu $a, Mu $b) { say $a.isa($b) }; f 1, int
camelia rakudo-moar c72d67: OUTPUT«False␤»
lizmat moritz: you mean throws_like ?
moritz m: say 4.isa(int)
camelia rakudo-moar c72d67: OUTPUT«False␤»
moritz lizmat: erm, yes
m: say 4.^isa(int)
camelia rakudo-moar c72d67: OUTPUT«0␤»
moritz m: say 4 ~~ int
camelia rakudo-moar c72d67: OUTPUT«False␤»
moritz m: say nqp::istype(4, int)
camelia rakudo-moar c72d67: OUTPUT«===============================================================================␤The use of nqp::operations has been deprecated for non-CORE code. Please␤change your code to not use these non-portable functions. If you really want␤to keep using nqp:…»
moritz m: use nqp; say nqp::istype(4, int)
camelia rakudo-moar c72d67: OUTPUT«0␤» 13:53
jnthn isa-ok(2,int) won't ever work out
[Tux] m: class C { method hash { { :A(1), :B(2) }}}; my $c = C.new;$c<A>.say
camelia rakudo-moar c72d67: OUTPUT«postcircumfix:<{ }> not defined for type C␤ in block <unit> at /tmp/aVQDg9Dhni:1␤␤»
[Tux] why?
jnthn .isa is an object operation
13:53 rurban joined
jnthn And so by the time it sees the thing it's been boxed to an Int object 13:53
[Coke] m: my num $a = 2; use Test; isa-ok(2,num); 13:54
camelia rakudo-moar c72d67: OUTPUT«This type cannot unbox to a native number␤ in block <unit> at /tmp/skYIovXdgi:1␤␤»
[Tux] ab5tract_, no, :(
[Coke] would you say that's the same issue?
jnthn [Coke]: ok(2, num) ain't going to work either 13:55
[Coke] jnthn: ah. Excellent. I can rewrite the test file to do>
jnthn [Coke]: 2 isn't a Num though, so you can't assign it to a num native
moritz [Coke]: no
[Coke]: that's correct, though the error message coudl be better
jnthn m: my num $a = 2e0;
camelia ( no output )
[Coke] m: my int $a = 3; is($a.WHAT, int); use Test;
camelia rakudo-moar c72d67: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/zDqr2pyog4 line 1␤# expected: (int)␤# got: (Int)␤»
13:55 vendethiel left
jnthn .WHAT is *also* an object-y operation... 13:56
dalek kudo/nom: 6a20f05 | moritz++ | lib/Test.pm:
Test.pm: Escape # in todo() output
[Coke] m: my int $a = 3; say $a ~~int;
camelia rakudo-moar c72d67: OUTPUT«False␤»
[Coke] ok. How can we write the test? ;)
jnthn What is the goal of the test? 13:57
13:57 vendethiel joined 13:58 tinyblak joined
[Tux] I thought giving a class a hash method implicitly gave it postcircumfix:<{ }> 13:58
lizmat no, you need to add AT-KEY and friends
13:59 diana_olhovik_ joined
lizmat m: class A { method AT-KEY($a) { say "foo for $a" } }; A.new<zip> 13:59
camelia rakudo-moar c72d67: OUTPUT«foo for zip␤»
jnthn [Coke]: If it's to check a variable declared is int is really native, you could try sticking a huge value (only storable as a big Int) into an int, and seeing it doesn't round-trip...
dalek p: 8437c84 | jnthn++ | tools/build/MOAR_REVISION:
Get a MoarVM with hash size reduction, opts.
14:00
kudo/nom: 20e3646 | jnthn++ | tools/build/NQP_REVISION:
Get MoarVM with hash improvements.

Hashes on r-m now uses (on 64-bit platforms) 8 bytes less per hash, plus 16 bytes less per hash entry.
14:02
14:03 mohij joined, konsolebox left
dalek kudo/nom: 86b1b2b | lizmat++ | src/Perl6/Actions.nqp:
Make nqp::ops warning a bit more camelia friendly
14:04
14:06 konsolebox joined 14:08 rindolf left
jnthn away for a bit 14:13
lizmat jnthn: spectest clean for me, not noticing any speadup just yet though 14:16
[Tux] AAAAHRG! after these commits, no more panda. no more panda => no more Slang::Tucic, not Slang::Tuxic no development :( 14:17
$ panda install Slang::Tuxic
===SORRY!===
No candidate found for 'panda'.
14:18 rindolf joined 14:21 rurban left
lizmat hmmm... I'm getting Missing or wrong version of dependency 'src/gen/m-CORE.setting' (from 'lib/File/Find.pm') on bootstrap 14:22
even on a fresh panda clone
[Tux] so the rebootstrap.pl worked for you? 14:23