»ö« 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/emhGYXGjKrAn exception occurred while evaluating a constantat /tmp/emhGYXGjKr:1Exception 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/oWZnDneOvHUndeclared 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 directoryServer 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/Hcg9dNEqn2Undeclared 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/TuYHkX5m93The following packages were stubbed but not defined: Bat /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/6GGRmNuyk3The following packages were stubbed but not defined: Bat /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/3OdlyTFcLrThe following packages were stubbed but not defined: Bat /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_0This 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 allowedat /tmp/BN8USoFDV6:1------> 3sub infix:<>7⏏5($a,$b) { $a * $b }; say 2piOther 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/WFlMlTgX7AMalformed parameterat /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/QxqFMEODyPSlurpy 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
|