»ö« 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.
00:03 nbdsp left 00:26 yqt left 00:32 vendethiel left 00:37 BenGoldberg left 00:39 vendethiel joined 00:43 BenGoldberg joined, eli-se left 01:04 vendethiel left 01:06 Possum left 01:07 vendethiel joined 01:08 mr-foobar joined 01:10 Possum joined 01:15 Sqirrel left 01:17 beastd left 01:26 Sqirrel joined 01:27 vendethiel left 01:31 vendethiel joined 01:36 bjz left 01:42 cschwenz left 01:44 ilbot3 left 01:46 ilbot3 joined 01:48 bjz joined 01:52 n0vacane joined, n0vacane left, n0vacane joined 01:53 mr-foobar left 01:59 tinyblak left, tinyblak joined 02:14 noganex joined 02:16 skids joined 02:18 noganex_ left, aborazmeh joined, aborazmeh left, aborazmeh joined 02:33 aindilis left 02:34 aindilis joined 02:37 vendethiel left, telex left 02:38 vendethiel joined, telex joined 03:01 vendethiel left, kaare_ joined 03:02 vendethiel joined
skids drops a pin 03:02
n0vacane offers skids a non-alcoholic beer 03:03
03:05 tinyblak left
TimToady is testing <1+2i> literals 03:06
skids
.oO(It's so quiet in here you could here a pint drop?)
Zoffix :D
03:07 aborazmeh left
TimToady a pint is rather more than a drop 03:07
raydiak not much after you drop it 03:08
03:12 nbdsp joined
nbdsp Greetings! Could someone advise please how to truncate Int to UInt64? Namely, to get rid of the following error: 03:12
m: my UInt64 $n = 0x1122334455667788; $n +^= $n +< 5;
camelia rakudo-moar 0b2092: OUTPUT«Type check failed in assignment to '$n'; expected 'UInt64' but got 'Int'␤ in block <unit> at /tmp/vpj3BICp68:1␤␤»
03:17 tinyblak joined
dalek ast: f3fa03d | TimToady++ | S02-literals/numeric.t:
tests for <1/2> and <1+2i> literals
03:17
kudo/nom: 0495190 | TimToady++ | src/Perl6/ (2 files):
implement Complex literals
03:18
raydiak nbdsp: if you just want to truncate you could always do it by hand e.g. $n = min 2**64-1, $n +^ $n +< 5 03:19
03:20 skids left, skids joined
nbdsp radyak: not exactly just truncate, but rather to do proper C-like left biwise shift 03:22
flussence m: Buf.new(0x00) ~ Buf.new(0x01) 03:23
camelia ( no output )
flussence m: say Buf.new(0x00) ~ Buf.new(0x01)
camelia rakudo-moar 0b2092: OUTPUT«Buf:0x<00 01>␤»
flussence hm, I must've got a dud update. that barfs locally.
oh duh, never mind. Typo in my code it gave a LTA error for 03:24
m: constant Bar = Foo ~ Buf.new(0x00); 03:25
camelia rakudo-moar 0b2092: OUTPUT«5===SORRY!5=== Error while compiling /tmp/emhGYXGjKr␤An exception occurred while evaluating a constant␤at /tmp/emhGYXGjKr:1␤Exception details:␤ Cannot use a Buf as a string, but you called the Stringy method on it␤ in method Stringy at sr…»
skids m: my UInt64 $i = 0x1122334455667788; $i = ($i +< 5) +& 0xffffffffffffffff; $i.base(16).say
camelia rakudo-moar 0b2092: OUTPUT«2446688AACCEF100␤»
skids (That certainly should not be necessary with uint64 and probably shouldn't be with UInt64) 03:27
nbdsp skids: thanks!
raydiak skids++ :) 03:28
oh yeah if you use uint64 (the lowercase version), it works too
skids Well, no not really.
m: my uint64 $i = 0x1122334455667788; $i = ($i +< 3) +& 0xffffffffffffffff; $i.base(16).say # uint64 still has issues 03:29
camelia rakudo-moar 0b2092: OUTPUT«-76EE65DD54CC43C0␤»
raydiak hrm 03:30
m: my uint64 $n = 0x1122334455667788; $n +^= $n +< 5; say $n.base(16)
camelia rakudo-moar 0b2092: OUTPUT«35645BCEF9A88688␤»
raydiak m: my uint64 $n = 0x1122334455667788; $n +^= $n +< 3; say $n.base(16)
camelia rakudo-moar 0b2092: OUTPUT«-67CC569901AA3438␤»
03:30 isBEKaml joined
skids It's the upper sine bit. 03:31
array[uint64] is likewise borked, but all the smaller array[uintX] work fine. 03:32
raydiak good to know 03:33
skids (jnthn said he thought array[uint32] should work on 32bit machines, but I have not verified that yet.)
03:34 adu joined 03:35 isBEKaml left 03:39 Sqirrel left 03:51 Sqirrel joined 04:07 Sqirrel left 04:17 BenGoldberg left
TimToady m: say <0x1234.56+0b111111i> 04:37
camelia rakudo-moar 0b2092: OUTPUT«0x1234.56+0b111111i␤»
TimToady m: say <1+2i>.WHAT 04:38
camelia rakudo-moar 0b2092: OUTPUT«(Str)␤»
TimToady hmm, not recompiled
04:56 Sqirrel joined 05:16 vendethiel left 05:24 Sqirrel left 05:26 Sqirrel joined 05:31 kaare_ left 05:37 vendethiel joined 05:44 noganex_ joined 05:45 Patterner joined 05:46 pRiVi_ joined 05:47 clkao_ joined 05:48 aindilis left, aindilis joined, arnsholt_ joined, smi1er_ joined 05:49 virtualsue joined, krunen_ joined, Psyche^ left, BinGOs_ joined 05:53 dustinm`_ joined, noganex left, krunen left, BinGOs left 05:54 skarn left, clkao left, pRiVi left, smi1er left, skarn_ joined 05:55 clkao_ is now known as clkao 05:59 vendethiel left, BinGOs_ is now known as BinGOs, virtualsue left, [Tux] joined 06:00 Vlavv_ joined, BinGOs left, BinGOs joined 06:06 rindolf joined 06:13 adu left, Sqirrel left
jnthn morning, #perl6 06:20
TimToady o/
06:24 robinsmidsrod left
dalek p: 0f90dfe | nicholas++ | t/serialization/01-basic.t:
Test serializing integers with 63 bits set and 1 bit clear.

These bit patterns may catch out some bugs.
06:24
p: b335f0c | nicholas++ | tools/build/Makefile- (3 files):
Use the PROVE macro instead of a literal `prove` in the generated Makefiles.

This permits one to override it on the make command line, for example as
  `PROVE=prove\ -j24`.
06:25 robinsmidsrod joined
dalek p: ee0112f | nicholas++ | t/serialization/01-basic.t:
The integer serialization tests now "pass" on 32 bit Parrot, albeit with TODOs.

commit 1a559ff0fd3ba34c in Feb 2014 added "Serialization tests for integers up to 2**62." As written, they fail on 32 bit Parrot, because unlike all other platforms, there NQP's native integers are not 64 bit. Specifically, the way the looping was written too few tests would be run, meaning that the failure was only detected because the test count didn't match the plan.
Refactor the looping construction so that the correct number of tests are always run (on all platforms). The tests aren't *meaningful* on 32 bit Parrot because they aren't testing that integers >= 2**31 can serialize, but they don't fail (because as before they instead end up testing integers around 0, rather than 2 ** $n, for $n in 31..62)
Add a test, TODO'd on 32 bit parrot, that the values being tested are actually large and positive (which 0 obviously isn't).
With this, we have no broken windows, and all tests (usefully) pass on MoarVM, JVM and 64 bit Parrot.
06:25
06:26 Sqirrel joined
ribasushi PSA: I registered perl.christmas (the domain) 06:39
I have no plans to use it, if someone here is interested in putting something there - feel free to ping me with the DNS settings you want
06:42 diana_olhovik_ joined
skids ribasushi++ 06:42
06:47 skids left
dalek p: 3f733f3 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
Keep MODE_UNBOX_STR_NOT_EMPTY_OR_ZERO around.

We don't need it for NQP or Perl 6 any more, but (a) the stage0 of NQP may use it, and (b) we probably want it for v5 or other slangs.
06:51
jnthn That doesn't unbust nqp-j, unfortunately. 06:52
TimToady make the meaning of istrue_s stage dependent somehow, I suppose 06:57
jnthn The istrue_s and isfalse_s parts of the patch aren't to blame. 06:58
It's all about the boolification of BOOTStr
06:59 sunday joined
sunday m: my $B = { say "hello"; }; $B(); 06:59
camelia rakudo-moar 0b2092: OUTPUT«hello␤»
07:00 sunday left
jnthn But yeah, probably gonna end up fixing this by updating stage0. 07:02
Just doing a couple of checks that that's really what's going to be needed.
nwc10 jnthn: oh. OK. If so, could you do the other MoarVM stuff before reboostrapping stage 0? 07:03
I'm assuming that all 3 get done together
jnthn No, it's per backend
So unless you have stuff for JVM stage0?
nwc10 no.
07:03 KCL_ joined
nwc10 (sorry, can't help there) 07:04
TimToady --> rebootstrap &
jnthn o/ :) 07:06
07:06 lue joined 07:09 lue is now known as ShimmerFairy
cdc hello #perl6 07:15
you may like reading this article ("Programming languages shape the way their users think"): www.technologyreview.com/review/536...-the-mind/ 07:16
dalek p: f728a1d | jnthn++ | src/vm/jvm/stage0/ (10 files):
Bump JVM stage0, to fix the build.

This was produced by undoing part of the recent patch making "0" true, producing a new stage0, then applying the patch again, and verifying the issue is resolved.
07:18
07:19 Sqirrel left 07:22 darutoko joined
nine cdc: indeed, an excellent article. Thanks for the pointer. 07:26
dalek kudo/nom: a509d12 | jnthn++ | src/ (2 files):
Typed exceptions for bad variable/parameter type.
07:29
ast: ed5b245 | jnthn++ | S32-exceptions/misc.t:
Test for RT #123397.
07:31
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123397
masak good morning, #perl6 07:39
jnthn o/ masak 07:43
dalek kudo/nom: 9240574 | jnthn++ | src/Perl6/Grammar.nqp:
Detect undeclared symbols in use/no arglists.

Resolves LTA error in RT #123627.
07:55
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123627
dalek ast: f7729ba | jnthn++ | S32-exceptions/misc.t:
Test for RT #123627.
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123627
08:06 anaeem1_ joined, anaeem1_ left 08:22 RabidGravy joined 08:24 xfix joined 08:27 vendethiel joined 08:30 xfix left
dalek p: 64fd183 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION (SEGV fix, tuned serialization)
08:37
kudo/nom: fc67ac0 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION (both JVM and Moar fixes).
08:38
ast: 31ffc2c | jnthn++ | S02-types/native.t:
Tests for RT #123789.
08:39
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123789
masak m: say <3/5+0b11i>
camelia rakudo-moar 0b2092: OUTPUT«3/5+0b11i␤»
[Tux] panda question: 08:41
Compiling lib/Text/CSV.pm to mbc
==> Testing Text::CSV
t/10_base.t .......
No subtests run
perl6 -Ilib t/10_base.t 08:42
all tests pass
is there something I have to add to the configuration?
masak moritz: I guess the above complex literal in a <> is another exception to github.com/moritz/perl6-wtop/blob/...-operators :)
[Tux]: don't think so. looks fine to me. 08:44
[Tux] so I will have to go spelunkin'
moritz masak: aye 08:47
masak m: say <Inf+NaNi>
camelia rakudo-moar 0b2092: OUTPUT«Inf+NaNi␤»
masak m: say NaNi
camelia rakudo-moar 0b2092: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oWZnDneOvH␤Undeclared name:␤ NaNi used at line 1␤␤»
masak m: say NaN\i 08:48
camelia rakudo-moar 0b2092: OUTPUT«0+NaN\i␤»
masak TimToady: what's the motivation for 'NaNi' working inside a <> but not outside it?
or is it... 08:50
*dun dun dun*
...a bug?
:)
08:50 Perl6_newbee joined
moritz masak: though one could also argue that the + in the complex literal isn't really an infix operator, but rather part of the literal 08:51
jnthn masak: I think rt.perl.org/Ticket/Display.html?id=117853 can get a test (if there isnt' already one) and be closed now?
masak jnthn: yep. was gonna add that to the ticket.
masak adds it now
moritz: that's true. but in this case, the insides of the <> are trying their best to *emulate* the original behavior of '+' and '-' and '/' 08:52
jnthn masak: Aww, was hoping for a test so we could close it :P 08:53
masak not saying there isn't a test already :) 08:54
08:54 lizmat joined, n0vacane left, lizmat left 08:55 lolisa left
[Tux] in Panda/Tester.pm: 08:59
if $run-default && 't'.IO ~~ :d {
withp6lib {
my $cmd = "$prove-command -e \"$*EXECUTABLE\" -r t/";
should that by default add -Ilib?
masak depends whose job one considers it to be for the .t files to find the lib/ modules, I guess. 09:01
[Tux] Panda's docs state: prove -e perl6 -lrv t/ 09:03
so, *my* inuition says that the -r should be -lr in Tester.pm 09:04
masak |Tux|: ok, sounds about right. 09:07
m: sub bar ($a,$b,$c,:$mice) { say $mice }; sub foo (|args) { say args.perl; &bar.nextwith(|args); }; foo 1,2,3,:mice<blind>
camelia rakudo-moar 0b2092: OUTPUT«\(1, 2, 3, :mice("blind"))␤No such method 'nextwith' for invocant of type 'Sub'␤ in sub foo at /tmp/IiUBdJdKZI:1␤ in block <unit> at /tmp/IiUBdJdKZI:1␤␤»
masak oh, &bar.nextwith is NYI 09:08
09:08 lizmat joined 09:13 diana_olhovik_ left 09:19 lolisa joined 09:20 Perl6_newbee left, davido_ left 09:22 davido_ joined 09:25 anaeem1 joined
lizmat good *, #perl6! 09:26
yoleaux 11 Apr 2015 13:38Z <masak> lizmat: I'm not sure I think the second positional to tmpdir/homedir pulls its own weight. why not just construct the desired path object and pass it in as the first argument?
jnthn o/ lizmat 09:28
lizmat .tell masak I see your point...
yoleaux lizmat: I'll pass your message to masak.
lizmat hi jnthn
jnthn Good NLPW?
lizmat almost recovered from NLPW
yes, it was a good one!
but very tiring... 09:29
jnthn Cool! I saw there was plenty of Perl 6 stuff :)
lizmat and we're almost off for another event
jnthn Which one this time?
lizmat (which involves a lot of whisky tasting :-)
jnthn Oh, that sounds like a good event :)
lizmat www.whisky-messe-rheinruhr.de
and then on Wed on to the QA Hackathon in Berlin 09:31
.tell TimToady thanks for fixing the print-nl problem in 2cb72b2141f2e37c0
yoleaux lizmat: I'll pass your message to TimToady.
lizmat .tell TimToady the alternative being always calling method say inside sub say, to completely hide that implementation detail, thoughts ? 09:32
yoleaux lizmat: I'll pass your message to TimToady.
jnthn spectests a patch making things like "has Int $!a where * > 0" work 09:33
m: subset Fu of Mu where * eq 'foo'; my Fu $x = 'bar'; 09:37
camelia rakudo-moar fc67ac: OUTPUT«Type check failed in binding $expected; expected 'Any' but got 'Fu'␤ in block <unit> at /tmp/gjBLaBSw9r:1␤␤»
09:38 cschwenz joined 09:39 robinsmidsrod left
RabidGravy hi, can the apparent behaviour of NativeCall whereby if "sub foo() is native('libfoo.so') { ... }" and foo() is actually in the loaded libraries you get that irrespective of whether "libfoo.so" exists or not be relied on? 09:39
[Tux] is this stupid default Panda's fault or generic to help: 09:40
panda help
Usage:
/pro/3gl/CPAN/rakudobrew/moar-nom/install/share/perl6/site/34 [--notests] [--nodeps] install [<modules> ...] -- Install the specified modules
jnthn RabidGravy: Uh, having trouble parsing that, but I think you're asking "can I rely on us not checking for the library to be present at the time the module is compiled" 09:41
In which case yes, we'll continue resolving them at runtime, especially as there are runtime ways to customize resolution.
dalek kudo/nom: 6a73d80 | jnthn++ | src/core/Exception.pm:
Add a Mu to a $expected to unbust error reporting.
09:43
09:43 robinsmidsrod joined
RabidGravy yeah, I'm thinking of a case like crypt() which on Linux requires libcrypt.so generally and is in the libc on FreeBSD but ... is native('libcrypt.so') seems to work on FreeBSD even though it isn't present 09:44
09:44 robinsmidsrod left
RabidGravy the libcrypt.so that is 09:44
dalek kudo/nom: 9bce74b | jnthn++ | src/Perl6/ (3 files):
Support post constraints on attributes/variables.

Some work to be done on the precedence side of things with regards to assignment of a default, it seems. Also could improve error reporting. This gets the functionality of actually enforcing the check in place, however.
09:45
ast: a7bb01d | jnthn++ | S32-exceptions/misc.t:
Test for correct exception with Mu-subset assign.
09:46
ast: 21602c8 | jnthn++ | S12-class/attributes.t:
Un-fudge tests for RT #122109.
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122109
09:46 robinsmidsrod joined
jnthn m: say [] ... [] 09:50
camelia rakudo-moar fc67ac: OUTPUT«Cannot .shift from an empty Array␤ in sub SEQUENCE at src/gen/m-CORE.setting:21788␤ in sub infix:<...> at src/gen/m-CORE.setting:22099␤ in block <unit> at /tmp/b4o9mpfpi1:1␤␤»
jnthn .tell TimToady Since you were working on sequences recently, could you decide what rt.perl.org/Ticket/Display.html?id=114326 should do (and mebbe fix it? :)) 09:51
yoleaux jnthn: I'll pass your message to TimToady.
09:52 robinsmidsrod left, robinsmidsrod joined 09:56 robinsmidsrod left, robinsmidsrod joined 10:00 robinsmidsrod left 10:01 robinsmidsrod joined 10:02 robinsmidsrod left
moritz just generated www.p6c.org/stats/ 10:03
10:03 lolisa left 10:04 robinsmidsrod joined
tadzik oh, nice! 10:04
dalek ast: 9812502 | jnthn++ | S04-declarations/my.t:
Test "my int ($a, $b)" enforces int constraint.
10:05
ast: cfd2fb2 | jnthn++ | S04-declarations/my.t:
Correct a test with bad eval scope assumptions.

With the corrections, it passes happily on Rakudo.
lizmat afk until some time tomorrow& 10:07
jnthn Have fun o/ 10:10
timotimo bye lizmat!
and hello everybody
jnthn timotimo/ 10:11
10:14 anaeem___ joined 10:15 robinsmidsrod left, robinsmidsrod joined 10:16 anaeem1 left, robinsmidsrod left, robinsmidsrod joined 10:22 robinsmidsrod left, mr-foobar joined 10:23 robinsmidsrod joined 10:24 anaeem___ left 10:29 anaeem1_ joined
RabidGravy is "> sub f() { 42; } 10:37
===SORRY!=== Error while compiling <unknown file>
Unexpected closing bracket
"
a known infelicity with the REPL?
10:41 spider-mario joined 10:45 robinsmidsrod left 10:47 robinsmidsrod joined 10:49 robinsmidsrod left 10:51 robinsmidsrod joined
moritz RabidGravy: not known to me 10:56
10:57 eli-se joined 10:58 Perl6_newbee joined
eli-se konnichiwa 10:58
jnthn oh hai o 11:00
dalek kudo/nom: d402fb4 | jnthn++ | src/ (2 files):
Handle "my (Int $x, Num $y)"/"my Int (Str $x)".

The first declares variables of the appropriate types; the latter now gives an exception complaining about the conflict.
11:02
masak m: sub bar ($a,$b,$c,:$mice) { say $mice }; sub foo (|args) { say args.perl; bar(|args); }; foo 1,2,3,:mice<blind>
yoleaux 09:28Z <lizmat> masak: I see your point...
camelia rakudo-moar 9bce74: OUTPUT«\(1, 2, 3, :mice("blind"))␤blind␤»
dalek ast: 138d463 | jnthn++ | S04-declarations/my.t:
Unfudge and extend tests for RT #102414.
ast: e32f905 | jnthn++ | S32-exceptions/misc.t:
Test for RT #73102.
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=102414
Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=73102
11:08 Rounin joined, robinsmidsrod left 11:13 robinsmidsrod joined 11:14 robinsmidsrod left, robinsmidsrod joined 11:16 robinsmidsrod left 11:17 robinsmidsrod joined
dalek href="https://perl6.org:">perl6.org: fbd7944 | moritz++ | source/compilers/index.html:
Remove zavolaj link

NativeCall.pm is now part of rakudo. Closes #6
11:21
eli-se I should learn what rebasing is. 11:28
11:31 robinsmidsrod left 11:33 robinsmidsrod joined
masak eli-se: atlassian.wpengine.netdna-cdn.com/w...master.gif 11:33
eli-se Oh. I never want that. 11:34
masak that's the most casual dismissal of rebasing I've ever heard.
vendethiel masak: it's eli-se ;-) 11:36
eli-se Unless it creates a merge commit, then it's fine.
vendethiel the whole point of rebasing is not to create those. 11:38
eli-se Hence. :P 11:39
moritz you can still create a merge commit when merging the rebased branch
masak there are situations when a merge commit is just the right thing. and then there are those when it isn't. 11:40
Git is nice (in a very Perlish way) in that it gives you the choice. 11:41
saying "I never want that" is fine *if* you know something about the forces that apply to your workflow which the rest of us don't :)
11:43 robinsmidsrod left 11:46 robinsmidsrod joined
[Tux] masak, -lr would work if prove would add -Ilib to the argument passed with -e, but when -e is given, -l is ignored :( :( 11:46
masak aww 11:47
shoulda seen that one coming
masak had no idea, but it kinda makes sense
[Tux] that means I have to somehow specify that -Ilib is added to the executable
moritz not to mention that rebase is one of the most powerful tools in the git ecosystem 11:48
11:48 yvan1 joined
moritz even if you don't need it in your regular workflow, there are occasional situations where it's an absolute live safer 11:49
masak moritz: yes. I've come to see rebase as not necessarily showing up as "part" of a workflow or other, but nevertheless something I do as a matter of course quite often. 11:51
11:52 rurban_ joined
[Tux] May I suggest gist.github.com/Tux/9d5855ae281348218123 ? 11:54
that fixes panda install for me
colomon “Dependency PSGI is not present in the module ecosystem”. Hurm 12:03
12:08 robinsmidsrod left, robinsmidsrod joined 12:11 robinsmidsrod left 12:12 PacoLinux joined 12:15 robinsmidsrod joined 12:18 aborazmeh joined, aborazmeh left, aborazmeh joined 12:26 Perl6_newbee left 12:32 anaeem1_ left
[Tux] FWIW dd cannot be used in for: 12:34
m: dd $_ for 1, "a" 12:35
camelia rakudo-moar d402fb: OUTPUT«No such method 'name' for invocant of type 'Int'␤ in sub dd at src/gen/m-CORE.setting:2493␤ in block <unit> at /tmp/dByTHuP9u6:1␤␤»
12:35 anaeem1 joined
masak m: dd 1 12:36
camelia rakudo-moar d402fb: OUTPUT«No such method 'name' for invocant of type 'Int'␤ in sub dd at src/gen/m-CORE.setting:2493␤ in block <unit> at /tmp/iYGQkUsMtC:1␤␤»
masak `for` is not the problem.
12:36 PacoLinux left 12:37 rurban_ left, anaeem1 left 12:40 aborazmeh left 12:48 kaare_ joined 12:52 robinsmidsrod left 12:54 robinsmidsrod joined
timotimo 167/op/infix/∪.html 12:59
er
there's a 167 404 hits for that url
13:03 koo5 left 13:12 tinyblak_ joined, tinyblak left 13:13 kaare_ left, kaare_ joined 13:14 virtualsue joined 13:25 colomon left 13:28 colomon joined 13:30 rmgk_ joined, rmgk is now known as Guest43298, Guest43298 left, rmgk_ is now known as rmgk 13:32 koo5 joined 13:40 rurban_ joined 13:46 lucasb joined 13:49 nbdsp left 13:50 zakharyas joined 13:59 lolisa joined
lucasb Hello channel 14:00
masak ahoy lucasb 14:01
lucasb o/ masak
m: my @a = $(1,2,3); say @a.elems 14:05
camelia rakudo-moar d402fb: OUTPUT«1␤»
lucasb m: say @($(1,2,3)).elems
camelia rakudo-moar d402fb: OUTPUT«3␤»
lucasb I was trying to understand what those $(...), @(...), etc. contextualizers do.
masak well, '$' tends to mean "item" 14:06
and '@' tends to mean "list"
to a first approximation :)
lucasb Should $(...) inside @(...) has some effect? 14:08
14:08 lolisa left, eli-se left
lucasb m: my @a = 1,2,3; .say for @a.elems, @a.perl 14:09
camelia rakudo-moar d402fb: OUTPUT«3␤[1, 2, 3]<>␤»
lucasb m: my @a = $(1,2,3); .say for @a.elems, @a.perl
camelia rakudo-moar d402fb: OUTPUT«1␤[1, 2, 3]<>␤»
lucasb ^^ I think this one is about the "<>" thing
The arrays have different number of elements, but they have the exact same ".perl" representation
masak yep. 14:10
don't ask me to explain it. I don't know what the "<>" thing means either :)
14:10 Alina-malina joined
lucasb It's a diamond :D 14:11
moritz it's a zen slice
psch decontiamond /o\
masak yeah, but it's a zen *hash* slice 14:12
"view this whole array as a hash", perhaps?
m: my %h = foo => 1, bar => 2, baz => 3; say %h<foo baz> 14:13
camelia rakudo-moar d402fb: OUTPUT«1 3␤»
psch m: say [1,2,3].perl; say nqp::decont([1,2,3]).perl
camelia rakudo-moar d402fb: OUTPUT«[1, 2, 3]␤[1, 2, 3]<>␤»
psch m: say [1,2,3]<>.perl
camelia rakudo-moar d402fb: OUTPUT«[1, 2, 3]<>␤»
moritz an array, a list and a hash zen slice walk into a bar
psch i think thinking of it as decont might not really be that useful :/
moritz "a container, please" they say to the drunken gymnast 14:14
masak I think I would be happier with the inexactitude that comes from confusing the container and decontained form, than I currently am with "<>" 14:15
let a [1, 2, 3] be a [1, 2, 3]
psch m: my @a = 1,2,3; my $b = @a; say @a.perl; say $b.perl 14:17
camelia rakudo-moar d402fb: OUTPUT«[1, 2, 3]<>␤[1, 2, 3]␤»
moritz I think that the fact that we can't stop discussing these things without coming to a proper conclusion means we're on the wrong track 14:18
masak +1
moritz and having done a bit of python the past few months, I'd think it'd be sane to give up autoflattening (and thus relevance to containers in the context of lists) 14:19
and provide some short, powerful primivites to concatenate lists or flatten lists after the fact
masak it'd be a big step away from Perl 5's flattening semantics, no matter how well you'd pull that off 14:20
and, as TimToady said, much of this is to make `push @a, @b` come out right
moritz well, the perlish solution to that is to offer two different verbs 14:21
"extend" to push with flattening, "push" to push without flattening, or something
14:22 eli-se joined
masak sometimes I feel that "let's make it two methods" is a close cousing of "let's make it a configurable setting in the Settings pane" 14:23
moritz masak: do you feel the same way about , vs + in python? 14:24
masak i.e. instead of providing a self-sufficient small set of primitives, we provide lots of semantically overlapping options, and punt all the decision-making to the community
moritz: I was recently reminded of the exact semantics of , and + 14:25
moritz: it's horrible. I used to know about it. then some merciful part of my brain made me forget.
moritz: am I right in thinking that that's Python 2 only?
arnsholt_ , and + in print, I presume?
masak right.
which is a bit special because print is a special form in Python 2.x 14:26
arnsholt_ Yeah
14:26 konsolebox joined
moritz masak: no, I meant a = [1, 2, [3, 4]] vs a = [1, 2] + [3, 4] 14:26
arnsholt_ From a cursory Google, the default is to join with a space in Python 3, but you can override it with the sep named param 14:27
14:27 arnsholt_ is now known as arnsholt
masak moritz: no, I don't feel the same about that situation. 14:27
moritz the , delimits elements, the + joins lists
we should have that distinction in Perl 6 too
masak *nod*
moritz and if push and unshift would need that distinction too, then maybe they are the wrong primitives 14:28
if we had a list joining operator @, then @a @= 1, 2, 3 would be flattening push, and @a R@= 1,2, 3 would be flattening unshift 14:29
and ,= unflattening push, R,= unflattening unshift 14:30
something along those lines
14:30 konsolebox left
masak the R metaop doesn't feel quite apt there 14:35
I like that you're deliberately trying to think along new orbits, though 14:36
moritz well, I'm trying to think in operations that can compose with list joining vs. element delimiting 14:37
masak *nod* 14:38
moritz human language isn't very orthogonal, but it composes fantastically 14:41
lucasb m: say @($(1,2,3),$(4,5,6)).elems 14:42
camelia rakudo-moar d402fb: OUTPUT«2␤»
lucasb m: say @($(1,2,3)).elems
camelia rakudo-moar d402fb: OUTPUT«3␤»
lucasb ^^ Just for the record, this cleared my thoughts a little bit; I think this is about the 1-elem parcel being the elem itself.
14:47 beastd joined
masak we already decided that parameters/arguments don't flatten. maybe deciding the same for ordinary ambient lists is too much of a step away from what makes Perl Perl, but maybe we could somehow provide a mode where such flattening is turned off. 14:50
or an environment. or something.
14:54 molaf__ joined 14:57 molaf_ left
dalek kudo-star-daily: 4c705b5 | coke++ | log/ (2 files):
today (automated commit)
15:05
kudo/nom: 9cc5aa5 | (Carl Masak)++ | docs/release_guide.pod:
pick up April release
15:12
15:12 rurban_ left
jnthn wondres how soon that is :) 15:13
masak jnthn: 23rd.
jnthn Ah, good. A week and a half to go :) 15:14
15:14 eli-se left, telex left 15:15 n0vacane joined, n0vacane left, n0vacane joined 15:16 anaeem1 joined, telex joined 15:18 zakharyas left 15:20 anaeem1 left, anaeem1 joined 15:23 skids joined
[Coke] masak: will you be able to handle the new signing requirements? 15:24
15:24 anaeem1 left
masak [Coke]: oh, thanks for reminding me. 15:26
[Coke]: I don't know exactly what they are, but I think so. I have 1.5 weeks to find out :)
15:27 SHODAN joined
masak guessing this is documented in the release guide? 15:27
vendethiel notices journeesperl.fr/ and paris.mongueurs.net are 503'ing 15:29
masak yes, seems it is. moritz++
dalek ast: c05784c | jnthn++ | S15-normalization/nfc- (10 files):
Add Unicode NFC conformance tests.

Generated from NormalizationTests.txt in the Unicode database.
15:40
15:52 tinyblak_ left 15:55 spider-mario left
moritz you really just need gnupg installed, and a key pair 16:04
masak $ gpg --version 16:05
gpg (GnuPG) 1.4.16
so that's step one apparently already taken care of ;) 16:06
osfameron vendethiel: and act in general, apparently Maddingue is aware and investigating 16:08
[Tux] $ prove -e perl6\ -Ilib -r t/
t/10_base.t ....... ok
$ prove -e perl6 -r t/
t/10_base.t ....... /pro/3gl/CPAN/rakudobrew/bin/perl6: line 2: 27311 Segmentation fault /pro/3gl/CPAN/rakudobrew/moar-nom/install/bin/perl6 "$@"
t/10_base.t ....... Dubious, test returned 139 (wstat 35584, 0x8b00)
oops? 16:09
$ perl6 t/10_base.t
masak [Tux]: not the expected behavior :)
[Tux] /pro/3gl/CPAN/rakudobrew/bin/perl6: line 2: 27341 Segmentation fault /pro/3gl/CPAN/rakudobrew/moar-nom/install/bin/perl6 "$@" 16:10
right
what happens here is that I meanwhile have installed Text::CSV *also* using panda where I added the -Ilib call to prove
masak [Tux]: do you think you can golf it a bit?
16:11 eli-se joined
[Tux] perl6 -e'use v6; use Text::CSV; my $c = Text::CSV.new' 16:12
/pro/3gl/CPAN/rakudobrew/bin/perl6: line 2: 27394 Segmentation fault /pro/3gl/CPAN/rakudobrew/moar-nom/install/bin/perl6 "$@"
is that golfing enough?
masak tries to reproduce it locally
[Tux] perl6 -e'use v6; use Text::CSV; my $c = Text::CSV' passes 16:14
gist.github.com/Tux/5e7c57acfc8168c1c680 16:17
osfameron why do you need 'use v6' if you're invoking with 'perl6' ? 16:21
masak right -- does it still fail without the 'use v6;' ? 16:22
JimmyZ better msg when somebody do `perl xxx.pl6`
00:23 here ,good night 16:23
[Tux] same fail
16:31 aborazmeh joined, aborazmeh left, aborazmeh joined
masak [Tux]: I just downloaded Text::CSV and its two dependencies, manually. 16:31
[Tux]: neither t/10_base.t nor the one-liner segfaults here. 16:32
This is perl6 version 2015.03-231-g2cb72b2 built on MoarVM version 2015.03-80-g1d592be
[Tux] DAMN! OK, I'll have to dig deeper then
masak could it be that I didn't install via panda?
[Tux] This is perl6 version 2015.03-239-g9cc5aa5 built on MoarVM version 2015.03-96-g1055bb7
masak ok, upgrading.
[Tux] the installation with panda is what I doubt be the cause too 16:33
dalek ast: 011e18a | jnthn++ | S15-normalization/test-gen.p6:
Turn on generating NFKC tests.
ast: f177bf1 | jnthn++ | S15-normalization/nfkc- (10 files):
Add Unicode NFKC conformance tests.

Generated from NormalizationTests.txt in the Unicode database.
masak [Tux]: s/doubt/suspect/ ?
[Tux] probably 16:34
still tired from NLPW :)
afk: diner 16:38
vendethiel osfameron: oh, thanks for the heads up! 16:41
16:46 itz_ joined 16:50 aborazmeh left
TimToady nqp: my $x := "0x42"; say(+~ $x ~~ /^.*$/) 16:50
yoleaux 09:31Z <lizmat> TimToady: thanks for fixing the print-nl problem in 2cb72b2141f2e37c0
09:32Z <lizmat> TimToady: the alternative being always calling method say inside sub say, to completely hide that implementation detail, thoughts ?
09:51Z <jnthn> TimToady: Since you were working on sequences recently, could you decide what rt.perl.org/Ticket/Display.html?id=114326 should do (and mebbe fix it? :))
TimToady on nqp-m that makes 66, on nqp-j it makes 0 and blows S02-literals/numeric.t out of the water 16:51
16:51 camelia joined
TimToady r: say <0x42/0x43> 16:52
16:52 tinyblak joined
camelia nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 188.␤exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directory␤Server error occurred! Closing Link: static.231.60.47.78.clients.your-server.de (Q…» 16:53
..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007ffdbc007c90 ***␤*** Error in `java': double free or corruption (!prev): 0x00007ffdbc01a8c0 ***␤»
..nqp-moarvm: OUTPUT«66␤»
16:53 ChanServ sets mode: +v camelia
camelia rakudo-jvm 9cc5aa: OUTPUT«cannot connect to eval server: Connection refused␤» 16:53
..rakudo-moar 9cc5aa: OUTPUT«0.985075␤»
TimToady wow
16:54 anaeem1_ joined
RabidGravy is it possible to create a method in a class as a partial application of an existing method directly without e.g. using add_method at run-time? 16:55
TimToady well...you can always use add_method at compile time by putting it into a begin... 16:56
RabidGravy :) cheater 16:57
16:57 raiph joined
TimToady nqp-j: my $x := "0x42"; say(+~ $x ~~ /^.*$/) 17:00
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007f550c013530 ***␤*** Error in `java': double free or corruption (fasttop): 0x00007f550c01bf60 ***␤*** Error in `java': double free or corruption (!prev): 0x00007f550c01a8c0 ***␤»
RabidGravy e.g. like the pseudo-code "class Foo { method foo(Str $f) { .... } method &foo_bar = &.foo.assuming("bar"); }" 17:01
TimToady usually we'd solve those things with multi methods, one with a (Str $f) and one with ('bar') 17:03
17:04 yqt joined
gfldex could i subclass in an eval block and make the new class stick outside the block? 17:04
TimToady that works in my local nqp-j, in the sense of producing 0 rather than an ABRT
vendethiel gfldex: not sure what you mean by "subclass an eval block"?
gfldex: you want to create a class in some EVAL then subclass it? 17:05
gfldex the other way around
TimToady class names are 'our', so probably
vendethiel m: class A{method x{5}}; EVAL 'class B is A{};'; say B.new.x
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Hcg9dNEqn2␤Undeclared name:␤ B used at line 1␤␤»
vendethiel m: class A{method x{5}}; EVAL 'class B is A{};'; say ::{'B'}.new.x # something something? 17:06
camelia rakudo-moar 9cc5aa: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
TimToady ::()
vendethiel m: class A{method x{5}}; EVAL 'class B is A{};'; say ::('B').new.x # something something?
camelia rakudo-moar 9cc5aa: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
TimToady ::()m: class B {...}; class A {method x{5}}; EVAL 'class B is A {};'; say B.new.x
m: class B {...}; class A {method x{5}}; EVAL 'class B is A {};'; say B.new.x 17:07
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TuYHkX5m93␤The following packages were stubbed but not defined:␤ B␤at /tmp/TuYHkX5m93:1␤------> 3}}; EVAL 'class B is A {};'; say B.new.x7⏏5<EOL>␤ expecting any of:␤ postfix␤ …»
vendethiel TimToady: the other option would be to disable any kind of statical analysis if we see an EVAL?
TimToady m: class B {...}; class A {method x{5}}; EVAL 'class B is A {};'; say ::('B').new.x 17:08
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6GGRmNuyk3␤The following packages were stubbed but not defined:␤ B␤at /tmp/6GGRmNuyk3:1␤------> 3AL 'class B is A {};'; say ::('B').new.x7⏏5<EOL>␤ expecting any of:␤ postfix␤ …»
TimToady m: class B {...}; class A {method x{5}}; EVAL 'class B is A {};'; say OUR::('B').new.x
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3OdlyTFcLr␤The following packages were stubbed but not defined:␤ B␤at /tmp/3OdlyTFcLr:1␤------> 3'class B is A {};'; say OUR::('B').new.x7⏏5<EOL>␤ expecting any of:␤ postfix␤ …»
TimToady m: class A {method x{5}}; EVAL 'class B is A {};'; say OUR::('B').new.x 17:09
camelia rakudo-moar 9cc5aa: OUTPUT«5␤»
TimToady there you go
vendethiel TimToady: is that working as intended?
TimToady m: class A {method x{5}}; EVAL 'class B is A {};'; say OUR::B.new.x
camelia rakudo-moar 9cc5aa: OUTPUT«5␤»
TimToady package declarations default to our, so yes 17:10
vendethiel I mean the compile-time errors
TimToady m: class A {method x{5}}; EVAL 'package Foo; class B is A {};'; say OUR::B.new.x
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5=== Error while compiling EVAL_0␤This appears to be Perl 5 code. If you intended it to be Perl 6 code, please use a Perl 6 style package block like "package Foo { ... }", or "module Foo; ...".␤at EVAL_0:1␤------> 3package Foo;7⏏5 …»
TimToady m: class A {method x{5}}; EVAL 'module Foo; class B is A {};'; say OUR::B.new.x
camelia rakudo-moar 9cc5aa: OUTPUT«No such method 'x' for invocant of type 'Any'␤ in block <unit> at /tmp/oZq5tuNRCc:1␤␤»
masak [Tux]: still doesn't segfault on Rakudo 2015.03-239-g9cc5aa5
TimToady yeah, we have to be picker about lexicals if we want any hope of optimizing things 17:11
vendethiel ...without having to throw away all the optimizations we have if we see an "EVAL" (that's what JS runtimes do)
TimToady though Cannot find method 'has_compile_time_value' is one of those many errors that doesn't yet produce a decent location, let alone a backtrace 17:12
vendethiel (so, if you "need" an eval in JS, you usually have a wrapper, so that every other function can be optimized by the runtime)
TimToady I think we pessimize some things already with EVAL, but since we're pessimizing optimizations, and optimizations are not supposed to change semantics, pessimizations should also theoretically not change semantics 17:13
whether B is considered visible would be a semantic shift, which is probably a design smell 17:14
gfldex Is what I want to do insane, a rakudobug in EVAL, LTA on the error or should I do that with macros anyway? 17:16
TimToady you'll note that P6 does almost nothing with packages, other than use them for module or class names, since neither subs nor methods are stored in packages anymore; we kept them, however, for just such run-time chicanery 17:17
17:17 zakharyas joined
eli-se vendethiel: if you need eval in JS you're writing pointlessly dynamic code that should break. 17:17
TimToady at the expense of having to say OUR:: in spots where P5 would look things up in the package by default 17:18
vendethiel eli-se: I feel this is irrelevant to what I've said :)
I definitely agree, tho.
moritz have you folks seen perl6.guide/ ?
vendethiel moritz: I think the guy who did that came some time ago to discuss it. it's on some github repo, afaik 17:19
TimToady "Rakudo has a JVM backend! That's cool, right?"
vendethiel ah, there's a link at the bottom, even
eli-se moritz: I have now. 17:20
RabidGravy going back to my previous Q regarding partial application, how would one get the code of a method at all? 17:22
code object that is
moritz m: say 42.^find_method('sqrt').^name 17:23
camelia rakudo-moar 9cc5aa: OUTPUT«Method␤»
moritz m: say 42.^find_method('sqrt')(4)
camelia rakudo-moar 9cc5aa: OUTPUT«2␤»
moritz RabidGravy: like this
RabidGravy ah ok no short incantation 17:25
TimToady nqp-m: say(+"0x42") 17:26
camelia nqp-moarvm: OUTPUT«66␤»
moritz m: say 42.can('sqrt')[0](4)
camelia rakudo-moar 9cc5aa: OUTPUT«2␤»
TimToady nqp-j: say(+"0x42")
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007f22ec012f50 ***␤*** Error in `java': double free or corruption (!prev): 0x00007f22ec01a8c0 ***␤#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthre…»
TimToady nqp-j: +"0x2" 17:27
camelia nqp-jvm: OUTPUT«(signal ABRT)#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤*** Error in `java': double free or corruption (out): 0x00007ffe0401a8c0 ***␤*** Error in `java': double free or corruption (!prev): 0x00007ffe040…»
RabidGravy moritz++ # cheers
TimToady shortest abort for nqp-j?
nqp-j: +"0x" 17:28
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007f7654007c90 ***␤*** Error in `java': double free or corruption (fasttop): 0x00007f7654016880 ***␤*** Error in `java': double free or corruption (fasttop): 0x00007f765401bf60 ***␤#␤*…»
TimToady masakbot: ^^
moritz nqp-j: say(42) 17:29
camelia nqp-jvm: OUTPUT«(signal ABRT)»
moritz nqp-j: 1
camelia nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007f510001a8c0 ***␤*** Error in `java': double free or corruption (out): 0x00007f510001a8c0 ***␤»
moritz TimToady: I win :-)
TimToady nqp-j: 17:30
nqp-j:   17:31
moritz I wrote the regex that camelia uses for detecting input; I'd be surprised if it triggered for the empty program :-) 17:33
TimToady anyway, it's still not producing the same result for +"0x42"
the second one had a no-break space
so, is a zero-width space shorter than a 1? :) 17:34
17:35 zakharyas left
dalek ast: 9b7d709 | nbrown++ | S02-literals/heredocs.t:
Add test for here doc constants RT #117853
17:35
synbot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=117853
[Tux] clears out moar-nom completely and starts all over … 17:36
TimToady m: sub infix:<>($a,$b) { $a * $b }; say 2pi 17:38
camelia rakudo-moar 9cc5aa: OUTPUT«6.28318530717959␤»
17:38 egrep joined
RabidGravy ooh TimToady++ # that "trick" answers a question I had queued up 17:42
sjn m: sub infix:<>($a,$b) { $a * $b }; say 2e 17:52
camelia rakudo-moar 9cc5aa: OUTPUT«5.43656365691809␤»
sjn m: sub infix:<>($a,$b) { $a * $b }; say 2pi 17:54
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5===␤Null operator is not allowed␤at /tmp/BN8USoFDV6:1␤------> 3sub infix:<>7⏏5($a,$b) { $a * $b }; say 2pi␤Other potential difficulties:␤ Pair with <> really means an empty list, not null string; use :('') to represent the…»
sjn huh
RabidGravy odd 18:01
vendethiel would feel better if infix:<> wasn't allowed :-)
masak m: say '<>'.chars 18:07
camelia rakudo-moar 9cc5aa: OUTPUT«3␤»
vendethiel .u <> 18:08
yoleaux U+003C LESS-THAN SIGN [Sm] (<)
U+003E GREATER-THAN SIGN [Sm] (>)
U+FEFF ZERO WIDTH NO-BREAK SPACE [Cf] (<control>)
masak suspects TimToady has something up his <> ;)
vendethiel that much was obvious :-)
masak well, I guess putting zero width no-break spaces into your code is its own punishment 18:09
18:09 yqt left
dalek ast: 2aa5258 | TimToady++ | S02-literals/numeric.t:
fudge for nqp-j bug; some complex tests approx
18:13
[Tux] I'm missing something here: 18:19
m: my@x=["a","b"],[1,2],[3,4],[5,6];@x.perl.say;my Str @y = shift @x;@x.perl.say;@y.perl.say;
camelia rakudo-moar 9cc5aa: OUTPUT«[["a", "b"], [1, 2], [3, 4], [5, 6]]<>␤[[1, 2], [3, 4], [5, 6]]<>␤Type check failed in assignment to '@y'; expected 'Str' but got 'Array'␤ in method REIFY at src/gen/m-CORE.setting:10985␤ in method reify at src/gen/m-CORE.setting:9519␤ in bloc…»
TimToady you didn't put a Str into @array, you put an Array 18:21
a := might work there
m: my@x=["a","b"],[1,2],[3,4],[5,6];@x.perl.say;my Str @y := shift @x;@x.perl.say;@y.perl.say; 18:22
camelia rakudo-moar 9cc5aa: OUTPUT«[["a", "b"], [1, 2], [3, 4], [5, 6]]<>␤Type check failed in binding; expected 'Positional[Str]' but got 'Array'␤ in any bind_error at src/vm/moar/Perl6/Ops.nqp:224␤ in block <unit> at /tmp/oC2Ojmp1uY:1␤␤»
TimToady or...not... :)
psch m: my Cool @x = [<a b>], [1, 2]; my Str @y = do -> Str() @z { @z }(@x)
camelia ( no output )
psch m: my Cool @x = [<a b>], [1, 2]; my Str @y = do -> Str() @z { @z }(@x); @y.perl.say
camelia rakudo-moar 9cc5aa: OUTPUT«Array[Str].new("a b 1 2")␤»
psch eh, too cool
should've expected that, probably
18:23 KCL joined
psch is still recouperating from the lawyer-and-judge-heavy ruby wedding anniversary he was at yesterday 18:23
[Tux] ok, what I want to do is convert @x to [{:a(1),:b(2)},[:a(3),:b(4)},{:a(5),:b(6)}] 18:24
TimToady wonders what year the python anniversary is...
[Tux] first row of AoA is to be used as keys for all subsequent rows
TimToady m: my@x=["a","b"],[1,2],[3,4],[5,6];@x.perl.say;my @y = @x.shift.list; @x.perl.say; @y.perl.say; 18:26
camelia rakudo-moar 9cc5aa: OUTPUT«[["a", "b"], [1, 2], [3, 4], [5, 6]]<>␤[[1, 2], [3, 4], [5, 6]]<>␤["a", "b"]<>␤»
18:26 KCL_ left
vendethiel m: role X[*::T]{} #:P 18:30
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WFlMlTgX7A␤Malformed parameter␤at /tmp/WFlMlTgX7A:1␤------> 3role X[*7⏏5::T]{} #:P␤ expecting any of:␤ formal parameter␤»
vendethiel m: role X[Mu:U *@types]{} #:P
camelia rakudo-moar 9cc5aa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QxqFMEODyP␤Slurpy positionals with type constraints are not supported.␤at /tmp/QxqFMEODyP:1␤------> 3role X[Mu:U *@types7⏏5]{} #:P␤ expecting any of:␤ constraint␤»
vendethiel m: role X[*@types]{}; X[Int, Array] #:P 18:32
camelia ( no output )
vendethiel amazing.
18:34 KCL left 18:35 KCL_ joined
masak ...but maybe not call it `X`, because that's the Exceptions namespace ;) 18:36
TimToady m: my @x = ["a","b"],[1,2],[3,4],[5,6]; my @y = @x.shift.list; @x.map(-> @a { $%( @y Z=> @a ) }).perl.say
camelia rakudo-moar 9cc5aa: OUTPUT«({:a(1), :b(2)}, {:a(3), :b(4)}, {:a(5), :b(6)})␤»
TimToady |Tux|: ^^ 18:37
[Tux] gist.github.com/Tux/dbb86caf733d09e199d9 <= what I almost committed
vendethiel masak: I remember using "LoL" as a namespace a few days ago :P 18:38
I'm just checking if we'll be able to go c++-type crazy if we want to
18:40 anaeem1_ left
masak :) 18:40
18:41 anaeem1_ joined
TimToady C++ is just another dialect of Perl 6 :P 18:41
though might need a few more hooks into GCland to get there...
[Tux] nice. back to two lines ... 18:42
my @h = @in.shift.list or return [];
return [ @in.map (-> @r { $%( @h Z=> @r ) }) ];
vendethiel TimToady: well, we can probably use a low-level array to have our own memory mapping 18:43
18:44 lucasb left
TimToady esp if its size is mmapped 18:44
vendethiel
.oO( don't mind me, I'm just looking for the turing-complete compile-time part... )
18:45
18:45 anaeem1_ left
TimToady m: m: say <Inf+NaNi>.WHAT 18:49
camelia rakudo-moar 9cc5aa: OUTPUT«(Str)␤»
TimToady masak: ^^^ it's not doing what you think
m: m: say <Inf+NaN\i>.WHAT
camelia rakudo-moar 9cc5aa: OUTPUT«(Complex)␤»
18:50 rindolf left
masak TimToady: oh, good :) 18:50
TimToady I suppose one could try to recognize "almost numbers" and warn, but that seems problematic 18:51
18:51 konsolebox joined 18:52 konsolebox left
TimToady I admit it puzzled me long enough to go back and make sure there was no way to parse NaN without a >> after it... 18:53
then the "oh duh"
18:53 brrt joined
masak sorry to make you go "nani!?" :P 18:53
TimToady masak: I really, really appreciate multi-lingual puns :) 18:54
masak m: say <Inf+NaN\deska> 18:55
camelia rakudo-moar 9cc5aa: OUTPUT«Inf+NaN\deska␤»
masak :)
18:56 Patterner left
vendethiel masak++ # okay, didn't see that pun coming :P 18:57
18:57 spider-mario joined, Patterner joined
TimToady man shall not live by pan alone 18:57
masak .oO( well, that panned out well... ) 19:00
TimToady panda! 19:04
masak .oO( пан, да... ) 19:06
TimToady n'yet, it's still baking in the pan 19:07
masak yet another thing I shouldn't've putin the pan... 19:12
19:17 raiph left 19:23 eli-se left, SHODAN left
jnthn
.oO( His neighbours wish he'd not putin the troops... )
19:23
jnthn back from dinner
19:26 eli-se joined
dalek kudo/uni: d36537c | jnthn++ | / (2 files):
Start implementing Uni type and its subclasses.
19:29
kudo/uni: d9e6196 | jnthn++ | t/spectest.data:
Add Unicode normalization tests as stress tests.

Including them in a normal run would not only increase the time quite a bit, but also be a somewhat cheating way to surpass 100,000 spec tests.
jnthn masak: In gist.github.com/masak/e54c64fc2d51cdd1a0b7 try for ^23 -> int $i { ... } 19:31
19:31 raiph joined, raiph left
masak jnthn: oh, good idea. 19:32
masak does
19:34 raiph joined
vendethiel are all the branches on rakudo/rakudo here for a reason? (as in - they have unmerged commits) 19:40
19:40 lichtkind joined
vendethiel was newio merged to master? 19:44
jnthn Not yet
moritz tony-o: perl6-event-emitter's META.json is not valid json, according to ecosystem-api.p6c.org/errors.json 19:45
dalek ast: 6d547a3 | jnthn++ | S15-normalization/test-gen.p6:
Generate normalization sanity tests.

This picks 500 out of the 18,500 or so for each normalization form. It biases towards those that perform a transform rather than identity, as those are generally the more interesting, but includes some identity cases too.
19:48
ast: d5b767c | jnthn++ | S15-normalization/nf (4 files):
Add generated normalization sanity tests.
kudo/uni: 6c1393b | jnthn++ | t/spectest.data:
Run normalization sanity tests.

On Moar only, but these are not stress tests.
19:49
19:50 yqt joined
vendethiel jnthn: ah, thanks. I tried to compare branches on github, but it didn't work, that's why I asked 19:51
masak moritz: did you mean META.info ? 19:53
moritz: I saw nothing wrong with that file looking very closely at it with my eyes.
moritz masak: no, META6.json 19:54
masak oh.
moritz ecosystem-api.p6c.org/errors.json
masak raw.githubusercontent.com/tony-o/p...META6.json 19:55
indeed, that one looks wrong. 19:56
two commas instead of colons inside the "provides" hash.
would've worked if it were Perl ;)
tony-o moritz: thanks for the heads up - should be fixed 20:01
dalek p: 9aee14f | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for Unicode normalization bits.
20:04
kudo/nom: 0b32573 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for MoarVM normalization bits.
20:06
kudo/nom: c291698 | jnthn++ | / (2 files):
Start implementing Uni type and its subclasses.
kudo/nom: 568de38 | jnthn++ | t/spectest.data:
Add Unicode normalization tests as stress tests.

Including them in a normal run would not only increase the time quite a bit, but also be a somewhat cheating way to surpass 100,000 spec tests.
kudo/nom: 8e96e4f | jnthn++ | t/spectest.data:
Run normalization sanity tests.

On Moar only, but these are not stress tests.
20:11 lichtkind_ joined
RabidGravy is it likely that adding new "routine_declarator"s will be supporting at some time? 20:12
vendethiel RabidGravy: like "sub" and "method"? 20:13
jnthn Via the slang mechanism, surely.
20:13 lichtkind left
RabidGravy yeah 20:14
jnthn Not sure there'll be as neat a way for them as a few of the other categories.
masak the problem isn't so much handling the parsing bit
RabidGravy yeah was just looking at the code
jnthn Well, not so much neat, but "obvious non-slang useful way to declare them"
masak it's handling the actions, threading new code into old code
I'm pretty sure we have a few lessons to learn there for Perl 6 and extensibility 20:15
jnthn For infix/postfix/prefix/circumfix, "call a subroutine" is a pretty useful non-slang default. For package_declarator, "custom meta-object" also is.
Both of those are open to slang-y extension when you want more, of course. 20:16
I'm not sure there's an obvious one for routine_declarator.
20:16 koo5 left
RabidGravy I was thinking "call a subroutine with name, ptotype and routine body" simply 20:18
in my stupid way of looking at things
masak maybe say "define", not "call" ;) 20:20
20:20 espadrine joined 20:28 Rounin left 20:31 Zoffix left 20:39 n0vacane left 20:40 darutoko left 20:43 cognominal joined, cognominal left, cognominal joined, kaare_ left
cognominal the Perl6 shell is confused by : grep { True }, < a b c > 20:46
Missing comma after block argument to grep
at <unknown file>:1
------> say grep { True ⏏}, < a b c >
vendethiel o/, cognominal 20:51
cognominal \o, ven 20:53
vendethiel cognominal: maybe it's confusing it for a hash 20:55
m: grep { True }, <a b c>
camelia ( no output )
vendethiel or mabye it's really just the shell
cognominal It is just the shell. I don't know the heuristics for shell parsing and how it differs from regualr parsing. 20:56
RabidGravy yeah I think it has gone a bit wrong the last couple of days 20:57
If you split it into lines it hits the skids after the , 20:59
> grep {
* True
* },
===SORRY!=== Error while compiling <unknown file>
Missing comma after block argument to grep
skids don't hit the skids! 21:00
RabidGravy ;-)
21:00 lucasb joined
cognominal .hug skids 21:02
RabidGravy I think it may be associated with the "not parsing subs properly"
21:02 anaeem1_ joined 21:03 anaeem1_ left, anaeem1 joined 21:05 brrt left
lucasb m: my ($x,@a,%h); say $x.VAR.WHAT, @a.VAR.WHAT, %h.VAR.WHAT 21:05
camelia rakudo-moar 8e96e4: OUTPUT«(Scalar)(Array)(Hash)␤»
lucasb m: say 42.VAR.WHAT, "foo".VAR.WHAT
camelia rakudo-moar 8e96e4: OUTPUT«(Int)(Str)␤»
lucasb ^^ Is .VAR really intended to work on literals?
RabidGravy in the REPL is it deciding somehow for itself when to parse a chunk of code, and maybe doing it a bit too soon?
jnthn lucasb: Yes, design docs say it returns identity on those. 21:06
lucasb jnthn: Oh, thanks. 21:07
21:07 cschwenz left
ugexe considering all the recent work done regarding when to parse a line of code in the repl i would imagine that is what is happening 21:08
21:08 anaeem1 left 21:11 raiph left
psch RabidGravy: yes, block parsing in the REPL is currently a bit broken, courtesy of yours truely 21:12
RabidGravy oh well, as long as we know ;-) 21:13
psch RabidGravy: i've been between "just revert it" and "you can figure it out in the next few days" for a bit over a week now, which strongly hints at the former being the right course of action...
i'm giving myself up to the 20th, because i'd rather not have a nigh-useless REPL in the next release :) 21:14
RabidGravy two pronged, stuff it in a branch, revert master and fix at your leisure ;-)
psch i had a branch, and it looked fine to my eyes, that's why i merged 21:15
i didn't look closely enough, apparently :)
i'm just glad it doesn't leak out of the REPL, 'cause that'd be horrible 21:16
21:17 espadrine left
psch but yes, i will keep at it in a branch if there's no timely solution 21:17
(and write more tests) 21:18
21:23 kst joined 21:25 koo6 joined
RabidGravy all good 21:29
masak just re-read "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire" 21:37
I don't think I properly appreciated when I last read that what a deeply CT-inspired paper that is. 21:38
I wonder if they considered calling it "Explicit structural induction considered harmful" -- it's certainly that in spirit. 21:39
'night, #perl6 21:41
jnthn omgz I writed a blog post! 6guts.wordpress.com/2015/04/12/thi...-many-rts/ 21:49
'night, masak :)
eli-se Perl 6 is like APL. 21:52
21:56 work_op joined
jnthn sleep; 'night #perl6 21:56
22:09 vendethiel left 22:11 lucasb left 22:12 bjz left 22:20 mr-foobar left, vendethiel joined
eli-se good bye jonathan 22:24
22:24 telex left 22:25 lichtkind_ left 22:26 telex joined, beastd left
RabidGravy boom! 22:37
nighty night!
22:41 raiph joined 22:42 RabidGravy left, vendethiel left 22:45 eli-se left 22:50 gfldex left 22:52 raiph left 23:05 vendethiel joined 23:09 koo6 left
geekosaur just read masak's article abotu here docs and is confused about the two "special cases". in the `constant` case, at the time the senmicolon is read, you have already parsed some number of heredoc delimiters (q* :to) and know how many more to read; for `BEGIN` blocks, doesn't the heredoc logically belong *inside* the block? 23:13
(yes, I saw that something was done for the `constant` one)
23:14 raiph joined
geekosaur for BEGIN blocks, I'd expect the heredoc outside the block to be nonexistent at compile time and probably q:to should throw an exception... 23:14
TimToady m: sub foo (**@lol) { say nqp::iscont(@lol[0]) }; foo((1,2,3),(4,5,6)) 23:16
camelia rakudo-moar 8e96e4: OUTPUT«1␤»
TimToady m: sub foo (**@lol) { say nqp::iscont(@lol[0]) }; foo($(1,2,3),(4,5,6))
camelia rakudo-moar 8e96e4: OUTPUT«1␤»
TimToady this is unfortunate
probably the main reason we've had to rewrite a lot of **@lol into \args 23:17
and the underlying reason why ... is behaving inconsistently
23:20 virtualsue left 23:26 vendethiel left 23:38 raiph left