»ö« 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«opensuseSaw 1 call to deprecated code during execution.================================================================================$*OS called at: /tmp/sPM0lwLhez, line 1Deprecated since v2014.9, will be removed with release v2015.9!…» | ||
[Coke] | m: say $*OSVER | 01:07 | |
camelia | rakudo-moar 56cae1: OUTPUT«13.2.HarlequinSaw 1 call to deprecated code during execution.================================================================================$*OSVER called at: /tmp/MI4Mrn9Rf7, line 1Deprecated 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/T8o3SZ6YeXVariable '%=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«opensuseSaw 1 call to deprecated code during execution.================================================================================$*OS called at: /tmp/zdwQ_nB72L, line 1Deprecated 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«opensuseSaw 1 call to deprecated code during execution.$*OS called at: /tmp/SyplJEvmNi, line 1Deprecated 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.HarlequinSaw 1 call to deprecated code during execution.$*OSVER called at: /tmp/3OBGsMVa8m, line 1Deprecated 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_qoAICPgTwo terms in a rowat /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 declaredat /tmp/ZWPzlD_g0v:1------> 3cclass A { has B7⏏5 $.b is rw; has Str $.s is rw; }; class Malformed hasat /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 declaredat /tmp/x4sT0uG0ji:1------> 3class A { has B7⏏5 $.b is rw; has Str $.s is rw; }; class Malformed hasat /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..1ok 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. Pleasechange your code to not use these non-portable functions. If you really wantto 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 |