»ö« 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. |
|||
p3rln00b | m: say Proxy ~~ Cool | 00:03 | |
camelia | rakudo-moar b744de: OUTPUT«False» | ||
p3rln00b | The test showed that was... a LIE! :P | 00:04 | |
00:10
flexibea` is now known as flexibeast
00:11
flexibeast left,
flexibeast joined
00:15
khw joined
00:17
bjz joined
00:24
lucasb_ left
00:31
_slade_ joined
00:41
khw left
00:46
TEttinger left
00:47
TEttinger joined
01:02
FROGGS_ joined
|
|||
seatek | I LOVE being able to create custom types. It's strange though - when inheriting attributes from a parent, you can use its custom types. BUT if you use those custom types for attributes only defined in your child class, Perl doesn't know about that type (even though it "should" be in the same scope). | 01:08 | |
(you must "use" your custom type definition files, in all your class definition files.. you can't rely on a parent class that you inherit from to be able to "use" your special types into the child -- even though the child knows enough about those special types to inherit parent attributes of those types) | 01:13 | ||
it seems ;) | 01:14 | ||
it's as if inherited attributes are almost in a different namespace, at least something that can know about different types than what the full child would know about | 01:16 | ||
I may not be understanding entirely how the parent gets rolled into the child fully. but it's strange that a child can know about parent attribute types, but wont' know about those same types for its own attributes | 01:18 | ||
01:19
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:21
ShimmerFairy joined
01:24
Jesmaybe_ joined
01:26
Jesmaybe_ left
01:31
khisanth_ joined
01:36
Jesmaybe_ joined
01:45
Herby__ joined
|
|||
Herby__ | o/ | 01:45 | |
BenGoldberg | m: dd Number.new; | 01:47 | |
camelia | rakudo-moar b744de: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Undeclared name: Number used at line 1. Did you mean 'NumStr'?» | ||
BenGoldberg | m: dd Numeric.new; | ||
camelia | rakudo-moar b744de: OUTPUT«Numeric.new» | ||
01:47
ilbot3 joined
|
|||
BenGoldberg | m: say Numeric.new; | 01:47 | |
camelia | rakudo-moar b744de: OUTPUT«Numeric<58621680>» | ||
p3rln00b | seatek: parents don't get rolled. You may be thinking of roles. | 01:49 | |
01:50
yqt left
|
|||
p3rln00b | m: class Foo {}; class Bar is Foo {}; class Meow is Bar {}; dd Meow.^mro | 01:51 | |
camelia | rakudo-moar b744de: OUTPUT«(Meow, Bar, Foo, Any, Mu)» | ||
p3rln00b | m: role Foo {}; role Bar is Foo {}; class Meow is Bar {}; dd Meow.^mro | ||
camelia | rakudo-moar b744de: OUTPUT«(Meow, Bar, Foo, Any, Mu)» | ||
p3rln00b | well, roles get composed into the class as if methods were right in there. | ||
oh | |||
m: role Foo {}; role Bar does Foo {}; class Meow does Bar {}; dd Meow.^mro | 01:52 | ||
camelia | rakudo-moar b744de: OUTPUT«(Meow, Any, Mu)» | ||
p3rln00b | There we go | ||
(`is` version punned them, so the roles were like classes) | |||
japhb | nine: Why in XStats do you have to do `use Inline::Perl6; BEGIN { Inline::Perl6::initialize; }` ? Why can't Inline::Perl6 hook the import call during use and initialize then? | ||
seatek | p3rln00b, I was inheriting from the parent class using the "is" keyword -- class Blah is Blecky {...} | 01:55 | |
p3rln00b, that brings in all parent attributes just fine | |||
p3rln00b, even attributes of a custom type | 01:56 | ||
p3rln00b, however, the child class can use those attributes just fine -- even the custom typed attributes | 01:58 | ||
p3rln00b, but if they child class tries to use that custom type on its own attributes, it doesn't know about the custom type | |||
01:59
FROGGS__ joined
|
|||
seatek | custom types that are defined with "subset" of existing types that is | 02:00 | |
i'm not sure if we've got file lexical scoping going on for classes in relation to types, but it seems to behave like that | 02:02 | ||
02:03
FROGGS_ left
02:04
Jesmaybe_ left,
Jesmaybe_ joined
02:05
noganex joined
|
|||
japhb | seatek: Try 'our subset' | 02:07 | |
japhb doesn't remember offhand, but subsets might be my by default | 02:08 | ||
Actually, come to think of it, may need to 'is export' the subset. | |||
seatek | japhb, tried our.. yeah.. and when I "use" it, it's being used as a unit module with my package EXPORT::DEFAULT | 02:13 | |
it works great when I include it in every single class file... but when I just use it in the parent's file.. the types don't propagate to the childen.... but the attributes do! with those types! it's bizarre | 02:14 | ||
japhb | seatek: A type once defined has to *exist* everywhere in the compiler. But its *name* doesn't have to be everywhere, and in fact since new names are a mutation of the language, you don't want them to magically appear where you don't expect them. | 02:16 | |
Do you have the subset defined in the same file that defines the parent class, or is it in a module used by the parent class? | |||
seatek | japhb, it's in a file used by the parent... that's what i figured that it was lexically scoped at the file | 02:24 | |
02:25
aborazmeh left
|
|||
seatek | I can use other stuff in the parent, and the children see it... like other class definitions.... just not unit module Blah::blah packages that define types | 02:28 | |
So it sounds like if I include these types in all my child classes, each one of those will get a whole new definition of all those types all across the compiler... duplicates everywhere, just named differently for each child, yes? ;) | 02:29 | ||
it's a peculiar bit of encapsulation going on that lets children work with parent custom types within itself... yet can't work with those same types within itself... (unless they are defined in the same file lexical scope) | 02:32 | ||
02:39
canopus left
02:43
canopus joined
03:00
skids joined
03:12
aries_liuxueyang left
03:13
aries_liuxueyang joined
03:20
Jesmaybe_ left
03:23
Jesmaybe_ joined
03:24
Jesmaybe_ left
03:27
Jesmaybe_ joined
03:29
Jesmaybe_ left,
Jesmaybe_ joined
03:33
Jesmaybe_ left
03:35
Jesmaybe_ joined
03:37
Jesmaybe_ left
03:38
Jesmaybe_ joined
03:44
Jesmaybe_ left,
Jesmaybe_ joined
03:48
Jesmaybe_ left
03:49
Jesmaybe_ joined
03:59
Jesmaybe_ left
|
|||
Herby__ | going through perl6intro.com, it briefly talks about Junctions | 04:02 | |
m: my $var = 2; if $var == 1|2|3 { say "The variable is 1 or 2 or 3" }; | 04:03 | ||
camelia | rakudo-moar b744de: OUTPUT«The variable is 1 or 2 or 3» | ||
Herby__ | What are some situations where'd you want to utilize Junctions? | ||
04:08
Jesmaybe_ joined
04:10
Jesmaybe_ left
04:16
BenGoldberg left
|
|||
TimToady | anywhere that takes a smartmatch argument, like a 'when', or a 'where', or a 'grep' | 04:16 | |
Herby__ | Thanks. Just found this article by zoffix as well: perl6.party/post/Perl-6-Schrodinger...-Junctions | 04:18 | |
04:22
pierre_ joined
04:26
pierre_ left
04:29
Herby__ left
04:42
Jesmaybe_ joined
04:43
Cabanossi joined
04:46
rgrinberg left
04:47
Jesmaybe_ left
05:15
pierrot joined,
pierrot left,
pierrot joined
05:18
wamba joined
06:44
Jesmaybe_ joined
06:49
Jesmaybe_ left
06:52
canopus left
06:54
firstdayonthejob joined
06:59
canopus joined,
domidumont joined
07:03
skids left
07:04
domidumont left,
domidumont joined
07:05
setty2 joined
07:13
shin_ left
07:18
canopus left
07:22
domidumont left
07:26
canopus joined
07:28
Cabanossi left,
rindolf joined
07:30
Cabanossi joined
07:31
cibs joined
07:53
domidumont joined
07:57
domidumont left
08:00
bjz left
08:01
seatek left
08:02
andrzejku joined
08:03
aries_liuxueyang left
|
|||
dalek | c: 7889e4f | (Steve Mynott)++ | bin/p6doc: remove extra dot from p6doc -f result |
08:05 | |
08:05
RabidGravy joined
08:06
bjz joined
08:21
wamba left,
wamba joined,
wamba left
08:22
wamba joined,
wamba left
08:23
wamba joined
08:24
wamba left,
wamba joined
08:25
wamba left
08:33
harrison_ joined
08:34
espadrine joined
08:40
harrison_ is now known as hchienjo
|
|||
RabidGravy | boom | 08:44 | |
08:46
Jesmaybe_ joined
08:49
wamba joined
08:50
Jesmaybe_ left
|
|||
dalek | line-Perl5: 77503c2 | niner++ | / (2 files): Fixup tests after making Perl5Attributes non-parametric |
08:56 | |
08:58
ale1ster joined
|
|||
nine | japhb: it's because at least in theory, there's an OO interface, too. And for that you expect action only at the Inline::Perl6->new call. But the OO interface is not that useful anyway, since we can only have one rakudo running at a time. | 08:59 | |
japhb: I ought to replace it with something like use Inline::Perl6 'OO'; | |||
09:07
FROGGS__ is now known as FROGGS
|
|||
FROGGS | o/ | 09:08 | |
09:09
ale1ster2 joined
09:11
ale1ster left
09:18
wamba left
09:19
nadim joined
09:21
flexibeast left
|
|||
dalek | line-Perl5: b53fb8f | niner++ | .travis.yml: Update rakudo requirement for travis |
09:29 | |
09:32
_slade_ left
09:33
obfusk joined,
hchienjo left
09:34
darutoko joined
|
|||
dalek | line-Perl5: 45acfcf | niner++ | .travis.yml: Update rakudo requirement for travis |
09:39 | |
09:42
labster left
09:46
hchienjo joined,
flexibeast joined
09:47
Jesmaybe_ joined
09:51
Jesmaybe_ left
|
|||
dalek | line-Perl5: 431344a | niner++ | lib/Inline/Perl5.pm6: Fix Inline::Perl6 tests failing since 61473e48627009260133428526ea09721c1fe994 Seems like the itemization provided by array assignment is needed for the return values to make it back to Perl 5. |
09:56 | |
10:00
TEttinger left
10:01
xinming joined
10:06
CIAvash joined
10:16
ale1ster2 left
10:20
cdg joined
10:30
sjoshi joined
|
|||
dalek | line-Perl6: 551aac4 | niner++ | / (9 files): Remove the need for manually calling initialize When using the OO-interface, one probably expects loading of rakudo to happen at the Inline::Perl6->new call. That's why for the non-OO interface, one had to call Inline::Perl6::initialize manually up until now. The OO-interface doesn't give the user any advantages as we can load only one rakudo at a time anyway. So de-emphasize that usage a bit by requiring an import argument. In absence of this, we initialize rakudo right away when loading Inline::Perl6. If you see lots of "subroutine redefined" warnings, you just need to remove your Inline::Perl6::initialize call. |
10:36 | |
nine | japhb: ^^^ | 10:38 | |
10:49
BenGoldberg joined,
hchienjo left
10:51
committable6 left,
bisectable6 joined,
committable6 joined
10:55
cdg left
10:58
committable6 left,
committable6 joined
11:01
sjoshi left
11:04
Velvet joined
11:29
TimToady left
11:31
TimToady joined
|
|||
Velvet | Hello everyone. Do not throw me tomatoes and rotten eggs. Gyus, i need help. How can i make perl6 work with apache on windows? I tried to find any info but unsuccessfully. If i wright #!perl6 at the start of file apache says he can't create child process, if i white #!C:\rakudo\bin\perl6.bat - apache says "End of script output before headers: index.pl". Can anyone say what i'm doing wrong(except i'm thying to do this on windows)? | 11:41 | |
11:42
wamba joined
11:46
CIAvash left
11:48
Jesmaybe_ joined
11:53
Jesmaybe_ left
|
|||
nine | Velvet: your best bet is probably to find some (non-Perl6 specific) Apache+CGI tutorial for Windows to know all the steps necessary and adapt it. #!perl6 will only work if the installed perl6.bat is in Apache's %PATH% | 11:55 | |
There's no executable bit on Windows, but maybe there's something else. | 11:56 | ||
It may also just be that your index.pl does run but doesn't print valid HTTP headers? Try adding a note "I'm running"; to the very top of index.pl and see if it shows up in Apache's error.log | |||
FROGGS | Velvet: www.devside.net/wamp-server/runnin...er-windows | 11:58 | |
11:59
setty2 left
|
|||
FROGGS | (it would be literally: 'note "I'm running";', since note() is a thing in Perl 6) | 12:00 | |
dalek | ateverable: 379fa80 | MasterDuke17++ | / (4 files): Generate the list of releases to run automatically There is also a behavior change in the 'releases' command and the addition of 'v?6\.?c' and 'all' commands. 'releases' and 'v?6\.?c' run for all tags since 2015-12, while 'all' runs for all tags that use MoarVM (starts at 2014-01). |
12:12 | |
12:27
Ven joined,
cpage_ joined
|
|||
stmuk | jeff (drforr) @ www.madbishopandbear.co.uk/ today 5pm BST | 12:30 | |
12:49
flexibeast left
|
|||
stmuk | pl6anet.org/drop/rakudo-star-2016.10-RC0.tar.gz | 12:51 | |
12:52
flexibeast joined
12:53
bjz_ joined
12:54
bjz left
12:59
flexibeast left
13:00
flexibeast joined
13:01
yqt joined
13:02
Ven left,
araujo_ left
13:03
Ven joined
13:06
Ven left,
Ven joined,
domidumont joined
13:09
araujo joined
13:11
araujo left,
araujo joined
|
|||
stmuk | stevemynott.blogspot.co.uk/2016/10/...akudo.html | 13:12 | |
13:13
araujo left
13:14
flexibeast left,
araujo joined
13:16
araujo left
13:17
araujo joined,
Ven left
13:19
araujo left,
araujo joined
13:20
Ven joined
13:21
araujo left
13:22
araujo joined
13:24
araujo left
13:26
araujo joined
13:28
araujo left
13:29
araujo joined
13:31
araujo left
13:32
khisanth_ left
13:33
Guest76840 joined,
wamba left
13:35
Guest76840 left
13:36
Guest76840 joined
13:37
Guest76840 left
13:38
Guest76840 joined
13:40
Guest76840 left,
NeuralAnomaly left,
Guest76840 joined,
buggable joined,
NeuralAnomaly joined,
huggable joined
13:42
Guest76840 left
|
|||
dalek | c: e492e5a | coke++ | doc/Language/testing.pod6: remove trailing ws |
13:43 | |
13:43
Guest76840 joined
13:44
Guest76840 left
13:45
mephinet joined,
Guest76840 joined,
khisanth_ joined
13:46
mephinet left
13:47
mephinet joined,
Guest76840 left
13:48
Guest76840 joined
13:49
Jesmaybe_ joined
13:50
Guest76840 left
13:51
Guest76840 joined,
mephinet left
13:53
Guest76840 left,
Guest76840 joined
13:54
Jesmaybe_ left
|
|||
[Coke] | (didn't look like a merge) probably doing a ff and directly applying commits where it can. | 13:55 | |
(and I might have done 3 "git merge master"s before doing a push | |||
13:56
Guest76840 left,
Guest76840 joined
13:58
Guest76840 left
13:59
Guest76840 joined
14:01
Guest76840 left,
Guest76840 joined
|
|||
andrzejku | hello :) | 14:03 | |
14:03
Guest76840 left
14:04
darutoko left
|
|||
dalek | c/spellcheck: 3974b1c | coke++ | doc/Language/subscripts.pod6: other instances used the US version |
14:05 | |
doc/spellcheck: 14567d4 | (Tom Browder)++ | doc/Language/testing.pod6: | |||
doc/spellcheck: add caution about done-testing | |||
14:05
dalek left,
Guest76840 joined,
dalek joined,
ChanServ sets mode: +v dalek
14:06
CIAvash joined,
CIAvash left
14:07
Guest76840 left
14:08
Guest76840 joined
14:09
Guest76840 left
14:12
Guest76840 joined
14:14
Guest76840 left
14:15
Guest76840 joined
14:25
mst is now known as {{{{{{{{{{,
{{{{{{{{{{ is now known as mst
|
|||
AlexDaniel | hmmm I'm wondering. Debian freeze is approaching slowly, there's rakudo 2016.09 in unstable and 2016.06 in testing, which looks kinda right. However, there is no panda or zef in repos. Is it how it is supposed to be or should we get someone to package it? | 14:28 | |
14:28
bjz_ left
14:30
Ven left,
Ven joined
14:35
cdg joined
|
|||
moritz | AlexDaniel: it would be nice to have panda or zef in Debian, but typically the way to get something done is to do it yourself | 14:37 | |
14:38
Herby__ joined
|
|||
Herby__ | o/ | 14:38 | |
AlexDaniel | moritz: yeah but right now my question is “is it something that we want or not?” | ||
moritz | AlexDaniel: yes, it's something we want | ||
stmuk | zef is probably easiest since it doesn't have module dependencies | 14:39 | |
moritz | +1 to going for easy first | ||
14:39
andrzejku left
|
|||
El_Che | would be a clash between system-wide path and ~/.perl6 ? E.g. what do we want as default | 14:40 | |
14:40
cdg left
14:41
andrzejku joined
|
|||
moritz | IMHO local installation should be the default | 14:42 | |
El_Che | moritz: I agree | 14:43 | |
to often users: | |||
1. get stuck with unwritable paths and give up | 14:44 | ||
2. users use root and write stuff all over the place | |||
14:45
Ven left,
Ven joined
14:50
Jesmaybe_ joined,
zakharyas joined
14:52
cdg joined,
khw joined
14:55
Jesmaybe_ left
14:56
geekosaur left
14:57
Ven left
15:01
geekosaur joined
15:11
geekosaur left
15:13
geekosaur joined
15:29
seatek joined
15:36
skids joined
15:38
zakharyas left
15:45
espadrine left
15:51
Jesmaybe joined
15:56
Jesmaybe left
16:03
espadrine joined
16:06
mephinet joined
16:18
fumlead joined
16:22
cdg left
|
|||
Xliff | Still looking for help on this error. Anyone have any ideas? | 16:26 | |
gist.github.com/Xliff/0f537c12b415...9484a25b1a | |||
ugexe | xliff: for one that gist is confusing - you have the same block commented out twice in two different spots yet only mention the block singularly in your comment | 16:28 | |
Xliff | ugexe: Second mention is clear enough. | 16:29 | |
If that block is uncommented, I get a weird error message | |||
And I don't understand exactly what the problem is. Conditional package loading is in spec, right? | 16:30 | ||
ugexe: Gist updated. Let me know if that clarifies anything. | 16:31 | ||
ugexe | it does not | 16:32 | |
your update does not update the code in the gist where that same block is duplicated twice | |||
so no one knows which block you are saying to uncomment | |||
or if you mean to remove comments on both blocks | 16:33 | ||
gist.github.com/ugexe/77ef72a23277...ce74f89e7d Line 8 and 31 are the same block you say to remove | 16:34 | ||
Xliff | Actually the second block is an excerpt from the first. | 16:35 | |
So you are saying repeating the entire block rather than relying on the user to interpret context? | |||
16:35
simonsayz joined
|
|||
ugexe | im saying i dont understand what you are saying the problem is | 16:36 | |
because what you say the problem is (the code to comment out) is in two spots | |||
fumlead | I'm new to Perl6. Can you tell me, how can I get docs? Perl5 has an amazing docs (man perl and perldoc). But how I can get docs, for example, for some Perl6 package installed? | 16:38 | |
16:38
decent_ left
|
|||
Xliff | ugexe: Updated again. I didn't even notice that. | 16:38 | |
Shows how long I've been working on this problem when I am frustrated enough to not see that mistake. | 16:39 | ||
16:39
zakharyas joined
|
|||
Xliff | fumlead: If there are docs for perl6 modules. You should be able to see them on modules.perl6.org | 16:39 | |
ugexe | maybe you should golf this down - remove the Color module stuff and replace it with a small Foo::Bar module with 2 exports. put it all in a single file we can just c&p and run | ||
16:39
decent joined
|
|||
Xliff | ugexe: That is golfed down. The module contents are not the issue. It is the requires in sub EXPORT() that are the problem. | 16:40 | |
I could replace the "Color" module with anything and I would still get the error. | |||
ugexe | sure, but most people aren't motivated enough to create all those Color module shims to test this code | 16:41 | |
Xliff | *sigh* | ||
16:41
simonsayz left
|
|||
Xliff | I can post a link to the github. Then you wouldn't need to. | 16:41 | |
ugexe | you might even find by inlining the packages it suddenly works | 16:42 | |
Xliff | Yeah, there are two things I'm trying here though: 1) Selective package loading; 2) Optional package loading | 16:43 | |
But before that, I really would like to know what that error means. It's definitely LTA | |||
Updated gist with link to repository. | 16:44 | ||
ugexe | on an unrelated note this wont work for CompUnit::Repository::Installation github.com/Xliff/p6-color-names/bl...mes.pm#L28 | 16:47 | |
Xliff | Huh! | 16:49 | |
What error are you getting ugexe? | |||
Everytime I Rakudobrew I try this code and so far... no error there. | 16:50 | ||
ugexe | i didnt run it. i just know how CUR works | ||
Xliff | OOO Kay | ||
I did run it. No error. | |||
ugexe | dont forget: CURI stuff gets all sha1'd | ||
is your module installed in CURI? | |||
16:50
zakharyas left
|
|||
ugexe | or does it find modules that are located there? | 16:51 | |
Xliff | No. It's not. I am using -I lib | ||
ugexe | right, thats why you didnt get an error | ||
Xliff | So that might be why I am not running into it. | ||
Well crap. That blows selective module loading. | |||
Still... the optional test and load for the Color class generates the same error. | 16:52 | ||
16:52
zakharyas joined
|
|||
Xliff | Thanks for checking me on that bit with SHA1. Kinda a drawback when looking to dynamically load modules. | 16:52 | |
So there is still #2 that generates same error that I need to figure out. | 16:53 | ||
16:55
Sgeo left
|
|||
p3rln00b | fumlead: we're not at the Perl 5's quality yet. Language docs are on docs.perl6.org/ ; module docs are on modules.zef.pm/ ; and something akin to perldoc is p6doc modules.perl6.org/repo/p6doc but your mileage with it may vary | 16:55 | |
geekosaur | Xliff, make sure you are getting an up to date rakudo. I found my rakudobrew was stuck on 2016.04 for some reason and had to nuke and redo it | 16:57 | |
Xliff | $ perl6 --version | ||
This is Rakudo version 2016.09-191-gbf7945e built on MoarVM version 2016.09-46-geceb429 | |||
implementing Perl 6.c. | |||
ugexe | xliff: selective module loading works - its something about selecting (or dynamic?) exporting | ||
fumlead | p3rln00b: now I'm trying to use p6doc, but I can't find its executable. `panda list` shows, that it's installed, but `p6doc` not found | ||
Xliff | ugexe: So the problem is that "require" in sub EXPORT() is blowing stuff up, then? | 16:58 | |
I really would prefer not to do the module loading in sub EXPORT(), but I don't know where else to put it. | 16:59 | ||
INIT {} doesn't seem right, either. | |||
So to be clear: I'd like to do optional module loading at load time, but before execution time. | |||
samcv | p3rln00b, i have the latest rakudo, nqp and moarvm but i'm still not seeing that error or any printout. is there anything else i can try? | ||
p3rln00b | fumlead: how did you install your Perl 6? | 17:00 | |
Xliff | BEGIN {} is compile time, so that doesn't work, either. | ||
p3rln00b | samcv: what about the module itself, IRC::Client. Did you update it? Current version is 3.006003 | ||
ugexe | require ::() is runtime no matter how you cut it | ||
Xliff | ugexe: Yeah, but those parts of the code are no longer necessary now that you've pointed out the issues with CURI. | 17:01 | |
fumlead | p3rln00b: using rakudobrew. I have perl6 in ~/.rakudobrew/bin. As I see on p6doc's github page, p6doc should be there, but it doesn't | ||
samcv | yeah i did update it yesterday but i can double check | ||
p3rln00b | fumlead: run rakudobrew rehash | ||
Xliff | ugexe: So now it's only the "require Color" that I'm concerned about. | 17:02 | |
samcv | yeah i have 3.006003 | ||
p3rln00b | samcv: no idea. | ||
Xliff | If that is the only require directive uncommented, it still generates the same error. | ||
ugexe | what if you require something outside of your module, like `require Test;`? | ||
p3rln00b | samcv: do you get normal debug output, like all the events happening? | 17:03 | |
samcv | no i don't | ||
no events print out | |||
well other than joining the channel | |||
17:04
wamba joined
|
|||
p3rln00b | samcv: that's what I get when I run your bot from yesterday: i.imgur.com/4nsDkeG.png | 17:04 | |
Xliff | ugexe: Actually, the "Color" module is external. | ||
Lemme switch just for funzis. | 17:05 | ||
p3rln00b | samcv: you could try installing Terminal::ANSIColor ... maybe there's a bug with the fallback. But that still wouldn't explain why you aren't getting other messages, like the error about Proc.write taking a Blob and not a Str, from last night | ||
samcv | yeah | 17:06 | |
Xliff | ugexe: Same error. | ||
fumlead | p3rln00b: oh, it's working now. Thanks. p6doc was "installed as dependency", so I manually installed it using `panda install p6doc` | ||
Xliff | ugexe: FYI, the "Color" module is p3rln00b's. | ||
*cough*Zoffix*cough* | 17:07 | ||
AlexDaniel | where's the source code for modules.zef.pm/ ? | ||
ugexe | Xliff: think you can golf that down into a 1 liner yet? something like perl6 -e 'module Foo { ... }; module Bar { sub EXPORT(@_){ require Test; }; import Bar;'? | ||
AlexDaniel | is it this github.com/tony-o/zefwww ? | ||
p3rln00b | fumlead: yeah, you gotta run that each time you install binaries. Basically rakudobrew is more for people who want to run multiple Perl 6 installations, so it needs to update paths. Regular users usually just get Rakudo Star distro: rakudo.org/downloads/star/ | ||
Xliff | ugexe: I didn't know you could do that. | 17:08 | |
ugexe | AlexDaniel: I think so. that's tony-o's project anyway | ||
Xliff | ugexe: I think one of the larger issues with this is that I think you need a file-based module to expose the error. | 17:09 | |
AlexDaniel | uhhhhh | 17:10 | |
ugexe | Xliff: could be - there are bugs that appear with a CUR::FileSystem (-Ilib) module but not with a CURI module | ||
due to the order of global merge, precomp, etc | |||
samcv | p3rln00b, well i'm gonna try running a local irc server instead instead of freenode | ||
see if that changes anything | |||
fumlead | p3rln00b: I've an Arch linux distribution, so I can't use binaries from there without headache. However, I don't want to build it from source manually. So, rakudobrew is my choice) | 17:11 | |
17:11
sqttestbot joined
|
|||
ugexe | Xliff: running with `RAKUDO_MODULE_DEBUG=1` might give a hint if its a problem loading a specific name | 17:11 | |
17:12
zakharyas left
|
|||
samcv | fumlead, it doesn't take that long to compile it from aur | 17:12 | |
AlexDaniel | ah no | ||
it's github.com/tony-o/perl-zefserver | |||
samcv | took me like 10-15 minutes for nqp rakudo and moarvm on my laptop | ||
17:12
sqttestbot left
|
|||
ugexe | you could also try `require </absolute/path/to/module.pm6>` which uses a file system based loader (CUR::AbsolutePath) thats different from CUR::FileSystem | 17:13 | |
p3rln00b | samcv: ^ works on Freenode too. Output shows up, including the Blob error: i.imgur.com/F0OeXwp.png | ||
samcv | what distro are you using? | 17:14 | |
p3rln00b | Bodhi Linux. It's a minimalistic fork of Ubuntu | 17:15 | |
ugexe | yet another option is to stub all the sub routine names it can export (itself or from other modules) and use MONKEY-TYPING + augment/supercede to replace the stubs with implementations | ||
samcv | hmm i'm running arch. but let me try on my debian stretch server | 17:16 | |
ugexe | i use class instances to dynamically load modules and keep things scoped properly in zef | ||
p3rln00b | huggable: hug me | 17:17 | |
huggable hugs p3rln00b | |||
p3rln00b | ^ runs on Debian. I see output on it | ||
p3rln00b & | |||
ugexe | such a technique could also be used where your stubbed subs simply use the class instance for its implementation | ||
Xliff | ugexe: Well, this has been a day of setbacks. | 17:18 | |
Still, I would like to get this module in a workable state. | |||
So selective module loading is out for now. I've already committed its removal. | 17:19 | ||
However the "require Color" bit should still work, but gives same error. | |||
Wonder if I could move that to INIT {} and have it still work. | |||
Yup | 17:20 | ||
So moving the requires out of sub EXPORT() makes it work (already knew that) but I've lost the ability to: 1) determine the modules in the Color::Names::* namespace, 2) selectively load from that list of modules. | 17:22 | ||
Ah well. | 17:23 | ||
ugexe | you can still do those things, but at runtime | ||
Xliff | Maybe I could do part of 1) using META.info (it was the hope that 3rd party users could drop their own custom definitions in lib/Color/Names and get it automatically picked up without having to reinstall. | ||
ugexe | perl6 -MZef::Client -MZef::Config -e '.say for Zef::Client.new(config => Zef::Config::parse-file(Zef::Config::guess-path)).list-installed().map: { .dist.provides.keys };' # you can parse this list for Color::Names::* for instance | 17:29 | |
17:30
Sgeo joined
|
|||
ugexe | or parse perl6 -MZef::Client -MZef::Config -e '.say for Zef::Client.new(config => Zef::Config::parse-file(Zef::Config::guess-path)).list-available().map: { .dist.identity };' to find what is available in the ecossytem | 17:31 | |
Xliff | ugexe: Could not find symbol '&guess-path' | 17:35 | |
In the meantime I guess I can do another mission in Shadow Warrior 2 | 17:36 | ||
ugexe | did you -MZef::Config? | 17:37 | |
perl6 -MZef::Client -MZef::Config -e '...' | 17:38 | ||
17:38
Derperperd joined
17:42
fumlead1 joined
17:44
fumlead left,
fumlead1 is now known as fumlead
|
|||
ugexe | perl6 -e 'say $*REPO.repo-chain.grep(* ~~ CompUnit::Repository::Installation).map(*.prefix.child("dist").dir.Slip).map({ try Rakudo::Internals::JSON.from-json(.IO.slurp) }).map(*.<provides>.keys.Slip).Slip' | 17:45 | |
all installed module's `provide`-ed module names | |||
perl6 -e 'say $*REPO.repo-chain.grep(* ~~ CompUnit::Repository::Installation).map(*.installed())>>.map(*.meta.<provides>.keys).Slip' # same | 17:47 | ||
avar | cool, maybe more useful to add \n and sort: | ||
perl6 -e '.say for $*REPO.repo-chain.grep(* ~~ CompUnit::Repository::Installation).map(*.prefix.child("dist").dir.Slip).map({ try Rakudo::Internals::JSON.from-json(.IO.slurp) }).map(*.<provides>.keys.Slip).Slip.sort' | |||
re your first example, same aside from that | |||
ugexe | it wants to be consumed by code, not a user | 17:49 | |
17:50
setty1 joined
|
|||
awwaiid | good day, #perl6! | 17:51 | |
ugexe | otherwise you can't short circuit it if you find everything you're looking for without having created all those Distribution objects | ||
El_Che | new rakudo | 17:52 | |
\o/ | |||
building packages now | |||
17:53
Jesmaybe joined
|
|||
fumlead | samcv: I'm trying to build rakudo from aur now, but `The nqp-m binary is too old` (nqp is installed and up-to-date, i checked). Do you know the solution? | 17:55 | |
samcv | too old for what. are you trying to install the 2016.10? | ||
cry.nu/files/PKGBUILD.moarvm cry.nu/files/PKGBUILD.nqp cry.nu/files/PKGBUILD.rakudo | 17:57 | ||
17:57
Jesmaybe left
|
|||
samcv | you can dl these fumlead and i just run makepkg on them manually | 17:57 | |
you have to install nqp or i forget maybe rakudo first | |||
17:57
girafe joined
|
|||
fumlead | samcv: trying to install rakudo-git, version 20160917-1 | 17:58 | |
samcv | oh git. then you will need moarvm-git and nqp-git too probably | ||
those pkgbuilds i gave are for 2016.10 but if you want more recent then | |||
you need to install them in the right order | |||
17:58
_slade_ joined
|
|||
samcv | rakudo last, and moarvm or nqp first i forget which | 17:59 | |
probably nqp | |||
fumlead | samcv: okay, thank you, i'd try | ||
El_Che | in my packages i do moarvm, nqp, rakudo: github.com/nxadm/rakudo-pkg/blob/m..._rakudo.sh | ||
in that order | |||
samcv | ah that' sit then | ||
18:06
setty1 left
|
|||
fumlead | yes, moarvm -> nqp -> rakudo seems to be the write sequence | 18:06 | |
18:07
setty1 joined
18:08
Jesmaybe joined
|
|||
p3rln00b | Yup | 18:08 | |
18:12
Dunearhp joined
18:13
p3rln00b left
18:14
iBakeCake joined
|
|||
dalek | c: 7bd27cb | Nic++ | doc/Language/traps.pod6: Add 'once' Block to Traps (#968) Added a section to traps about using once blocks within other blocks of code. Resolves issue #959 |
18:19 | |
18:28
setty1 left
|
|||
samcv | hmm i don't get any errors normally but when i run using perl6-debug I get this i.imgur.com/81wU5TC.png | 18:30 | |
not at all the error i was expecting though but that makes more sense why i don't see it print out anything | 18:33 | ||
but p3rlnoob didn't get an error there so ¯\_(ツ)_/¯ | 18:34 | ||
AlexDaniel | .tell nicq20 fwiw, until your PR is merged you can do all kinds of scary stuff in your branch (e.g. rewrite history). This is useful if you don't want some “oops” commits to go into the main repo | 18:36 | |
yoleaux | AlexDaniel: I'll pass your message to nicq20. | ||
samcv | is .tell a bot command here? | 18:37 | |
18:37
Jesmaybe left
|
|||
mst | yarr | 18:37 | |
hence the response from the bot yoleaux | |||
samcv | oh sorry didn't know it was a bot :P | ||
AlexDaniel | .tell nicq20 I am mentioning this because I have just squished your last PR (and previous one as well). I am not sure if we have any consensus on squishing, but it is probably a good idea to keep your PRs clean | ||
yoleaux | AlexDaniel: I'll pass your message to nicq20. | ||
samcv | name doesn't end in bot | 18:38 | |
mst | you're right, it doesn't | ||
samcv | .tell p3rln00b hmm i don't get any errors normally but when i run using perl6-debug I get this i.imgur.com/81wU5TC.png not at all the error i was expecting though but that makes more sense why i don't see it print out anything if it was erroring out before | ||
yoleaux | samcv: I'll pass your message to p3rln00b. | ||
samcv | thx yoleaux | ||
AlexDaniel | .tel nicq20 this way it is easier to review a PR, there's no desire to squish it, and the history in the main repo is so clean you can eat off it | 18:39 | |
.tell nicq20 this way it is easier to review a PR, there's no desire to squish it, and the history in the main repo is so clean you can eat off it | |||
yoleaux | AlexDaniel: I'll pass your message to nicq20. | ||
AlexDaniel | ah, it's “squash” and not “squish”, oops :) | 18:40 | |
18:51
Derperperd left
|
|||
japhb | .tell nine Ah, thank you! Much cleaner. :-) | 18:53 | |
yoleaux | japhb: I'll pass your message to nine. | ||
BenGoldberg | . o O ( Squash as in pumpkins, volleyball, squash racquets, the filesystem, ??? ) | ||
nine | :) | 18:55 | |
yoleaux | 18:53Z <japhb> nine: Ah, thank you! Much cleaner. :-) | ||
japhb | .tell ab5tract_ Thank you for the Terminal::Print PR merge. :-) | 18:57 | |
yoleaux | japhb: I'll pass your message to ab5tract_. | ||
18:58
espadrine left
18:59
TEttinger joined
|
|||
AlexDaniel | samcv: actually, there are so many bots on this channel you can almost smell it | 19:02 | |
here is a good list: github.com/perl6/doc/issues/711#is...-235414744 | 19:03 | ||
iBakeCake | samcv: hmmm... does that happen without you using any Proc::Async? | 19:08 | |
AlexDaniel | about 4% of users on this channel are bots. Actually, not that much | 19:09 | |
iBakeCake | samcv: if it still happens, please file a bug against IRC::Client. If it doesn't then try starting Proc::Async and communicate with it via a Channel ( docs.perl6.org/type/Channel ). I suspect that maybe your communication with the proc occurs from other threads and that's currently a known limitation with P6 | 19:10 | |
AlexDaniel: that assumes you know all the bots :) | |||
samcv | okay i will try that iBakeCake | 19:11 | |
AlexDaniel | iBakeCake: of course not. I can barely track you, let alone bots | ||
moritz | most bots have the voice flag here | 19:12 | |
so that's an easy indication | |||
samcv | is 4 most? | ||
AlexDaniel | moritz: only 4 out of 13 I counted | ||
19:12
Jesmaybe joined
|
|||
samcv | in some of my other channels bots reply if you type .bots | 19:13 | |
well are supposed to :P | |||
moritz | mst: remind me how to permanently give a bot the voice flag? | ||
mst | moritz: chanserv +V | ||
AlexDaniel | again, I'd much rather have something that will reply on “.zoffix” and tell me his current nickname… | 19:14 | |
iBakeCake | samcv: OTOH, I don't think a Channel guarantees the *same* thread will be used, just that only one will ever run it, so that might not work. Um... no idea :) | ||
moritz | mst: thanks | ||
mst | moritz: feel free to ask more questions if that wasn't sufficient | ||
moritz | mst: flags #perl6 +V <username> ? | 19:15 | |
mst | yeah, or 'access #perl6 add <username> +V' I think | ||
iBakeCake | AlexDaniel: I think Zoffix would find it amusing to make such a bot, except it'll pick a random nick from the channel :P | 19:16 | |
moritz | #perl6's DDD borat :-) | ||
19:18
sjoshi joined
|
|||
moritz | mst: no luck yet; chanserv complains that the user isn't registered | 19:18 | |
19:18
domidumont left
|
|||
mst | moritz: oh, well, you said 'username' | 19:18 | |
moritz | ah | ||
mst | moritz: that won't work without .... a username | 19:19 | |
moritz | mst: I guess I meant nickname, or nick mask, or something | ||
19:19
domidumont joined
|
|||
AlexDaniel | mst: do I get it right that bots should be registered? | 19:19 | |
mst: and that I can't just group them on my nick for example? | |||
mst | moritz: how about rather than guessing which question to ask, you tell me what you're actually trying to achieve, including pointing at the currently connected bot | ||
geekosaur | AlexDaniel, if you want to be able to do nickserv or chanserv based things with them, certainly | 19:20 | |
doing it just on a nick is spoofable | |||
AlexDaniel | yea | ||
19:20
mephinet left,
mephinet joined,
sjoshi left
|
|||
moritz | mst: bisectable6, buggable, committable6, evalable, Undercover, NeuralAnomaly are the bots I'd like voice'd | 19:21 | |
evalable | uhm, says I have too many accounts registered | ||
… and I have one | 19:22 | ||
mst | IIRC that would imply you have more than one registration to that email address | 19:24 | |
evalable | interesting | ||
19:24
canopus left
|
|||
mst | moritz: ok, so, you can probably do it via hostmask + ident | 19:25 | |
moritz: depends, the ones on servers are easy enough, the ones whose rdns is a dynamic range, eh | |||
evalable | ah, found something | ||
mst | honestly, I'd just set +V for the nicks for the moment | ||
I don't recall us ever needing +m in here | |||
so people getting spurious voice doesn't strike me as a threat model worth caring about a lot | 19:26 | ||
evalable | mst: is there any place where I can ask for one more account? If I counted it correctly, right now I have two | ||
moritz | mst: so, how do I set up autovoice based on nick? | 19:27 | |
mst | hmm | ||
19:27
ChanServ sets mode: +v bisectable6
|
|||
mst | I just ran: /msg chanserv access #perl6 add bisectable6!~Bisectabl@2001:41d0:2:5eb5:: +V | 19:28 | |
moritz: if you repeat that for the other bots, assuming they have static ips | |||
evalable: yeah, cuz one human and one bot account | |||
evalable6 | mst, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/xmTxyAmPe4Undeclared routines: acco…» | ||
mst, Full output: gist.github.com/abe047ac5336071cd8...2b829ebf8b | |||
mst | ... | ||
evalable | mst: what if I have more than one bot? :) | 19:29 | |
mst | evalable: they'll have to share | ||
evalable | mst: should I just GROUP them all? | ||
evalable6 | mst, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/mQtemHuZ2jUndeclared routines: have…» | ||
mst, Full output: gist.github.com/d70458fb40364cb5b7...1dfffc7b86 | |||
19:30
canopus joined
|
|||
moritz | mst: thanks, seems to work | 19:31 | |
ls | |||
argl | |||
19:36
domidumont left
19:37
Jesmaybe left
19:38
Jesmaybe joined,
committable6 left
19:39
evalable6 left,
bisectable6 left
|
|||
evalable6 | I wonder what is the limit | 19:40 | |
perigrin | the sky traditionally. | ||
19:43
Jesmaybe left
19:44
ChanServ sets mode: +v Undercover
19:46
Jesmaybe joined
|
|||
El_Che | New rakudo 2016.10 debs and rpms: github.com/nxadm/rakudo-pkg/releas...ag/2016.10 | 19:50 | |
avar | rakudo star still at 2016.07 :( | 19:52 | |
El_Che | I saw stmuk is testing 2016.10 | ||
avar | \o/ | ||
El_Che | (on twitter) | ||
avar | ah yes: stevemynott.blogspot.nl/2016/10/the...akudo.html | 19:53 | |
19:54
zakharyas joined
19:55
andrzejku left
19:59
Derperperd joined
20:00
Jesmaybe left
20:02
cognominal joined
20:03
kent\n joined
20:07
ale1ster joined,
labster joined
|
|||
fumlead | How to get a type of variable? | 20:16 | |
something like $var.type | |||
arnsholt | $var.WHAT | 20:19 | |
fumlead | thanks | 20:22 | |
20:23
bjz joined
20:24
fumlead left
20:34
bisectable6 joined,
ChanServ sets mode: +v bisectable6,
committable6 joined,
ChanServ sets mode: +v committable6,
evalable6 joined
|
|||
AlexDaniel | moritz: all whateverable bots are now logged in as “whateverable” | 20:35 | |
ah | |||
moritz: so perhaps “access #perl6 add whateverable +V” will work better? | 20:36 | ||
(e.g. evalable6 has no +v right now) | |||
20:38
TEttinger left,
ale1ster left
20:43
bjz_ joined,
cdg joined
20:44
bjz left,
cdg left,
cdg joined
20:49
FROGGS left
20:50
zakharyas left
20:51
bisectable6 left,
evalable6 left,
committable6 left,
bisectable6 joined,
ChanServ sets mode: +v bisectable6,
evalable6 joined,
committable6 joined,
ChanServ sets mode: +v committable6
21:22
geekosaur left
21:23
geekosaur joined
21:26
bjz_ left
|
|||
tbrowder | m: my $x = 5 x ' '; say "x = '$x'" | 21:29 | |
camelia | rakudo-moar ae1f2f: OUTPUT«x = ''» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''» | ||
21:30
fumlead joined
|
|||
tbrowder | okay, I thought the 'x' operator could be used to generate a string of chars! | 21:30 | |
21:30
kurahaupo__ joined
|
|||
fumlead | How I can create an executable on Linux? I mean, how I can distribute my program without perl6 interpreter? | 21:31 | |
tbrowder | m: my $x = 5 x " "; say "x = '$x'" | 21:33 | |
camelia | rakudo-moar ae1f2f: OUTPUT«x = ''» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''» | ||
kurahaupo__ | fumlead: simplest would be to make perl6 a dependency of your package | ||
tbrowder | m: my $x = 5 x " a"; say "x = '$x'" | ||
camelia | rakudo-moar ae1f2f: OUTPUT«x = ''» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''» | ||
21:34
lucasb_ joined
|
|||
geekosaur | you cannot currently make a self-contained executable | 21:34 | |
tbrowder | m: my $x = 5 x a'; say "x = '$x'" | ||
camelia | rakudo-moar ae1f2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3my $x = 5 x a7⏏5'; say "x = '$x'" expecting any of: infix infix stopper postfix statement end statemen…» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/TbzuDhkgNSTwo terms in a rowat /tmp/Tb…» | ||
tbrowder, Full output: gist.github.com/5328cde0954f2e6d99...147bdb4214 | |||
tbrowder | m: my $x = 5 x 'a'; say "x = '$x'" | ||
camelia | rakudo-moar ae1f2f: OUTPUT«x = ''» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''» | ||
lucasb_ | tbrowder: try 'a' x 5 | ||
tbrowder | m: my $x = 'a' x 5; say "x = '$x'" | 21:35 | |
camelia | rakudo-moar ae1f2f: OUTPUT«x = 'aaaaa'» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«x = 'aaaaa'» | ||
El_Che | fumlead: you can create a package containing the perl6 runtime and you program and modules. Or use something like docker if running linux | ||
docker is nice because you can upgrade perl6 indepently of other applications | |||
tbrowder | argh!! thanks, lucasb_ | ||
lucasb_ | can someone silence evalable6? since camelia is already here | 21:36 | |
fumlead | rakudo supports jvm backend, right? So, can I create a jar file? | ||
El_Che | fumlead: in the near future, probably. For now, I think the moarvm backend is the only way to go | 21:37 | |
tbrowder | RTFDocs i see the second arg is coerced to an int, so i must coerce myself to do the same... | 21:38 | |
geekosaur | fumlead, the jvm backend is significantly buggier | 21:39 | |
tbrowder | m: my $x = ' ' x 5; say "x = '$x'" | 21:40 | |
camelia | rakudo-moar ae1f2f: OUTPUT«x = ' '» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«x = ' '» | ||
fumlead | Okay, why I can't generate MoarVM bytecode? `perl6 --target=mbc test.pl` doesn't seems to work | ||
tbrowder | could the poor noob be given an error msg for the wrong order of args? | 21:44 | |
m: my $x = 5 x 5; say "x = '$x'" | 21:45 | ||
camelia | rakudo-moar ae1f2f: OUTPUT«x = '55555'» | ||
evalable6 | tbrowder, rakudo-moar 34e515d: OUTPUT«x = '55555'» | ||
tbrowder | can anyone show an example why coercing the second arg to an int would be useful? | 21:47 | |
iBakeCake | tbrowder: as opposed to what? | 21:50 | |
tbrowder | instead of constraining the second arg to an int? | 21:51 | |
lucasb_ | tbrowder: I think that was always the nature of Perl. It's ok to use a string as a number and number as string | ||
iBakeCake | You can also use, say, an @array with the number of elements you want to duplicate with | 21:52 | |
tbrowder | or, better, accept: int x str OR str x int | ||
iBakeCake | :/ | ||
That's certainly not better. | |||
my $foo = $bar x $ber; # guess the result | |||
lucasb_ | $ber times the stringfication of $bar :) | 21:53 | |
21:53
giftnuss_ joined
|
|||
iBakeCake | lucasb_: no, you can't tell, if tbrowder's suggestion were in place. | 21:54 | |
21:54
fumlead left
|
|||
tbrowder | why? the two options could be multi methods couldn't they | 21:54 | |
21:54
name joined
|
|||
skids | m: my $bar = 5; say $bar x $ber | 21:55 | |
tbrowder | here are the current signature according to the docs: | ||
camelia | rakudo-moar ae1f2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable '$ber' is not declared. Did you mean '$bar'?at <tmp>:1------> 3my $bar = 5; say $bar x 7⏏5$ber» | ||
evalable6 | skids, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/1LQcdJqr5uVariable '$ber' is not declared. Did you mean '$bar'?at /tmp/1LQcdJqr5u:1------> my $bar = 5; say $bar x <HERE>$ber» | ||
iBakeCake | tbrowder: yes, but programmer can't tell what it's doing when reading the code. | ||
So your multies don't add any benefits. They just produce confusing code. | |||
AlexDaniel: your bot is malfunctioning? | |||
japhb | ab5tract_: Are you around? | ||
tbrowder | www.irccloud.com/pastebin/3vWTfCe0/ | 21:56 | |
iBakeCake | tbrowder: that's incorrect. | 21:57 | |
m: &infix:<x>.candidates».signature.say | |||
camelia | rakudo-moar ae1f2f: OUTPUT«(() ($x) ($s, Num:D $n) ($s, $n) (Str:D $s, Int:D $repetition --> Str:D) (str $s, int $repetition --> str))» | ||
evalable6 | iBakeCake, rakudo-moar 34e515d: OUTPUT«(() ($x) ($s, Num:D $n) ($s, $n) (Str:D $s, Int:D $repetition --> Str:D) (str $s, int $repetition --> str))» | ||
iBakeCake | tbrowder: and 5 x 'dsadas' failing silently is incorrect and shall be fixed shortly | 21:58 | |
21:58
evalable6 left
|
|||
MasterDuke | iBakeCake: i killed evalable for now | 21:58 | |
iBakeCake | MasterDuke++ | ||
tbrowder | iBakeCake: good to hear, and i guess the docs need updating | 21:59 | |
iBakeCake | tbrowder: I'll update them after the fix. The candidates may change | 22:01 | |
tbrowder: where in the docs is it? | |||
tbrowder | i'll show you, i'm making a slight correction without changing the sigs...see what you think | 22:02 | |
22:02
flexibeast joined,
Jesmaybe joined
22:03
bjz joined
22:04
Jesmaybe left
22:05
Jesmaybe joined
22:06
Jesmaybe left
|
|||
dalek | c: 2bc0df8 | (Tom Browder)++ | doc/Language/operators.pod6: give fair notice of a possible silent error |
22:07 | |
tbrowder | just above that change is where the signatures are listed | 22:09 | |
iBakeCake | got it | ||
22:10
Jesmaybe joined
22:12
RabidGravy left
22:13
Derperperd left
22:16
bjz left,
TEttinger joined,
Jesmaybe left
|
|||
AlexDaniel | iBakeCake: obviously, yes, it does :) | 22:17 | |
that's totally my mistake though | 22:18 | ||
22:20
evalable6 joined
|
|||
AlexDaniel | m: say 42 | 22:20 | |
camelia | rakudo-moar ae1f2f: OUTPUT«42» | ||
evalable6 | AlexDaniel, rakudo-moar 34e515d: OUTPUT«42» | ||
22:20
evalable6 left
|
|||
AlexDaniel | iBakeCake: lesson learned: don't leave stuff uncommitted | 22:20 | |
22:21
cpage_ left,
Jesmaybe joined
|
|||
lucasb_ | tbrowder: I think you was to fast in adding that note. It will be fixed | 22:22 | |
*too | |||
iBakeCake | lucasb_: nah, that note is about zeros and negative numbers :) | ||
dalek | c: f6314f6 | (Tom Browder)++ | doc/Language/operators.pod6: give examples of incorrect args |
22:23 | |
tbrowder | and i'm making another tweak, too...see it shortly... | ||
ah, there it is... | |||
iBakeCake | haha! Now THIS one is incorrect :D | 22:24 | |
m: say 'a'.Int | |||
camelia | rakudo-moar ae1f2f: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏) in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
lucasb_ | well, since ('a' x 0) or ('a' x -1) doesn't warn, I would not expect '0' and '-1' to warn too | ||
iBakeCake | You'd get that ^ with the 5 x 'a' example | ||
22:24
Jesmaybe left
22:25
Jesmaybe joined
|
|||
tbrowder | i did try the examples i added and got no warnings or errors: This is Rakudo version 2016.06-976-ga09c8dc built on MoarVM version 2016.09-46-geceb429 | 22:26 | |
iBakeCake | 'cause there's a bug :) | ||
tbrowder | roger! | ||
iBakeCake | Your rakudo is ridiculously outdated :) | ||
22:26
evalable6 joined
22:27
evalable6 left,
evalable6 joined
|
|||
iBakeCake | tbrowder: how did you build it? I'm surprised it's using a much newer version of MoarVM | 22:27 | |
AlexDaniel | m: say 42 | ||
camelia | rakudo-moar ae1f2f: OUTPUT«42» | ||
AlexDaniel | \o/ | ||
AlexDaniel leaves without committing it again | |||
tbrowder | well, sorry. i do update it when i think about it--i usually make sure i'm on the nom branch, update it, and build from there, but i may have been on another branch the last timebut now that you mention it, yesterday i found an existing ~/.rakudobrew can interfere with a Star install from a tarball | 22:30 | |
i do NOT have ~/.rakudobrew | |||
22:31
Jesmaybe left,
Jesmaybe joined
22:32
cpage_ joined
22:34
cdg left
22:35
Jesmaybe left
22:37
lizmat joined,
kurahaupo__ left
22:39
firstdayonthejob left
22:45
name left
|
|||
Herby__ | \o | 22:49 | |
22:49
lizmat left
|
|||
dalek | c: 9677f76 | (Zoffix Znet)++ | doc/Language/operators.pod6: Improve infix:<x> |
22:49 | |
Herby__ | does perl 6 have a built-in prettyprint of some sort? | 22:51 | |
i see tony-o has a Data::Dump module available | |||
iBakeCake | tbrowder: well, I removed note about $b <= 0 warnings, since right before the example there is a mention that an empty string is given in those cases, so I don't see the reason why a note is necessary. I also removed several of the incorrect examples (that now throw). Lastly, for the signature, I left just one in. IMO the others are more of a Rakudo's internal detail rather than something user-facingly | ||
important | |||
m: dd <just this one> | |||
camelia | rakudo-moar 2dd0dd: OUTPUT«("just", "this", "one")» | ||
AlexDaniel | does anybody know where is MadcapJake nowadays? | ||
iBakeCake | Herby__: ^ there's also a slightly bitrotten .DUMP method that is way more verbose. | ||
m: say 'a' x 'b' | 22:52 | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5b' (indicated by ⏏) in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
tbrowder | iBakeCake: perl6 version is "2016.09-213-gae1f2f8 built on MoarVM version 2016.10-5-g3f1ef57", is that better? | ||
Herby__ | iBakeCake: foolish question but what do you mean by bitrotten? | 22:53 | |
iBakeCake | tbrowder: you still have a weird configuration that your Rakudo is using a MoarVM version that it was never meant to be using. | ||
Herby__: en.wikipedia.org/wiki/Software_rot | |||
m: $*PERL.version.say | 22:54 | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«v6.c» | ||
Herby__ | ah k | ||
iBakeCake | m: $*PERL.compiler.version.say | ||
AlexDaniel | Herby__: nevermind, it should work! | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«v2016.10.7.g.2.dd.0.ddb» | ||
Herby__ | thanks | ||
iBakeCake | tbrowder: basically each Rakudo commit knows which version of MoarVM build and in your case your MoarVM is way higher than what the commit for your Rakudo would build | 22:55 | |
tbrowder | hm, any ideas? i do have a fork of MoarVM but I don't think I have installed it... | ||
iBakeCake | hmmm | 22:56 | |
1 sec | |||
tbrowder | should I just blow away what I have and start over? | ||
iBakeCake | ah | ||
*nah | |||
22:56
lizmat joined
|
|||
iBakeCake | wtf | 22:56 | |
tbrowder: I think it's just 'cause you did not pull the rakudo tag in. If I look up that commit, it's actually *is* a 2016.10 rakudo. | 22:57 | ||
git pull --tags does it I think | 22:58 | ||
(unsure whether it's supposed to pull in tags automagically anyway) | |||
tbrowder | here's my rakudo build command in my rakudo fork repo: corrections, please: "perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=/usr/local/rakudo-git.d" | 23:00 | |
iBakeCake | tbrowder: how do you pull in new changes from the repo? | ||
tbrowder | git pull upstream nom | 23:01 | |
23:01
lizmat_ joined
23:02
lizmat left
|
|||
iBakeCake | I got `git pull` and I build with `perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install` and my -v gives me "This is Rakudo version 2016.10-4-g2b5226c built on MoarVM version 2016.10-5-g3f1ef57" | 23:02 | |
tbrowder: what does `git describe` gives you? | |||
tbrowder | 2016.09-214-g2dd0ddb | 23:03 | |
iBakeCake | tbrowder: what if you do git pull upstream nom --tags what does git describe give you then? | ||
23:04
lizmat_ is now known as lizmat
|
|||
tbrowder | 2016.10-7-g2dd0ddb | 23:04 | |
iBakeCake | \o/ | ||
tbrowder | huzzah? rebuild? | 23:05 | |
iBakeCake | tbrowder: I guess git doesn't automatically pull in tags when you explicitly give it a location to pull from | ||
tbrowder: yeah | |||
Now it'll give you the right version..... along with the 'a' x 'b' fix | |||
tbrowder | so should i set a git command in my build script to do the "right thing" every time before running Configure.pl? | 23:07 | |
iBakeCake | tbrowder: I guess. I'm no git guru or anything :) | ||
tbrowder | well you're more of a guru tham moi!! | 23:08 | |
(better speller, too) | |||
23:08
lizmat left
|
|||
tbrowder | www.irccloud.com/pastebin/QthxyyUr/ | 23:12 | |
does that look right? | |||
2016.10-7-g2dd0ddb built on MoarVM version 2016.10-5-g3f1ef57 | 23:13 | ||
iBakeCake | yup | ||
tbrowder | thanks so much, iBakeCake! | 23:14 | |
iBakeCake | Any time. | ||
23:14
girafe left
|
|||
tbrowder | but i don't see a fix for: say 5 x ' ' | 23:15 | |
iBakeCake | That's cause ' ' is numifies to 0 | ||
m: dd ' '.Int | |||
camelia | rakudo-moar 2dd0dd: OUTPUT«0» | ||
iBakeCake | m: dd ' heh '.Int | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => " heh ", pos => 5, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)» | ||
iBakeCake | m: 'a' x 'b' | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«WARNINGS for <tmp>:Useless use of "x" in expression "'a' x 'b'" in sink context (line 1)Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5b' (indicated by ⏏) in block <unit> at <tmp> line 1Act…» | ||
tbrowder | i thought the fix would be to warn of coercion to <= 0? | 23:16 | |
are you sure i have the right version? | 23:17 | ||
m: say 5 x 1 ' | |||
camelia | rakudo-moar 2dd0dd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3say 5 x 17⏏5 ' expecting any of: infix infix stopper postfix statement end statement modifier …» | ||
tbrowder | m: say 5 x ' ' | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«» | ||
iBakeCake | No, the fix was to not silence Failures when coersing to Int. Returning empty string for <= 0 is part of behaviour | ||
tbrowder | well that fix doesn't help dummies...i don't understand why another multi with a sig of (int, str) couldn't be used to provide an exception | 23:21 | |
a clear reversal of desired usage | |||
a clear reversal of correct usage | 23:22 | ||
or (Int:D, Str:D) | |||
or a fancy restraint sig | 23:23 | ||
iBakeCake | I rather these supposed dummies RTFM than real programmers be inconvinienced with bogus exepcions | ||
like 42 x $str-user-input | 23:24 | ||
As well as IntStr x IntStr | |||
m: my ($a, $b) = <5 10>; dd $a x $b | 23:25 | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«"5555555555"» | ||
iBakeCake | ^ your version here would throw | ||
tbrowder | i want my messed up version to throw! | 23:27 | |
m: my ($a, $b) = [5, ' ']; dd $a x $b | |||
camelia | rakudo-moar 2dd0dd: OUTPUT«""» | ||
tbrowder | m: my [$a, $b] = [5, ' ']; dd $a x $b | 23:28 | |
camelia | rakudo-moar 2dd0dd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Malformed myat <tmp>:1------> 3my7⏏5 [$a, $b] = [5, ' ']; dd $a x $b» | ||
tbrowder | m: my $a = 5; my $b = ' '; dd $a x $b | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«""» | ||
tbrowder | anyhow, i'll go quietly into the night--thanks for yr help | 23:29 | |
Herby__ | i'm getting stumped here on something that should be simple. I have an array: @movie , and @movies[0].elems tells me it has 10 elements | 23:31 | |
but if i try to loop through @movies[0], it only returns 1 elements | |||
element | |||
iBakeCake | tbrowder: checking for that rare special case is expensive and would impact all other cases. It's just not worth it. The behaviour is entirely consistent in that an .Int of empty string is zero | 23:32 | |
gfldex | Herby__: you are missing a .flat | ||
Herby__: or some other way to turn the item into a list | |||
iBakeCake | m: my @movies = (^3),; dd @movies[0].elems; for |@movies[0] { .say } | 23:33 | |
camelia | rakudo-moar 2dd0dd: OUTPUT«3012» | ||
Herby__ | hmmm | ||
yeah, thats what I was missing | |||
thanks | 23:34 | ||
iBakeCake | I meant, an .Int of a string with nothing but whitespace in it is 0 | ||
tbrowder | okay, i understand expensive... | 23:35 | |
gfldex | m: my @m = [1,2,3],<a b c>; dd @m[0].map({$_}) | ||
camelia | rakudo-moar 2dd0dd: OUTPUT«(1, 2, 3).Seq» | ||
tbrowder | and i can learn the RWTDI | 23:41 | |
the silent fail on ' ' sure explains the problems i'm having with another program! fix coming shortly :) | 23:42 | ||
23:42
rindolf left
|
|||
seatek | I've been playing around with inheritance vs roles in classes. I'm reaching the general conclusion that roles are best when you're not dealing with attributes... mostly just methods that do specialized things. Whereas inheritance works best when you're dealing with common attributes, and methods that rely on those attributes. Sound about right? | 23:45 | |
that's so general... sorry.. but those are pretty general and simlar things, roles and inheritance. ;) | 23:46 | ||
23:48
lucasb_ left
|
|||
seatek | I'm left kinda wondering what the benefit of roles actually are, other than getting errors when you "does" something with the same attribute or method names. | 23:50 | |
I could see using roles as abstract interfaces though... just found that reading... | 23:54 |