»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
raydiak | in a casual test of 1e5 iterations on my old cheap laptop, the regex method took 7s, the bag/junction method took 19s... | 00:01 | |
m: say so .elems == .unique.elems given "CasdfghjkC234".comb.list | |||
camelia | rakudo-moar 1ab1fb: OUTPUT«False» | ||
raydiak | ...and ^ took almost 3s | ||
00:05
pierre joined
|
|||
geekosaur | huh. I was playing with something resembling that | 00:07 | |
I would have expected the Bag to be faster though. (optimization opportunity?) | 00:08 | ||
00:10
pierre left
|
|||
AlexDaniel | raydiak: what about | 00:11 | |
m: say [==] 1, |‘abcde’.comb.Bag.values | 00:12 | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«True» | ||
AlexDaniel | m: say [==] 1, |‘abcdce’.comb.Bag.values | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«False» | ||
AlexDaniel | raydiak: how long does that take? Perhaps junction is making it slow | ||
raydiak | ouch...idk, it's still trying :P | 00:13 | |
AlexDaniel | :( | 00:14 | |
raydiak | oh, my bad, I was using 1e4 iterations the whole time. it took 17s | 00:15 | |
AlexDaniel | so, faster than junction, right? :) | 00:16 | |
but yeah, then .unique is the way to go I guess | |||
raydiak | by less than 10% but yes :) | ||
m: say so 'CasdfghjkC234'.comb.repeated; say so 'Casdfghjkc234'.comb.repeated | 00:24 | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«TrueFalse» | ||
raydiak | ^ got it down to 1.5s | ||
00:28
cpage_ joined,
hobbs joined,
hobbs left,
hobbs joined
00:29
hoelzro joined
00:30
maybekoo2 left
00:32
huggable joined
00:33
pierre joined
|
|||
AlexDaniel | raydiak: ah! .repeated! | 00:33 | |
good to know | |||
kalkin-: ↑ ! | |||
raydiak++ | 00:35 | ||
raydiak | I didn't know about it before today either... (documentation writers)++ | ||
AlexDaniel | m: say <4 8 15 16 23 42>.repeated(as => { $_ div 9 }) | 00:38 | |
camelia | rakudo-moar 1ab1fb: OUTPUT«(8 16)» | ||
kalkin- | awesome, thanks :) | ||
00:39
daxim left
|
|||
kalkin- | Why can't I do subset MyType of Str where *.comb.repeated and *.chars >= 16? It always just evaluates the first condition | 00:40 | |
geekosaur | reuse of * doesn't work like that | 00:41 | |
something like $^a may work better? | |||
kalkin- | geekosaur: the per6 documentation doesn't find anything if i search for $^ | 00:42 | |
geekosaur | more specifically, each * refers to a distinct parameter | ||
00:42
mspo joined
|
|||
geekosaur | doc.perl6.org/language/variables#The_%5E_Twigil | 00:43 | |
kalkin- | geekosaur: thanks. will dig in to that | 00:44 | |
AlexDaniel | m: subset MyType of Str where !.comb.repeated && .chars >= 3; my MyType $x = ‘abc’ | ||
camelia | ( no output ) | ||
AlexDaniel | m: subset MyType of Str where !.comb.repeated && .chars >= 3; my MyType $x = ‘ab’ | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«Type check failed in assignment to $x; expected MyType but got Str ("ab") in block <unit> at /tmp/eQCtIK7p5z line 1» | ||
AlexDaniel | m: subset MyType of Str where !.comb.repeated && .chars >= 3; my MyType $x = ‘abca’ | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«Type check failed in assignment to $x; expected MyType but got Str ("abca") in block <unit> at /tmp/n4r78efpe5 line 1» | ||
AlexDaniel | kalkin-: ↑ | ||
raydiak | "where { .comb.repeated && .chars >= 16 }" should work | 00:45 | |
oh beat me to :) | |||
got a little lag again today | |||
kalkin- | AlexDaniel: Thanks. | 00:46 | |
But just to clarify, when would it be usefull to use * in a subset where? | |||
AlexDaniel | … never? | 00:47 | |
kalkin- | hmm, where did i pick it up? | 00:48 | |
AlexDaniel | not that it doesn't work, it does. But I am not sure why would you want to use it | 00:49 | |
geekosaur | it gets used in a lot of examples | 00:53 | |
kalkin- | m: subset MyType of Str where !.comb.repeated && .chars >= 5; my MyType $x = ('a'...'b').join | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«Type check failed in assignment to $x; expected MyType but got Str ("ab") in block <unit> at /tmp/zQffnn8PUt line 1» | ||
kalkin- | hmm, for some reason this worked in the repl. may be I did a typo in repl | ||
AlexDaniel | m: subset MyType of Str where (!.comb.repeated or fail ‘Non-unique characters found’ ) && (.chars >= 3 or fail ‘Too short string’); my MyType $x = ‘abca’ | 00:56 | |
camelia | rakudo-moar 1ab1fb: OUTPUT«Non-unique characters found in any accepts_type at gen/moar/m-Metamodel.nqp line 3431 in block <unit> at /tmp/VzVWyb_dj1 line 1» | ||
AlexDaniel | m: subset MyType of Str where (!.comb.repeated or fail ‘Non-unique characters found’ ) && (.chars >= 3 or fail ‘Too short string’); my MyType $x = ‘ab’ | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«Too short string in any accepts_type at gen/moar/m-Metamodel.nqp line 3431 in block <unit> at /tmp/wIHm_Sf6la line 1» | ||
kalkin- | m: subset MyType of Str where !.comb.repeated and .chars >= 5; my MyType $x = ('a'...'b').join | ||
camelia | ( no output ) | ||
kalkin- | I had and in my code | ||
AlexDaniel | the messed up line number makes it a little bit less useful | ||
kalkin- | From reading the docs i looks to me that && and 'and' should be the same. The later one is just looser | 00:59 | |
01:04
cdg left
01:09
matiaslina left
01:17
gorgonzola joined
01:19
AlexDaniel left
|
|||
dalek | c: 3d562b0 | (Zoffix Znet)++ | doc/Language/variables.pod: Point out a way to detect OS in use |
01:33 | |
01:33
kalkin- left,
kalkin-_ joined
01:37
molaf left
01:42
jack_rabbit joined
01:45
BenGoldberg joined,
ilbot3 left
01:47
ilbot3 joined
01:49
molaf joined
02:04
araujo_ left
02:05
gorgonzola left
02:16
BenGoldberg left
02:20
gorgonzola joined
02:22
kid511 joined,
kid51 left
02:26
kid511 left
|
|||
dalek | osystem: 20788c0 | (Zoffix Znet)++ | META.list: Add Terminal::Width Get the current width of the terminal: github.com/zoffixznet/perl6-Terminal-Width |
02:31 | |
02:33
pierre left
02:34
pierre joined
02:37
kurahaupo joined
02:42
BenGoldberg joined
02:44
Celelibi left,
BenGoldberg left
02:48
Celelibi joined
02:49
gorgonzola left,
noganex_ joined
02:52
noganex left
02:54
lorem_perlsum joined,
lorem_perlsum left
03:01
ssotka left
03:06
pierre left
03:11
|meta left
03:18
Tonik joined
03:19
pierre joined
03:20
pierre left
03:24
Tonik left,
pierre joined
03:25
pierre left,
pierre joined
|
|||
awwaiid | Sadly, my StrangeLoop talk was not accepted :( | 03:25 | |
03:26
pierre left
03:27
Zoffix joined
|
|||
TEttinger | not hip enough? | 03:27 | |
03:27
pierre joined
|
|||
TEttinger | I don't even know what StrangeLoop is | 03:27 | |
03:28
zakharyas joined
|
|||
Zoffix | Are there any tricks for starting a process outside of "current environment". My puzzle: when my stuff is run with `prove` it runs it in a harness and calling run('tput', 'cols') always returns 80. I want it to somehow give me the actual value of the actual terminal. Any tricks? | 03:28 | |
03:28
pierre left
|
|||
yoleaux | 26 May 2016 22:01Z <lizmat> Zoffix: noted | 03:28 | |
03:29
pierre joined
03:30
pierre left
|
|||
geekosaur | might try removing COLUMNS and LINES from %*ENV? | 03:32 | |
ugexe | you can pass in :$env to run, so combine with ^ | 03:33 | |
geekosaur | otherwise it may be using a pty, and good luck finding the original tty in that case | ||
awwaiid | TEttinger: StrangeLoop is an amazing and awesome conference, and the Perl 6 communit should be ALL over it, but somehow isn't. They typically even have an "emerging languages" track and lots of very very relevant topics | 03:35 | |
Zoffix | I don't see those set at all. This is my entire %*ENV run under prove: gist.github.com/zoffixznet/a01721c...f8328e775b | ||
03:35
cpage_ left
|
|||
Zoffix | .oO( PANTS => "ON".Str, .... dafuq? ) |
03:36 | |
awwaiid | TEttinger: here are a bunch of videos from previous years of the StrangeLoop conference, lots of great stuff www.youtube.com/channel/UC_QIfHvN9...WDw/videos | ||
TEttinger | I guess I confuse it with HyperLoop, which seems like a massive hype generator for something that will probably become an easily-broken package transporter for Amazon | ||
awwaiid | haha | ||
TEttinger | "someone drove over the hyperloop again, guess we need to use planes to transport stuff for a while" | 03:37 | |
03:38
cpage_ joined
03:40
BenGoldberg joined,
zakharyas left
|
|||
geekosaur | odd | 03:41 | |
geekosaur does not see any indication offhand that prove uses ptys... | |||
03:42
bitmap joined
|
|||
ugexe | youre going to have to get it before prove spawns a new process and set it in an ENV yourself to use inside | 03:44 | |
Zoffix | Eh, can't do it. Was gonna use it in a test module, but I guess 80-col chars it is. | 03:45 | |
ugexe | but TAP.pm6 in rakudo might be able to do it better? | ||
Zoffix | hm | ||
No idea what TAP.pm6 is all about. I'm gonna table this for another day... | 03:46 | ||
ugexe | its TAP::Harness (prove6) fwiw | 03:47 | |
geekosaur | "prove" runs tests for the TAP testing harness | 03:48 | |
ugexe | yeah, and i doubt `prove -e 'xxx'` is helping to make getting the original term width easy | 03:53 | |
geekosaur | oh, yeh | 03:54 | |
unless it opens /dev/tty it will be using $TERM default because stdout and possibly stdin are not terminals | 03:55 | ||
(otoh there's your workaround to get the actual terminal size) | |||
03:55
skids joined
03:56
pierre joined
03:58
pierre left,
ssotka joined
|
|||
Zoffix | I'll keep that in mind when I try to fix it, thanks. | 03:58 | |
03:58
pierre joined
03:59
pierre left
04:01
khw left
04:10
aries_liuxueyang left
04:11
aries_liuxueyang joined
|
|||
dalek | osystem: 03437c4 | (Zoffix Znet)++ | META.list: Add Test::Notice Display noticable messages to users during tests: github.com/zoffixznet/perl6-Test-Notice |
04:15 | |
04:15
Zoffix left
04:28
BenGoldberg left
04:30
BenGoldberg joined
04:32
huggable left
04:34
BenGoldberg left
04:35
Cabanossi left
04:36
adu joined
04:37
Cabanossi joined
04:39
BenGoldberg joined
04:44
BenGoldberg left
04:45
sortiz left
04:50
BenGoldberg joined
04:51
tardisx joined,
tardisx left
05:04
BenGoldberg left
05:06
BenGoldberg joined
05:07
willthechill left
05:13
CIAvash joined,
BenGoldberg left
05:14
Actualeyes left
05:20
adu left
05:22
sno left
05:28
wamba joined
05:31
Actualeyes joined
05:35
kurahaupo left
05:41
cpage_ left
05:49
pierre joined
05:57
domidumont joined
05:59
azawawi joined
|
|||
Xliff | Does perl6 allow you to create dynamic class methods? | 06:01 | |
azawawi | $perl6.say("good-morning") # :) | ||
Xliff | \o azawawi | ||
06:01
domidumont left,
domidumont joined
|
|||
geekosaur | Xliff, meaning? you can add methods at runtime using the MOP (self.^add_method something or other, iirc) | 06:03 | |
Xliff | geekosaur: I have an API where the actual work done can be determined by the method name. | 06:04 | |
So I want all method calls to an object to go through a dispatcher, without having to explicitly write every method. | 06:05 | ||
geekosaur | FALLBACK method | ||
Xliff | Thanks! | ||
06:07
maybekoo2 joined
06:09
sno joined
06:17
cpage_ joined
06:24
pierre left,
domidumont left
06:29
rindolf joined
06:32
jack_rabbit left,
jack_rabbit joined
|
|||
Xliff | What does this error message mean: "Cannot coerce to HTTP::UserAgent with named arguments" | 06:33 | |
For this code: "$!http_client = HTTP::UserAgent(:$useragent); " | 06:34 | ||
Oh, nevermind. | |||
06:35
ssotka left
06:40
rindolf left,
pierre joined,
firstdayonthejob left
06:41
AgedBurley joined
|
|||
AgedBurley | why does this give error: for @xs <-> $x { $x = $x * $x } | 06:41 | |
where: my @xs = <1,2,3,4,5,6> | 06:42 | ||
06:46
azawawi left
06:51
cpage_ left
|
|||
CIAvash | AgedBurley: You need to change @xs to 1,2,3,4,5,6 or <1 2 3 4 5 6> | 06:56 | |
06:57
rindolf joined
07:02
Amnez777 left
07:20
domidumont joined
|
|||
Xliff | I miss lcfirst. | 07:21 | |
"$s.substr-rw(0, 1) = $s.substr(0, 1).lc" just isn't the same. | 07:22 | ||
07:27
Azry joined,
AgedBurley left
07:29
Azry_ left
|
|||
wamba | m: say 13 %% 2 | 07:36 | |
camelia | rakudo-moar 1ab1fb: OUTPUT«False» | ||
wamba | m: say 13.2 % 5 | 07:39 | |
camelia | rakudo-moar 1ab1fb: OUTPUT«3.2» | ||
CIAvash | Xliff: this works apparently: $str.=samecase: 'a_' | 07:45 | |
Timbus | Xliff, you mean tc ? | ||
07:46
darutoko joined
|
|||
Timbus | inverse of tc* | 07:46 | |
masak | morning, #perl6 | 08:04 | |
m: sub lcfirst($s) { $s.substr(0, 1).lc ~ $s.substr(1) }; say "FOO".&lcfirst() | 08:05 | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«fOO» | ||
masak | Xliff: if you miss lcfirst, define it in your local scope. | ||
08:05
abraxxa joined
|
|||
masak | personally, I think people are under-using the above technique. | 08:06 | |
m: my method lcfirst() { self.substr(0, 1).lc ~ self.substr(1) }; say "FOO".&lcfirst() | 08:07 | ||
camelia | rakudo-moar 1ab1fb: OUTPUT«fOO» | ||
masak | ^ also works, and is perhaps more clear/purposeful | ||
m: my method lcfirst(Str $:) { self.substr(0, 1).lc ~ self.substr(1) }; say "FOO".&lcfirst(); say 42.&lcfirst() | |||
camelia | rakudo-moar 1ab1fb: OUTPUT«fOOType check failed in binding <anon>; expected Str but got Int (42) in method lcfirst at /tmp/adwzdHuP_D line 1 in block <unit> at /tmp/adwzdHuP_D line 1» | 08:08 | |
masak | typechecking. | ||
(can't do `Str \self`, unfortunately, because `self` is already declared at that point in a method) | |||
08:14
rindolf left
08:20
CIAvash left
08:21
CIAvash joined
08:22
Amnez777 joined
08:25
MadcapJake left
08:32
huggable joined
08:39
rindolf joined,
RabidGravy joined
|
|||
Xliff | CIAvash++ and masak++: Thanks! | 08:49 | |
08:54
CIAvash left,
shlomif joined,
rindolf left,
shlomif is now known as rindolf
09:00
devtom30 joined,
g4 joined
09:04
araujo joined
|
|||
RabidGravy | did the way that subtest print it's description change at some point in the last few weeks? | 09:04 | |
it appears to be printing them out as if it was a "diag" instead of a test description | 09:05 | ||
moritz | aye | 09:06 | |
maybe we should revert that part | |||
... done. | 09:08 | ||
RabidGravy | cool, I've got a lot of tests which are heavy on the sub-tests because same tests repeated on different data | 09:10 | |
09:10
ab6tract joined
09:13
MadcapJake joined
|
|||
ab6tract | hey again #perl6 | 09:14 | |
masak | ab6tract! \o/ | ||
ab6tract | howdy masak! | ||
nice to read you. hey, you wouldn't have any experience with casting Bufs to values, do you? | 09:15 | ||
masak | not particularly | ||
ab6tract | i'm working on the Sereal port again, just sort of sketching it out in pure perl | ||
moritz | ab6tract: iirc there was a thread about that on perl6-users in the last couple of weeks or months | 09:16 | |
ab6tract | gist.github.com/ab5tract/183527289...tfile1-txt | 09:17 | |
09:19
Emeric joined
|
|||
ab6tract | hmm, seems like nativecast might be promising | 09:19 | |
moritz | the thread was "Blobs and IEEE floating point", fwiw | 09:21 | |
09:21
telex left
|
|||
ab6tract | found it, thanks! | 09:22 | |
09:22
telex joined
09:28
pierre left,
iH2O joined
09:34
willthechill joined
09:37
AlexDaniel joined
09:38
salv0 joined
09:39
Azry left
09:40
broquaint joined,
Actualeyes left
09:44
pierre joined
09:46
labster left
09:48
iH2O left
09:52
dalek left
09:53
dalek joined,
ChanServ sets mode: +v dalek
09:57
cognominal left,
cognominal joined
09:59
Actualeyes joined
10:01
wamba left
10:06
wamba joined
10:11
pierre left
|
|||
Jonis | -w 4 | 10:19 | |
whoops, sorry | 10:20 | ||
10:24
ChoHag joined
|
|||
tadzik | heh, a lot of stuff in C# 6 looks like taken straight from Perl 6 :) | 10:26 | |
10:33
iH2O joined
10:43
wamba left
10:44
salv0 left
10:48
iH2O left
10:52
salv0 joined
10:53
kaare_ joined,
ocbtec joined
|
|||
masak | tadzik: do you have an example? | 10:54 | |
or a url? :) | |||
10:56
grondilu joined
10:58
llfourn left
|
|||
tadzik | url: www.simple-talk.com/dotnet/.net-fr...ew-in-c-6/ | 10:59 | |
look for "null conditional" | |||
and "exception filters" :) | |||
11:00
johnchalekson joined
|
|||
stmuk | . o O ( is jnthn moonlighting for M$ ) | 11:03 | |
masak | `using static` is a loan from Java 1.5 :) | ||
tadzik: but we don't have `$obj?.foo` (call guaranteed method foo if $obj isn't null) in Perl 6. we have `$obj.?foo` (call not-guaranteed method foo on $obj) | 11:06 | ||
jnthn | stmuk: If I was, I'd have made it .? like in Perl 6 instead of ?. :P | ||
masak | I guess instead of `$obj?.foo`, we have the thing where Nil swallows method calls, Option-like | ||
11:07
johnchalekson left
|
|||
masak | I really like the `nameof` feature. that feels like a macro to me. | 11:07 | |
arnsholt | Oooh, nameof was a clever idea indeed | 11:09 | |
masak | too bad the `when` is only for `catch` blocks ;) | ||
(also, too many parentheses) :) | |||
11:09
rindolf left
|
|||
masak expectantly clicks the link named "interesting semantics" in the explanation about `await` in `catch` blocks | 11:10 | ||
RabidGravy | perl6 -Ilib -e 'use Lumberjack; say Lumberjack' | ||
===SORRY!=== Error while compiling -e | |||
Undeclared name: | |||
Lumberjack used at line 1 | |||
:( | |||
11:11
johnchalekson joined
|
|||
RabidGravy | something is very broken in 2016.05-13-g498d0a4 | 11:11 | |
masak | RabidGravy: could you be specific? | 11:13 | |
RabidGravy | ^ | ||
Lumberjack is a module that is in the ecosystem | 11:14 | ||
it worked | |||
now it doesn't, in an inexplicable fashion | |||
11:14
jameslenz left
|
|||
masak | is the `-Ilib` because Lumberjack is in your lib/ ? | 11:15 | |
RabidGravy | that is "use Lumberjack" appears to work fine, but clearly doesn't because none of the symbols are merged | ||
yes | |||
masak | $ perl6 -Ilib -e'use Lumberjack; say Lumberjack' | ||
(Lumberjack) | |||
$ perl6 --version | 11:16 | ||
This is Rakudo version 2016.05-6-g2c45068 built on MoarVM version 2016.05 | |||
upgrading to your version and trying again. | |||
RabidGravy | it could be the "subtle precomp bug" that azawawi and llfourn reported yesterday | 11:17 | |
let me delete the ~/.perl6/precomp too | 11:18 | ||
nope :( | 11:19 | ||
11:21
TEttinger left
11:24
Ven joined
|
|||
Ven | o/, #perl6! | 11:24 | |
11:24
kid51 joined
|
|||
DrForr | Afternoon. | 11:24 | |
11:25
rindolf joined
|
|||
RabidGravy | eh up | 11:25 | |
11:26
araujo left,
willthechill left
11:27
araujo joined
11:28
araujo left
11:29
araujo joined
11:32
johnchalekson left
|
|||
Ven | mh, what's supposed to be install/share/perl6/short/XXX that `make` tries to create? | 11:32 | |
11:33
cpage_ joined
|
|||
AlexDaniel | . | 11:33 | |
Ven | I can't install rakudo, it fails with a "Failed to open file <path>: not a directory" | ||
11:34
johnchalekson joined
11:36
johnchalekson left
11:38
johnchalekson joined
|
|||
masak | RabidGravy: sorry, got distracted. | 11:39 | |
RabidGravy | no worries | ||
masak | RabidGravy: anyway, I'm now on 2016.05-15-g5638a13 and I still can't reproduce your problem. | 11:40 | |
one difference is that I just put a `class Lumberjack {}` in lib/Lumberjack.pm instead of using the real module | |||
but I'm not seeing it with that setup | |||
hope that provides some clues for you to narrow it down | |||
you might want to try what I just did, and see if that works for you | |||
11:41
johnchalekson left
11:42
johnchalekson joined,
johnchalekson left
11:43
johnchalekson joined,
johnchalekson left
|
|||
RabidGravy | well it's got to be something specific to the module because I've been testing all of my modules this morning and it's the only one which fails like that | 11:43 | |
11:43
kid51 left,
johnchalekson joined
11:50
tbrowder joined
|
|||
tbrowder | need help and advice on debugging this pod: gist.github.com/tbrowder/23c5ef38c...xample-pod | 11:55 | |
I have tried to run this: | |||
"perl6-debug-m -ll-exception --doc=HTML ./bad-pod-example.pod" | 11:56 | ||
and get this from the exe: | |||
Grouped options '-ll-exception' contain 'l', which is not a valid option [switches] [--] [programfile] [arguments] | |||
...etc.; i.e., I get the help menu from "perl6-debug-m", so is there a bug in perl6-debug-m or am I doing something stupid? | 11:57 | ||
rindolf | tbrowder: shouldn't it be --ll-exception | 11:58 | |
tbrowder: with two dashes? | |||
tbrowder | yes, sorry, I just added that option this AM but it doesn't make any difference (just tried it with yr correction) | 11:59 | |
the return is now: | 12:00 | ||
"Illegal option --doc [switches] [--] [programfile] [arguments]..." | |||
If I cut exe down to "perl6-debug-m --doc ./bad-pod-example.pod" I get | 12:01 | ||
"Illegal option --doc [switches] [--] [programfile] [arguments]..." | |||
12:02
ggoebel115 left
|
|||
tbrowder | I am using rakudo 2016.05 | 12:02 | |
12:03
kaos01 left
12:04
mr-foobar joined
|
|||
tbrowder | BTW< I think I know what the error is: the table pod parser thinks the leading hyphen indicate a heading/contents separator, but I need the debugger to show me the depths of I think nqp | 12:05 | |
12:06
maybekoo2 left
|
|||
tbrowder | as another data point, if I run "perl6 --doc=HTML ./bad-pod-example.pod" I get: | 12:07 | |
"===SORRY!=== Cannot iterate object with P6opaque representation" | |||
I reported the problem earlier here and <masak> filed the bug as #128221 | 12:09 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128221 | ||
12:12
pmurias joined
|
|||
tbrowder | as another data point, the last line I can track to without the debugger is in file "./rakudo/src/Perl6/Pod.nqp", line 177 that reads: | 12:17 | |
unless nqp::islist(@rows[$i]) { | 12:18 | ||
I have tried to find sub nqp::islist but run into more weeds than I can handle at the moment; I have a hard time imagining what that function looks like to cause such an error unless it is some kind of multi-sub with AI about tables | 12:20 | ||
12:21
AlexDaniel left
|
|||
tbrowder | a side note: at one time I found a pdf tutorial on npq (I think by <jnthn>) but can't find it now--a link would be welcomed | 12:23 | |
jnthn | tbrowder: This maybe? github.com/edumentab/rakudo-and-nq...als-course | 12:26 | |
tbrowder | yes, thanks, <jnthn>! | 12:28 | |
12:29
MasterDuke joined
12:32
huggable left
12:33
nicqbot joined
12:34
johnchalekson left
|
|||
tbrowder | it seems to me that a table header/content separator in p6 pod (given the current reqs as I read them [S26]) should be defined as something like Str consisting of all of one of the defined sep chars ('-' or '='), with possibly some column separator chars ('|'. '+', etc.) thrown in | 12:38 | |
MasterDuke | lizmat: ping | 12:42 | |
tbrowder | (I think that S26 is a bit vague on what actually constitutes a table header.) | ||
lizmat | MasterDuke: pong | ||
MasterDuke | lizmat: is there a process for syncing needed changes between moar, nqp, and rakudo? | 12:43 | |
lizmat | not that I know of | 12:44 | |
MasterDuke | i.e., i submitted a rakudo pr that depended on an nqp commit that breaks rakudo if the pr isn't applied | 12:45 | |
lizmat | just mention it in the rakudo PR then :-) | ||
12:46
pierre joined
|
|||
jnthn | MasterDuke, lizmat: NQP_REVISION? | 12:47 | |
12:48
itaipu joined
|
|||
lizmat | no, the nqp PR that is needed | 12:48 | |
jnthn: MasterDuke's question was in relation to PR's in different repo's | 12:49 | ||
MasterDuke: or was I wrong | |||
MasterDuke | jnthn: my rakudo pr did include a bump to NQP_REVISION because my nqp commit was accepted first | ||
jnthn | Oh...yeah, you'd need to get the NQP one merged first :) | 12:50 | |
Though hopefully folks merging PRs do test them some ;) | |||
MasterDuke | jnthn: but that commit was then reverted because it broke rakudo as it existed before the rakduo pr | 12:51 | |
jnthn | Oh... | ||
:) | |||
MasterDuke | so they kind of have to happen simultaneously (well, nqp first, but rakudo immediately after) | ||
i probably didn't give a good explanation of the mutual dependency in either pr | 12:53 | ||
psch | MasterDuke: a comment on the NQP PR a la "the resulting rakudo fallout is fixed in rakudo PR #..." would probably have prevented all the confusion :) | ||
jnthn | MasterDuke: Probably the best bet is to make that clear in the PRs and then maybe ask someone here or on #perl6-dev | ||
psch | MasterDuke: rakudo PR 772 is the one that depends on the merged-and-revert nqp PR? | 12:55 | |
masak | RabidGravy: I'm curious to hear more about the thing specific to Lumberjack which fails like that | 12:56 | |
12:56
g4 left
|
|||
MasterDuke | psch: yep | 12:56 | |
RabidGravy | masak, yeah, so am I tbh :) It only has one dependency | 12:57 | |
12:58
Sgeo left,
sufrostico joined
|
|||
masak | RabidGravy: best of luck. I'll leave le golfing to you | 13:00 | |
13:01
PerlJam joined,
itaipu left
|
|||
RabidGravy | the symbols definitely aren't getting merged and I know of no way to find out why | 13:02 | |
perl6 -Ilib -e 'say (require Lumberjack);' | |||
No such symbol 'Lumberjack' | |||
[Coke] wonders where the coffee's at. | 13:06 | ||
masak | RabidGravy: what's the smallest Lumberjack on your side which doesn't merge the symbols? | 13:07 | |
13:07
domidumont left,
itaipu joined
|
|||
masak | RabidGravy: clearly mine (`class Lumberjack {}`) worked, so it needs to be bigger than that | 13:07 | |
13:08
domidumont joined
|
|||
RabidGravy | right clearly that is going to work | 13:08 | |
masak | I don't think how one uses `require`, by the way | ||
RabidGravy | no, that works for *all other modules* installed or otherwise | 13:09 | |
psch | m: say (require Test) | ||
camelia | rakudo-moar 13ad29: OUTPUT«(Test)» | ||
13:11
patrickz joined
|
|||
[Coke] reviews, and wonders if this is why he has "oh, I'm a lumberjack" stuck in his head. | 13:14 | ||
RabidGravy | ok, deleting the entire content of the class and it works | 13:18 | |
pmurias | jnthn: is being able to reference a undeclared variable intended QAST sematics? I mean having a QAST::Var.new(:scope<lexical>, :name<$not_declared_anywhere>). | 13:19 | |
RabidGravy | leaving the whole body but removing the "is Staticish" from the declaration and it still fails | ||
as above but removing the "use Staticish" and it works | 13:20 | ||
jnthn | pmurias: QAST doesn't enforce anything in that sense | ||
RabidGravy | however a plain "use Staticish" works | ||
jnthn | pmurias: Anything it doesn't find in an outer node it assumes should be compiled into a late-bound lookup and left to fail at runtime | ||
RabidGravy | thus I really, really need some new angle of attack on this | 13:21 | |
jnthn | pmurias: Or to become resolvable at runtime. | ||
(Often via forceouterctx) | |||
RabidGravy | or, at option, get the arse with the whole thing and delete the modules from the ecosystem | ||
pmurias | MasterDuke: I always like VM specific code getting removed :) | 13:22 | |
13:23
cpage_ left
|
|||
[Coke] | ditto. | 13:23 | |
MasterDuke | pmurias: yeah, it was nice to be able to to both (fix the bug and remove the vm-specific code) | 13:24 | |
pmurias | jnthn: it seems that the unresolved lexicals resolve to nulls | ||
13:24
abraxxa left
|
|||
jnthn | pmurias: Ah...yeah, for object ones | 13:25 | |
pmurias: Native ones error | |||
I forget exactly why :) | |||
pmurias | the setting depends on it being that way before &EXHAUST gets defined | 13:26 | |
jnthn | aha | 13:28 | |
RabidGravy | AAAAAAAAAAAAAAAARGH | ||
masak, so I took things out until it worked | |||
then put them back | |||
and now it is identical to how it was before | 13:29 | ||
and it works | |||
pmurias | ivory tower purity doesn't seem to be valued too highly in nqp land ;) | 13:30 | |
RabidGravy | oh wait it doesn't work in a different way | 13:31 | |
Ven | pmurias: puriwhat? :P | 13:33 | |
.oO( Perl 6 should have a Haskell backend, obviously ) |
|||
mspo | I thought perl 6 was LarryWallHaskell | 13:34 | |
pmurias | Ven: we had pugs? | 13:35 | |
13:38
wamba joined
13:40
Ven left
|
|||
geekosaur | ...and only au understood it | 13:44 | |
geekosaur tried :( | |||
13:46
azawawi joined
|
|||
azawawi | $RabidGravy.IO.open :) | 13:47 | |
RabidGravy: RAKUDO_MODULE_DEBUG=1 perl6 -Ilib t/01-sanity.t # we're slow in the precompilation step of each use GTK::XYZWidget in GTK::Simple | 13:53 | ||
RabidGravy: i think we should deprecate the usage of 'use GTK::Simple' in favor to 'use GTK::Simple::XYZComponent' | |||
RabidGravy | yes | 13:54 | |
azawawi | RabidGravy: /in favor to/in favour of/ | ||
13:54
maybekoo2 joined,
MasterDuke left
|
|||
RabidGravy | azawawi++ # understand the virtue of en_GB ;-) | 13:55 | |
azawawi | :) | ||
RabidGravy: moar-nom and 2016.05 exhibit the same performance so far. so it is still slow on latest | 13:56 | ||
RabidGravy concludes that if nuking everything and re-building doesn't fix it, it's re-write Lumberjack not to use Staticish and then try and work out why Staticish has gone broken | 14:03 | ||
azawawi | nice | 14:05 | |
gist.github.com/azawawi/9923059405...60753bcfa4 # duplicate open strace for perl6 -Ilib t/01-sanity.t | 14:08 | ||
14:11
khw joined
14:14
brrt joined
14:25
jack_rabbit left
14:32
ocbtec left
|
|||
tbrowder | ref bad pod: when I wrap the bad bod in a short perl6 prog I do get a useful trace (see gist gist.github.com/tbrowder/5e7649384...a2451b4a3) | 14:33 | |
14:34
colomon joined,
ocbtec joined
|
|||
tbrowder | I think I can work with that--we'll see. | 14:34 | |
azawawi | m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(%args); } | 14:43 | |
camelia | ( no output ) | ||
azawawi | m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(%args); }; my $p = person; | ||
camelia | rakudo-moar e5bd09: OUTPUT«Default constructor for 'Person' only takes named arguments in sub person at /tmp/ZgaKBgeUh5 line 1 in block <unit> at /tmp/ZgaKBgeUh5 line 1» | ||
azawawi | how do i pass a slurpy parameter back to .new? | 14:44 | |
psch | azawawi: you're not passing any arguments to &person is the problem | ||
azawawi | m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(%args); }; my $p = person(name => "Foo"); | ||
camelia | rakudo-moar e5bd09: OUTPUT«Default constructor for 'Person' only takes named arguments in sub person at /tmp/SxoU6G3Ib0 line 1 in block <unit> at /tmp/SxoU6G3Ib0 line 1» | ||
psch | ah, *that* is no lowering | 14:45 | |
m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(|%args); }; my $p = person name => "foo" | |||
camelia | ( no output ) | ||
psch | m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(|%args); }; say person name => "foo" | ||
camelia | rakudo-moar e5bd09: OUTPUT«Person.new(name => "foo")» | ||
azawawi | cool thx | ||
any docs on |%args? | 14:46 | ||
masak | RabidGravy: so... bug? no bug? | ||
psch | azawawi: near the end of doc.perl6.org/type/Signature#Positi..._vs._Named | 14:47 | |
azawawi: that is, the section | |||
not the page | |||
azawawi | i saw it... thx | ||
psch++ | |||
RabidGravy | masak, oh, it's a bug alright, I just have no way of golfing it | ||
14:48
itaipu left,
pierre left
|
|||
gfldex | |% is mentioned 3x in the docs | 14:49 | |
ugexe | why not just look for what is doing the actual work, flattening |? | ||
RabidGravy | it's silently failing to merge the symbols "under some circomstance" but I can't reproduce that circumstance | 14:50 | |
so I'm going to fix Lumberjack to not require Staticish, then go back to investigating what is on with Staticish to cause it | 14:51 | ||
14:52
ocbtec left
|
|||
gfldex | ugexe: we don't explain what | does inside argument lists at doc.perl6.org/language/operators#prefix_| | 14:58 | |
14:59
brrt left
|
|||
psch | prefix:<|> and argument lowering isn't the same | 14:59 | |
...i thought | 15:00 | ||
but i think i'm wrong | |||
m: sub f(:$a, :$b) { say "$a $b" }; my %h = a => 1, b => 2; f prefix:<|> %h | |||
camelia | rakudo-moar e5bd09: OUTPUT«1 2» | ||
azawawi | RabidGravy: what do you think of this gist.github.com/azawawi/e562bfa686...8b2a726d8a ? | ||
RabidGravy | erm, to be honest I would actually leave it slow rather than cloud the example with an idiom that is itself going to raise questions | 15:03 | |
I might add that removing the "use lib" from the example will probably be of some benefit as it prevents precompilation (or did at some point) | 15:04 | ||
then just change the instructions for running the examples for the uninstalled library | 15:05 | ||
15:05
luiz_lha left
|
|||
azawawi | RabidGravy: what about gist.github.com/azawawi/e562bfa686...8b2a726d8a ? | 15:08 | |
RabidGravy: that way use GTK::Simple has a less startup cost and less actual characters to type in the scripts using it | 15:09 | ||
RabidGravy: or i could just write GTK::Simpler :) | 15:10 | ||
RabidGravy | I like that, for notation convenience I'd just go a type capture in the sub signatures (that way you don't have to examine the constructors), like "sub button(|c) { .... .new(|c) } | 15:12 | |
15:13
ssotka joined
|
|||
azawawi | RabidGravy: updated gist. thanks | 15:15 | |
15:15
_28_ria left
15:17
_28_ria joined
|
|||
dalek | c: 49c7e76 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod: actually tell what prefix:<|> does inside argument lists |
15:18 | |
psch | m: my %h = a => 1, b => 2; say prefix:<|> %h | ||
camelia | rakudo-moar e5bd09: OUTPUT«Unexpected named parameter 'a' passed in block <unit> at /tmp/b_DvUDP4iY line 1» | ||
azawawi | RabidGravy: that way you can deprecate with ease (e.g. VBox, HBox) and change behavior etc... | ||
RabidGravy | cool | ||
psch | m: my %h = a => 1, b => 2; say (prefix:<|> %h).perl | 15:19 | |
camelia | rakudo-moar e5bd09: OUTPUT«slip(:a(1), :b(2))» | ||
15:21
prammer joined
15:26
prammer left
15:28
prammer joined
15:34
asdasd joined
15:35
asdasd left
|
|||
ugexe | i think that explanation is a little too basic | 15:38 | |
15:38
prammer left
|
|||
ugexe | m: my $x = "asdf"; sub foo(*@pos,*%named) { say @pos.perl; say %named.perl }; say $x ~~ Positional; say $x ~~ Associative; foo(|$x); | 15:38 | |
camelia | rakudo-moar e5bd09: OUTPUT«FalseFalse["asdf"]{}» |