Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-01-30

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 SmokeMachine any way to simulate the COMPOSE phaser? (it's NIY, right?)
00:01 SmokeMachine timotimo: I have to call MyClass.COMPOSE, but its working... https://www.irccloud.com/pastebin/2Obs54h6/
00:02 _28_ria joined #perl6
00:02 perlawhirl joined #perl6
00:04 Vynce joined #perl6
00:16 SmokeMachine is there any plan to support the COMPOSE phaser?
00:17 regreg joined #perl6
00:17 regreg hello
00:17 regreg is there any good perl6 gui for windows?
00:18 regreg or sdl
00:27 agentzh joined #perl6
00:28 curt__ joined #perl6
00:30 SmokeMachine m: 42 but role {method ^compose {say "!!!"}} # should this work?
00:30 camelia rakudo-moar 5b3ac8: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in multi (did you mean 'my method compose'?)␤    at <tmp>:1␤    ------> 42 but role {method7⏏5 ^compose {say "!!!"}} # should this wor␤»
00:35 mspo joined #perl6
00:38 brokenchicken buggable: eco
00:38 buggable brokenchicken, Out of 775 Ecosystem dists, 119 have warnings and 4 have errors. See https://modules.perl6.org/update.log for details
00:38 brokenchicken buggable: eco sdl
00:38 buggable brokenchicken, Found 2 results: SDL, SDL2::Raw. See http://modules.perl6.org/#q=sdl
00:38 brokenchicken regreg: we have SDL2::Raw ^
00:39 jraglin joined #perl6
00:39 z448 joined #perl6
00:40 brokenchicken SmokeMachine: what would that even do?
00:41 SmokeMachine brokenchicken: wrap some methods when my role is composed on a class...
00:41 ugexe if you are keeping it simple you can sort of mimick compose by just putting the code in the body of the role
00:41 pyrimidine joined #perl6
00:41 SmokeMachine https://www.irccloud.com/pastebin/2Obs54h6/
00:42 ugexe m: (42 but role :: {say "Composed"})
00:42 camelia rakudo-moar 5b3ac8: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤Composed␤»
00:43 SmokeMachine m: my $a = 42 but role :: {say "the composed class: {self.WHAT}"}
00:43 camelia rakudo-moar 5b3ac8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤'self' used where no object is available␤at <tmp>:1␤------> 3 but role :: {say "the composed class: {7⏏5self.WHAT}"}␤    expecting any of:␤        term␤»
00:43 SmokeMachine m: my $a = 42 but role :: {say "the composed class: {::?CLASS}"}
00:43 camelia rakudo-moar 5b3ac8: OUTPUT«Use of uninitialized value of type Int+{<anon|58096592>} in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in sub  at <tmp> line 1␤the composed class: ␤»
00:43 ugexe its a role not a class
00:43 ugexe you're pretty much instantly jumping past the "if you are keeping it simple" bit :/
00:43 ugexe m: say (42 but role :: {.^add_method("foo", method () returns Str {say "!!!"})}).foo
00:43 camelia rakudo-moar 5b3ac8: OUTPUT«!!!␤Type check failed for return value; expected Str but got Bool (Bool::True)␤  in method <anon> at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
00:44 aborazmeh joined #perl6
00:44 aborazmeh joined #perl6
00:44 ugexe m: (42 but role :: {say $?ROLE})
00:44 camelia rakudo-moar 5b3ac8: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤(<anon|48003744>)␤»
00:45 SmokeMachine ugexe: but its being composed in a class... and I want to wrap that class' methods...
00:45 brokenchicken ::?CLASS will be the class the role's composed into
00:47 ugexe m: (42 but role :: {say $?CLASS})
00:47 camelia rakudo-moar 5b3ac8: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 42 in sink context (line 1)␤(Int+{<anon|57211552>})␤»
00:47 yoleaux joined #perl6
00:49 SmokeMachine m: my $a = 42 but role :: {method role-method {}; ::?CLASS.role-method}
00:49 camelia rakudo-moar 5b3ac8: OUTPUT«Could not instantiate role '<anon|56450064>':␤No such method 'role-method' for invocant of type 'Int+{<anon|56450064>}'␤  in any protect at gen/moar/stage2/NQPCORE.setting line 802␤  in block <unit> at <tmp> line 1␤␤»
00:49 SmokeMachine m: my $a = 42 but role :: {method role-method {}; :(.role-method}
00:49 camelia rakudo-moar 5b3ac8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at <tmp>:1␤------> 3: {method role-method {}; :(.role-method7⏏5}␤    expecting any of:␤        statement end␤ …»
00:49 SmokeMachine :(
00:55 Cabanossi joined #perl6
00:58 sammers hi #perl6
00:59 brokenchicken \o
01:00 SmokeMachine I think that when that code runs, my class' methods do not exist yet...
01:00 SmokeMachine m: role R {::?CLASS.^methods.say}; class C does R {method my-method {}}
01:00 camelia rakudo-moar 5b3ac8: OUTPUT«(my-method)␤»
01:01 SmokeMachine m: role R {::?CLASS.^find_method("my-method").say}; class C does R {method my-method {}}
01:01 camelia rakudo-moar 5b3ac8: OUTPUT«my-method␤»
01:01 SmokeMachine ?
01:01 brokenchicken What?
01:02 SmokeMachine m: role R {::?CLASS.^attributes.say}; class C does R {has $.bla}
01:02 camelia rakudo-moar 5b3ac8: OUTPUT«(Mu $!bla)␤»
01:02 SmokeMachine I wasnt expecting that...
01:05 SmokeMachine m: role R {::?CLASS.^methods.say}; class C does R {has $.bla}
01:05 camelia rakudo-moar 5b3ac8: OUTPUT«()␤»
01:05 SmokeMachine that is it!!! the methods weren't created yet!
01:07 SmokeMachine m: role R {::?CLASS.^methods.say}; class C does R {has $.auto-created; method hardcoded {}}
01:07 camelia rakudo-moar 5b3ac8: OUTPUT«(hardcoded)␤»
01:08 SmokeMachine why the hardcoded was created but the auto-created wasn't?
01:16 timotimo because auto-created probably ran at the end of composition
01:16 timotimo whereas the body fo the class and its roles and such runs near the beginning of composition?
01:16 timotimo oh, you were talking about accessor methods for attributes
01:18 SmokeMachine timotimo: yes, I was...
01:19 timotimo too distracted to be of any help :o
01:19 SmokeMachine timotimo: with a method COMPOSE its working...
01:19 timotimo nice
01:20 SmokeMachine but Id like to do not need to call that method
01:24 astj joined #perl6
01:50 sammers is there a list of ords that make up \h?
01:55 Cabanossi joined #perl6
01:56 brokenchicken m: (^0x110000).grep(*.chr.match: /\h/).say
01:56 camelia rakudo-moar 5b3ac8: OUTPUT«(9 32 160 5760 6158 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8239 8287 12288)␤»
01:57 brokenchicken m: (^0x110000).grep(*.chr.match: /\h/)».&{"U+" ~ .base(16)}.say
01:57 camelia rakudo-moar 5b3ac8: OUTPUT«(U+9 U+20 U+A0 U+1680 U+180E U+2000 U+2001 U+2002 U+2003 U+2004 U+2005 U+2006 U+2007 U+2008 U+2009 U+200A U+202F U+205F U+3000)␤»
02:05 sammers brokenchicken: thanks
02:10 kalkin- joined #perl6
02:11 sammers is there any way to improve perfomance when calling a local lib (use lib 'lib')?
02:12 pyrimidine joined #perl6
02:22 Geth doc: CurtTilmes++ created pull request #1169: Better word choice
02:22 Geth doc: review: https://github.com/perl6/doc/pull/1169
02:24 brokenchicken sammers: yes, don't call it from a place that has a ton of files as it reads and concats ALL of them
02:25 brokenchicken (including subdirectories)
02:25 Geth doc: b6916b6e81 | (Curt Tilmes)++ | doc/Language/containers.pod6
02:25 Geth doc: Better word choice
02:25 Geth doc: review: https://github.com/perl6/doc/commit/b6916b6e81
02:25 Geth doc: 140460d133 | (Zoffix Znet)++ | doc/Language/containers.pod6
02:25 Geth doc: Merge pull request #1169 from CurtTilmes/master
02:25 Geth doc:
02:25 Geth doc: Better word choice
02:25 Geth doc: review: https://github.com/perl6/doc/commit/140460d133
02:26 sammers brokenchicken: ah, that is useful to know. that would explain my current scenario
02:26 brokenchicken Oh, I think I'm wrong about the "all" part. It's just the ones that have .pm/.pm6 extension
02:28 brokenchicken aye: https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/Repository/FileSystem.pm#L64-L67
02:31 sammers when I install a package via zef it always feels snappier than when I run using lib 'lib'
02:33 brokenchicken Yeah, this is one of the reasons. It doesn't need to slurp all the files for installed modules, only for the FileSystem repository
02:34 brokenchicken And it'd recompile the precomp files any time there's a change in any of those slurped files
02:35 brokenchicken hmm
02:35 brokenchicken Or something or other; I'm not familiar with the process :)
02:37 sammers hmm, I would like to capture execution time after the recompile, is there any way to detect post-compilation?
02:38 ugexe if you -Ilib it gets put at the front of the dependency chain. when you `use lib "lib"` it gets put somewhere else
02:38 sammers ah
02:38 agentzh joined #perl6
02:39 ugexe that + possibly affecting what can be precompiled would give that type of difference
02:40 Cabanossi joined #perl6
02:40 sammers ugexe, just tested it. seems to make a noticable difference with what I am working on. thanks. the times are closer to what I was seeing using the pre-compiled modules.
02:46 MasterDuke .tell agentzh what ugexe just mentioned here ^^^ about -Ilib being faster than `use lib "lib"` may be of interest to you
02:46 yoleaux MasterDuke: I'll pass your message to agentzh.
02:46 brokenchicken wow. My Twitter feed is nothing but trump and pics+videos of protests.
02:46 * brokenchicken does a mental account of all of the dealings with US businesses should those have to be transfered elsewhere...
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:48 Max___ joined #perl6
02:50 agentzh MasterDuke: I'm not using `use lib 'lib'`. i've been using -Ilib already :)
02:50 yoleaux 02:43Z <MasterDuke> agentzh: what ugexe just mentioned here ^^^ about -Ilib being faster than `use lib "lib"` may be of interest to you
02:51 agentzh brokenchicken: heh.
02:51 MasterDuke oh well, then no easy win there
02:52 agentzh MasterDuke: i'm already using a merge script that merge everything into a giant .p6 file.
02:52 agentzh MasterDuke: removing all those use statements.
02:52 agentzh MasterDuke: it's the fastest setting right now.
02:53 agentzh but still not fast enough. about 6.8 ~ 7 sec compilation time
02:53 agentzh better than 13 sec though :)
02:55 MasterDuke i've been watching Jonathan Blow's videos about his new language Jai. very envious of 0.3s compile times for a 30k line program
02:55 agentzh that's fast.
02:57 MasterDuke that's for generating unoptimized code, but it's still great for workflow speed
02:57 agentzh right
02:58 sammers I am not sure if there is a name for this, but is there currently an iterator limit? like, the time to iterate to the next value, not counting the execution time of whatever my code does with the iterator?
03:00 sammers m: my $now = now; (1..5).map: { "{$now - now}".say }
03:00 camelia rakudo-moar 5b3ac8: OUTPUT«-0.0014551␤-0.00464284␤-0.005704␤-0.0065557␤-0.0075582␤»
03:00 sammers m: my $now = now; (1..5).map: { "{$now - now}".say; $now = now; }
03:00 camelia rakudo-moar 5b3ac8: OUTPUT«-0.00144098␤-0.000199␤-0.000226␤-0.0002521␤-0.0003689␤»
03:02 Actualeyes joined #perl6
03:09 robinsmidsrod joined #perl6
03:12 _28_ria joined #perl6
03:29 astj joined #perl6
03:41 noganex joined #perl6
03:43 astj_ joined #perl6
03:54 raiph joined #perl6
04:00 samcv making this change I get an error: Cannot modify an immutable Int
04:00 samcv in sub apply-to-cp at ./UCD-gen.p6 line 501
04:03 MasterDuke you tried to assign to/modify an ro function parameter?
04:04 samcv i don't think so
04:04 samcv i mean i run .split, and then run parse-base on it
04:04 samcv but the error is on link 501, where all I do is create a Range object
04:07 samcv oh dumb
04:07 samcv i did = instead of == XD
04:07 samcv shows how tired i am right now
04:08 Cabanossi joined #perl6
04:36 xtreak joined #perl6
04:38 Cabanossi joined #perl6
04:42 seekitoutx joined #perl6
04:43 seekitoutx Everytime I attempt to 'rakudobrew build moar' I get this error: https://gist.github.com/anonymous/a0a287c64afb4a9f65515ef42dfa44d2
04:43 seekitoutx Anyone know how to fix this?
04:43 seekitoutx running debian 3.16.36-1+deb8u2
04:47 BenGoldberg joined #perl6
04:47 labster joined #perl6
04:48 brokenchicken seekitoutx: that looks like you've not enough RAM to compile it
04:48 brokenchicken seekitoutx: why are you using rakudobrew?
04:48 brokenchicken huggable: deb
04:48 huggable brokenchicken, CentOS and Debian Rakudo packages: https://github.com/nxadm/rakudo-pkg/releases
04:50 brokenchicken You need about 1.5GB of RAM (or swap) to compile it from scratch.
04:52 seekitoutx Where do I get panda from?
04:53 brokenchicken You don't. It's not a recommended package manager
04:53 brokenchicken buggable: eco zef
04:53 buggable brokenchicken, zef 'It's like [cpanm] wearing high heels with a tracksuit': https://github.com/ugexe/zef
04:53 brokenchicken seekitoutx: ^ use that. The README should have bootstrapping instructions
04:53 seekitoutx I see
04:53 seekitoutx thanks guys
04:54 brokenchicken Just made a compilation run: it needed 1.239168GB of RAM
04:54 seekitoutx only have 1gb on this lol
04:55 brokenchicken I compiled on 1GB VM before and I had a few gigs of swap to help it out
05:15 TEttinger joined #perl6
05:18 samcv i forget who it was that said to do %hash.keys.sort(+*) instead of %hash.keys.sort({$^a.Int cmp $^b.Int})
05:18 samcv it turns out %hash.keys.sort(*.Int) is faster than (+*)
05:18 samcv though the $^a etc thing is the slowest of the three
05:25 pyrimidi_ joined #perl6
05:26 BenGoldberg joined #perl6
05:29 brokenchicken It was thundergnat.
05:30 brokenchicken And yeah, the +* form likely goes to .Numeric -> .Bridge or some or other
05:30 brokenchicken s: &prefix:<+>, \('42')
05:30 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/blob/5b3ac83/src/core/Numeric.pm#L43
05:30 brokenchicken s: '42', 'Numeric', \()
05:30 SourceBaby brokenchicken, Sauce is at https://github.com/rakudo/rakudo/blob/5b3ac83/src/core/Str.pm#L303
05:31 brokenchicken Ah right, now I remember
05:31 brokenchicken And .Int has a fastpath, while .Numeric goes through val()
05:37 CIAvash joined #perl6
05:37 Cabanossi joined #perl6
05:44 BenGoldberg m: say val('1.2')
05:44 camelia rakudo-moar 5b3ac8: OUTPUT«1.2␤»
05:44 BenGoldberg m: dd val('1.2')
05:44 camelia rakudo-moar 5b3ac8: OUTPUT«RatStr.new(1.2, "1.2")␤»
05:44 BenGoldberg m: dd val('1e2')
05:44 camelia rakudo-moar 5b3ac8: OUTPUT«NumStr.new(100e0, "1e2")␤»
05:44 BenGoldberg m: dd val('12')
05:44 camelia rakudo-moar 5b3ac8: OUTPUT«IntStr.new(12, "12")␤»
05:45 BenGoldberg m: dd val('')
05:45 camelia rakudo-moar 5b3ac8: OUTPUT«IntStr.new(0, "")␤»
05:45 BenGoldberg s: &val, \('42')
05:45 SourceBaby BenGoldberg, Sauce is at https://github.com/rakudo/rakudo/blob/5b3ac83/src/core/allomorphs.pm#L131
05:50 dugword joined #perl6
06:08 telex joined #perl6
06:22 xiaomiao joined #perl6
06:30 raiph joined #perl6
06:32 Khisanth joined #perl6
06:35 AlexDaniel joined #perl6
06:36 xtreak joined #perl6
06:37 pyrimidine joined #perl6
06:39 raiph joined #perl6
06:41 raiph joined #perl6
06:43 raiph joined #perl6
06:47 _28_ria joined #perl6
06:51 RabidGravy joined #perl6
07:08 Cabanossi joined #perl6
07:18 perlawhirl joined #perl6
07:19 darutoko joined #perl6
07:22 domidumont joined #perl6
07:27 domidumont joined #perl6
07:35 domidumont joined #perl6
07:43 astj joined #perl6
07:58 masak morning, #pwel6
07:58 masak er, #perl6
07:58 * masak adjusts his posture a little bit at the keyboard
07:58 perlawhirl joined #perl6
07:59 masak I just discovered a nice pattern for people who, like me, still use `say` for debugging purposes sometimes
07:59 masak the pattern is `if $some-condition ff False { say ... }`
07:59 masak gets rid of a lot of debug print noise before $some-condition
08:00 pyrimidine joined #perl6
08:01 abraxxa joined #perl6
08:01 wamba joined #perl6
08:05 moritz huh?
08:05 moritz what does ff False do?
08:07 masak goes on being true forever
08:07 masak IOW, it never flops
08:07 masak but the other important detail is that it flips when I want it to, and so it's quiet before that
08:08 masak remind me, is .WHICH the one that promises to never change regardless of GC moves?
08:08 masak because .WHERE sure doesn't seem to be it ;)
08:14 xinming_ joined #perl6
08:16 lizmat masak: .WHICH is it, afaik
08:18 dugword joined #perl6
08:19 Kaffe joined #perl6
08:23 arnsholt masak: That's a neat trick!
08:24 arnsholt For some reason, kind of reminds me of Smalltalk's version of conditional breakpoints: "aCondition ifTrue: [ self halt ]."
08:24 arnsholt Just inserted into the code wherever you need to break
08:30 TimToady joined #perl6
08:33 domidumont1 joined #perl6
08:34 masak arnsholt: cute!
08:34 masak lizmat: yes, also found that out independently; thanks :)
08:36 zakharyas joined #perl6
08:37 jsimonet joined #perl6
08:40 spider-mario joined #perl6
08:44 bjz joined #perl6
08:50 gfldex can a routine get hold of it's complete argument list at runtime?
08:54 g4 joined #perl6
08:54 g4 joined #perl6
08:55 moritz if it captures it, yes
08:55 Vasyl joined #perl6
08:55 moritz m: sub f(|c) { say "called with c.perl()" }; f 'x', a => 'b'
08:55 camelia rakudo-moar 5b3ac8: OUTPUT«called with c.perl()␤»
08:55 moritz m: sub f(|c) { say "called with ~", c.perl() }; f 'x', a => 'b'
08:55 camelia rakudo-moar 5b3ac8: OUTPUT«called with ~\("x", :a("b"))␤»
09:01 arnsholt masak: Yeah, it's pretty neat
09:02 arnsholt It feels kind of horrid to manipulate the code directly when you want to do this kind of thing, but once you get used to the idea of code and app and IDE being an integrated whole, it makes sense to do it that way
09:02 pyrimidine joined #perl6
09:03 ocbtec joined #perl6
09:04 gfldex moritz: i need it for subs that don't capture. Would be nice for debug output to have all input values next to a stacktrace. A bit tricky for `is rw` parameters ofc. I can .wrap to get that but then I have to do it before the Routine is called.
09:05 gfldex and it must be there because callsame actually works
09:05 DrForr gfldex: I did something like that with an attribute and capturing at compile time.
09:06 moritz gfldex: http://stackoverflow.com/questions/41290618/does-an-anonymous-parameter-in-a-perl-6-signature-discard-the-value/41292805 might interest you
09:06 moritz there might also be some NQP magic to get to the current argument capture
09:07 rindolf joined #perl6
09:07 moritz nqp::p6argvmarray or so
09:08 Cabanossi joined #perl6
09:08 gfldex i forgot about `is default`
09:09 gfldex and I even know why. It's not in the index in the docs. :)
09:10 gfldex Pro Tip: if you want to learn a new language, write it's official documentation.
09:14 moritz +1 :-)
09:14 dakkar joined #perl6
09:15 bjz joined #perl6
09:22 Geth doc: fd2e714e9a | (Wenzel P. P. Peppmeyer)++ | 2 files
09:22 Geth doc: move is default to routine and get it into the index
09:22 Geth doc: review: https://github.com/perl6/doc/commit/fd2e714e9a
09:22 xtreak joined #perl6
09:23 pyrimidine joined #perl6
09:32 jonas1 joined #perl6
09:33 Geth doc: 9e8e6fbb37 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Variable.pod6
09:33 Geth doc: index is default (Variable)
09:33 Geth doc: review: https://github.com/perl6/doc/commit/9e8e6fbb37
09:33 Geth doc: e8d6d8de9b | (Wenzel P. P. Peppmeyer)++ | doc/Type/Attribute.pod6
09:33 Geth doc: doc `is default` on Attribute
09:33 Geth doc: review: https://github.com/perl6/doc/commit/e8d6d8de9b
09:33 as__ joined #perl6
09:34 as__ rakudo: my %h = (a => 1, b => 2); say %h<a b>; my $k = 'a b'; say %h<$k>
09:34 camelia rakudo-moar 5b3ac8: OUTPUT«(1 2)␤(Any)␤»
09:34 as__ Hi guys. Is it ^^ a bug in Rakudo?
09:34 raiph joined #perl6
09:35 moritz as__: no
09:35 moritz you're trying to access the hash key '$k'
09:36 moritz which doesn't exist
09:36 arnsholt (Nor does the key 'a b', we might add)
09:36 moritz m: my %h = (a => 1, b => 2); say %h<a b>; my $k = 'a b'; say %h<<$k>>
09:36 camelia rakudo-moar 5b3ac8: OUTPUT«(1 2)␤(1 2)␤»
09:36 moritz but we've got your bases covered! ^^
09:37 as__ I am looking at https://docs.perl6.org/language/5to6-nutshell#%5B%5D_Array_indexing%2Fslicing
09:37 as__ rakudo: my %h = (a => 1, b => 2, 'a b' => 3); say %h<a b>; my $k = 'a b'; say %h<$k>
09:37 camelia rakudo-moar 5b3ac8: OUTPUT«(1 2)␤(Any)␤»
09:37 as__ you see, it does not work either
09:38 moritz as__: do you see the docs using $k inside of a <> subscript anywhere?
09:38 Cabanossi joined #perl6
09:38 moritz I see say %calories«$key»;  # Perl 6 - double angles interpolate as a list of Str
09:38 moritz and «...» is the same as <<...>>, which I've shown above
09:38 moritz as__: if you have ideas on how to make the docs clearer, please submit a pull request
09:38 as__ ah so
09:39 as__ thanks
09:40 Geth doc: 2c78f633c9 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Attribute.pod6
09:40 Geth doc: doc `is required` on Attribute
09:40 Geth doc: review: https://github.com/perl6/doc/commit/2c78f633c9
09:51 gfldex m: class C { has $.a is DEPRECATED }; my $c = C.new(a=>42); say $c.a; CATCH{ default { say .^name, ': ', .Str } }
09:51 camelia rakudo-moar 5b3ac8: OUTPUT«42␤»
09:52 gfldex tricky, it's in roast but NYI for Rakudo. Do I doc that or not?
09:55 Geth doc: 7f2f50a1d2 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Attribute.pod6
09:55 Geth doc: doc `is DEPRECATED` on Attribute
09:55 Geth doc: review: https://github.com/perl6/doc/commit/7f2f50a1d2
09:55 dugword joined #perl6
10:15 gregf_ *feels he needs a Perl6 refresh every monday morning!"
10:15 user9 joined #perl6
10:17 gregf_ s/"$/\*/
10:17 Geth doc: c0353c2305 | (Wenzel P. P. Peppmeyer)++ | doc/Language/subscripts.pod6
10:17 Geth doc: add Callable to the table
10:17 Geth doc: review: https://github.com/perl6/doc/commit/c0353c2305
10:18 muMarzog joined #perl6
10:22 scruff66 joined #perl6
10:23 Cabanossi joined #perl6
10:26 pyrimidine joined #perl6
10:28 domidumont joined #perl6
10:31 espadrine_ joined #perl6
10:38 parv joined #perl6
10:39 bjz joined #perl6
10:40 cyphase_eviltwin joined #perl6
11:06 astj joined #perl6
11:07 astj joined #perl6
11:10 travis-ci joined #perl6
11:10 travis-ci Doc build errored. Wenzel P. P. Peppmeyer 'add Callable to the table'
11:10 travis-ci https://travis-ci.org/perl6/doc/builds/196532916 https://github.com/perl6/doc/compare/7f2f50a1d2b2...c0353c23054a
11:10 travis-ci left #perl6
11:23 Cabanossi joined #perl6
11:26 dugword joined #perl6
11:49 bjz_ joined #perl6
12:05 timotimo huh, were int and long merged in python3?
12:07 arnsholt timotimo: Looks like it. The standard library gives the type int, float and complex in the category numeric types
12:07 timotimo OK
12:07 timotimo that's good to know
12:07 arnsholt "Integers have unlimited precision."
12:08 arnsholt So int, long and bigint have been merged in fact
12:13 perlawhirl joined #perl6
12:13 timotimo there used to be bigint?
12:14 timotimo why?
12:14 timotimo long was already infinite precision
12:20 arnsholt Oh derp
12:20 astj joined #perl6
12:20 arnsholt For some reason I had long as C long
12:20 timotimo :)
12:20 timotimo m: use NativeCall; my long $foo = 9999999999999; say $foo
12:20 camelia rakudo-moar 5b3ac8: OUTPUT«9999999999999␤»
12:20 timotimo m: use NativeCall; my long $foo = 99999999999999999999999999999; say $foo
12:20 camelia rakudo-moar 5b3ac8: OUTPUT«Cannot unbox 97 bit wide bigint into native integer␤  in block <unit> at <tmp> line 1␤␤»
12:23 drrho joined #perl6
12:24 garu hi everyone! quick question: how would one apply a role dynamically to an object? e.g. submethod BUILD { my $role = q|Some::Role|; self does $role }
12:25 timotimo you want ::('Some::Role')
12:25 melezhik_ joined #perl6
12:25 garu I tried it... but maybe I'm doing something wrong, let me check real quick
12:26 garu ah, the variable must be defined, of course :)
12:26 timotimo good idea
12:27 garu timotimo: thanks! I was testing it with my $x; $x does ::($class) and was getting an error
12:27 timotimo ah
12:27 garu but my $x = 10 made it work :)
12:29 garu timotimo: import ::($role) before the 'does' is also a big deal :)
12:30 * garu still learning the ropes
12:31 timotimo yeah, if it's not in scope, or you didn't import the right module for it, perl6 isn't going to rummage through your hard drive for .pm6 files that contain a role of that name :)
12:35 masak TimToady: S04 says a BEGIN block "only ever runs once". given that a BEGIN block's ASAP is not until macro expansion time if the BEGIN block contains unquotes that need to be populated -- would you expect such a BEGIN block to run only at the first macro expansion, or at each one?
12:36 timotimo hm. is there a way to mean the other when that decision is made?
12:37 timotimo i expect you can put a BEGIN block into a macro (but outside of any quasiquote) and use the result of that inside an unquote inside a quasiquote
12:37 masak it's easier to emulate really-only-once with the actually-once-per-expansion semantics than the reverse.
12:37 Cabanossi joined #perl6
12:38 masak I'm not sure that's enough to choose between the two, though.
12:38 bjz joined #perl6
12:38 masak timotimo: yes, BEGIN blocks in macros (but outside quasis) are entirely unproblematic.
12:39 masak by the way, I love how these questions are driven by actual implementation nowadays.
12:43 rba__ joined #perl6
12:44 arnsholt But wouldn't a BEGIN inside a quasi give rise to a new BEGIN for each instantiation of the macro anyways?
12:45 masak that's my question, essentially.
12:45 timotimo yeah
12:45 timotimo so if you spell out BEGIN in the code, its behaviour depends on whether it's inside an unquote or not
12:45 masak whether it counts as "the same" BEGIN block (and so it fires only the once)
12:46 masak or "a fresh" BEGIN block each time (and so it fires per expansion)
12:46 masak as scientists, we just don't know, because we haven't really cloned unfired BEGIN blocks before in human history
12:47 timotimo i consider us extremely lucky in this respect
12:47 timotimo we don't have to fire our experiment up into microgravity to test stuff out
12:48 masak what a time to be alive
12:49 masak I think my gut feeling is to lean towards arnsholt's reaction, too
12:49 timotimo mine, too
12:50 masak maybe partly because it feels like if someone put an unquote into a BEGIN, they definitely meant for it to fire at expansion -- and so probably at each expansion
12:50 arnsholt And even without the unquote, no?
12:50 masak no, I expect BEGIN blocks to fire ASAP
12:50 masak so if it can -- that is, if unhindered by unquote -- it fires
12:51 arnsholt If you have, with a Lisp, "(defmacro marco () '(BEGIN ...))" the BEGIN belongs in the context of the expansion, not the call, no?
12:51 masak I can see an argument for that being made, sure
12:52 masak but that does not seem to be the Perl Way
12:52 masak BEGIN fires ASAP, not later than that
12:52 masak and the fact remains that sans unquotes, the BEGIN block *is* ready to fire immediately -- and that's the overriding rule
12:53 masak I remember having a wonderful conversation about this with TimToady
12:53 masak where I pointed out that BEGIN and END were not fully symmetric to each other
12:54 masak (since BEGIN does not fire at the literal beginning of the program; it fires once the parser has consumed it)
12:54 masak and I asked him how he as a language designer could motivate that
12:54 masak his one-word response (which he then expanded on) was "gravity" :)
12:54 El_Che ah damn
12:55 masak i.e. BEGIN slides as far up as it can in the program, and END slides as far down as it can
12:55 El_Che he should have used lain
12:55 El_Che latin
12:55 El_Che gravitas
12:55 masak El_Che: you're free to pretend he did say it like that :P
12:56 El_Che for his biography
12:56 dugword joined #perl6
12:57 * masak pictures a thick book with the title "Gravitas", with TimToady sporting his usual Texas hat and colorful shirt
12:58 El_Che ahaha
12:58 SmokeMachine hi! is there any chance to make the body of a role be executed after all the (accessor) methods are created?
12:59 * ilmari is reminded of the Culture ship "Gravitas" running gag
12:59 SmokeMachine m: role R {say ::?CLASS.^find_method("bla")}; class C does R {has $.bla}
12:59 camelia rakudo-moar 5b3ac8: OUTPUT«(Mu)␤»
12:59 masak SmokeMachine: you're probably looking for the COMPOSE phaser
12:59 SmokeMachine masak: yes, I am...
13:00 masak ilmari: that must've been somewhere at the back of my mind, too
13:00 SmokeMachine m: role R {COMPOSE {say ::?CLASS.^find_method("bla")}}; class C does R {has $.bla}
13:00 camelia rakudo-moar 5b3ac8: ( no output )
13:00 SmokeMachine masak: but ^^
13:00 ilmari masak: I only just discovered the background for it: search for gravitas on https://www.theguardian.com/books/2000/sep/11/iainbanks-science-fiction
13:01 ilmari or https://en.wikipedia.org/wiki/List_of_spacecraft_in_the_Culture_series#Further_ships
13:01 timotimo m: role R { say "begin role R"; COMPOSE { say "compose role R" }; say "end role R"; }; class C does R { say "begin class C"; has $.bla; COMPOSE { say "compose class C" }; say "end class C" }
13:01 camelia rakudo-moar 5b3ac8: OUTPUT«begin role R␤end role R␤begin class C␤end class C␤»
13:01 ilmari masak: but that sound exactly like something the culture and its ships would do
13:01 timotimo ah, COMPOSE is NYI?
13:01 timotimo perhaps it should complain loudly, then.
13:01 pierrot joined #perl6
13:02 SmokeMachine timotimo: I'd rather to be implemented... :P
13:02 timotimo of course
13:04 astj joined #perl6
13:06 masak ilmari: yes, I saw that interview a while ago, I think
13:10 melezhik_ joined #perl6
13:11 SmokeMachine whats needed to implement the COMPOSE phaser?
13:11 SmokeMachine when it should run?
13:13 SmokeMachine Id like to try to implement it...
13:15 arnsholt At a guess, I think you'd have to add a compose phaser callback to the Role HOW object, which can be called at composition
13:15 arnsholt I'm a bit foggy on exactly how you'd go about implementing that though
13:15 arnsholt But some of the other phasers might be instructive
13:16 SmokeMachine arnsholt: thanks! Ill try to read those...
13:17 jnthn I think "what is it meant to do" is the main blocker here :)
13:17 duncan_dmg joined #perl6
13:18 arnsholt That'd be a bigger blocker, yes =)
13:18 arnsholt Intuitively, it's "whenever the role is composed into a class", but I'm guessing that's not an unambiguous formulation?
13:23 Cabanossi joined #perl6
13:23 faraco joined #perl6
13:24 SmokeMachine jnthn: so, is it not implemented yet because it's not agreed to how it should work?
13:25 * masak .oO( does the use case at hand provide any clues as to how it should work? ) :P
13:25 jnthn arnsholt: Something like that...also what's in scope, what scopes can it be placed into, etc.
13:26 * faraco looking at sixth-sense.
13:27 jnthn Thing is, if you want code to be run at the point a role is being composed into a class, you can just write code into the role body
13:27 drbojingle joined #perl6
13:27 jnthn m: role R { say "being composed into $?CLASS.^name()" }; class C1 does R { }; class C2 does R { }
13:27 camelia rakudo-moar 87d40a: OUTPUT«being composed into C1␤being composed into C2␤»
13:28 arnsholt Ah, right. In that case there's less call for it, I agree
13:28 jnthn Since role bodies are evaluated at the point of composition.
13:28 jnthn And in a class you can write a BEGIN block before, or after, the closing curly
13:29 arnsholt SmokeMachine: See above
13:29 arnsholt It's a bit odd that the find_method doesn't work though; maybe auto-generated methods are inserted only *after* role composition (to allow roles to supply implementations, perhaps?)
13:30 jnthn Yes
13:30 SmokeMachine jnthn: this is my problem:
13:30 SmokeMachine m: role R {COMPOSE {say ::?CLASS.^find_method("bla")}}; class C does R {has $.bla}
13:30 camelia rakudo-moar 87d40a: ( no output )
13:30 jnthn OK, so then you'd want it to run post-COMPOSE...
13:30 jnthn Or at least...post...something :)
13:31 SmokeMachine is COMPOSE running at the same place as the role body?
13:31 jnthn I've no idea because I don't thing it was ever defined :P
13:31 jnthn *think
13:32 jnthn Suppose we did introduce a COMPOSE that runs at a different, later, time to code in the role body.
13:32 SmokeMachine that would work if the role body just run after the creation of those methods...
13:32 jnthn That's impossible :)
13:33 SmokeMachine yes, I think compose should run later then...
13:34 xtreak joined #perl6
13:34 kurahaupo__ joined #perl6
13:35 SmokeMachine but probably it shouldn't be called COMPOSE...
13:38 jnthn Even then, we get to the "later, but when?" problem
13:38 jnthn If it runs after attribute composition then your use case works, but it's too late to add more attributes
13:39 jnthn If before attribute composition then we can but vice versa :)
13:42 SmokeMachine then shouldn't exists phasers for both?
13:43 SmokeMachine jnthn: ^^
13:45 jnthn Not sure it's worth it
13:45 jnthn I mean, it feels too niche to deserve a phaser
13:47 jnthn Mixing in to the meta-object, overriding the appropriate method, doing what you wish, followed by a callsame, or preceded by a callsame, is likely more scaleable
13:47 jnthn (Than trying to add/name a bunch of phasers then explain when they run)
13:48 scruff66 joined #perl6
13:49 SmokeMachine m: role R {method ^compose(|) {say ::?CLASS.^find_method("bla")}}; class C does R {has $.bla} # I tried that too... it complains about creating a multi...
13:49 camelia rakudo-moar 87d40a: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in multi (did you mean 'my method compose'?)␤    at <tmp>:1␤    ------> 3role R {method7⏏5 ^compose(|) {say ::?CLASS.^find_method(␤»
13:49 SmokeMachine m: role R {method ^compose(|) {callsame; say ::?CLASS.^find_method("bla")}}; class C does R {has $.bla} # I tried that too... it complains about creating a multi...
13:49 camelia rakudo-moar 87d40a: OUTPUT«Potential difficulties:␤    Useless declaration of a has-scoped method in multi (did you mean 'my method compose'?)␤    at <tmp>:1␤    ------> 3role R {method7⏏5 ^compose(|) {callsame; say ::?CLASS.^fi␤»
13:51 jnthn m: role R { $?CLASS.HOW does role { method compose_repr(Mu \type) { callsame; say self.find_method(type, "bla") } } }; class C does R { has $.bla }
13:51 camelia rakudo-moar 87d40a: OUTPUT«bla␤»
13:51 jnthn That seems a suitable point
13:52 SmokeMachine jnthn: great! thanks!
13:55 SmokeMachine m: role R { $?CLASS.HOW does role { method compose_repr(Mu \type) { callsame; say self.find_method(type, "bla") } } }; class C does R { has $.bla }; role S {}; class D does S {has $.bla}
13:55 camelia rakudo-moar 87d40a: OUTPUT«bla␤»
13:55 SmokeMachine just one bla... great! thanks!
13:57 jnthn Yeah, you're mixing into the individual meta-object instance, not altering the meta-type :)
13:59 Peter_R joined #perl6
14:02 melezhik joined #perl6
14:02 skids joined #perl6
14:06 abraxxa joined #perl6
14:13 khw joined #perl6
14:15 * [Coke] should go get moar coffee.
14:17 abraxxa moar is always good!
14:19 timotimo m: say 1920 / 1080; say 460 / 215
14:19 camelia rakudo-moar 87d40a: OUTPUT«1.777778␤2.139535␤»
14:19 timotimo enh :\
14:23 Cabanossi joined #perl6
14:23 curt__ joined #perl6
14:24 xtreak joined #perl6
14:26 fluca1978 joined #perl6
14:27 dugword joined #perl6
14:33 hoelzro joined #perl6
14:37 Geth doc/master: 4 commits pushed by coke++
14:37 Geth doc/master: 0ab4b112d2 | remove trailing whitespace…
14:37 Geth doc/master: 2bc4419053 | remove trailing whitespace…
14:37 Geth doc/master: b1f05d2760 | expand abbr…
14:37 Geth doc/master: c17ac0beaa | fix typos…
14:37 Geth doc/master: review: https://github.com/perl6/doc/compare/c0353c2305...c17ac0beaa
14:42 melezhik_ joined #perl6
14:42 melezhik_ Hi!
14:43 literal joined #perl6
14:43 avar joined #perl6
14:43 avar joined #perl6
14:44 melezhik_ how one may interpolate varibale into here string?
14:45 [Coke] have you read through https://docs.perl6.org/language/quoting#index-entry-quote_heredocs_%3Ato-Heredocs%3A_%3Ato yet?
14:45 [Coke] There's an example there that shows an interpolation.
14:45 [Coke] (searching for "heredoc" instead of "here string" finds that)
14:47 melezhik_ Coke: thanks
14:47 melezhik_ it will be qq:to/END/
14:49 Bucciarati joined #perl6
14:49 bwisti joined #perl6
14:52 KDr2 joined #perl6
15:05 Actualeyes joined #perl6
15:12 travis-ci joined #perl6
15:12 travis-ci Doc build passed. Will "Coke" Coleda 'fix typos'
15:12 travis-ci https://travis-ci.org/perl6/doc/builds/196602501 https://github.com/perl6/doc/compare/c0353c23054a...c17ac0beaade
15:12 travis-ci left #perl6
15:14 cdg_ joined #perl6
15:21 astj joined #perl6
15:25 * brokenchicken sighs at https://twitter.com/walt_man/status/825808835558461440
15:25 sena_kun joined #perl6
15:26 brokenchicken Wonder if it's invevitable this channel will eventually also turn sour when it grows to more people.
15:26 sena_kun
15:28 timotimo i don't think it can be prevented forever, but we'll definitely try to keep it nice in here for as long as humanly possible
15:28 timotimo humanly or robotically, i guess
15:29 brokenchicken IME it's usually some regular/op who starts going apeshit and others don't do anything about it because they're a regular/op.
15:30 * brokenchicken hopes there aren't any logs of his time as op in #css :P
15:30 timotimo how about this
15:30 timotimo i say
15:30 timotimo well, if that's your opinion you can just go fuck yourself
15:30 timotimo and you say
15:30 timotimo timo, that's way out of line, please leave your computer and calm down for a bit before you chat again
15:30 timotimo also, please apologize, timo
15:31 brokenchicken People telling me to "relax" or "calm down" when I'm pissed off just pisses me off even more :P
15:32 timotimo hm, true
15:32 SmokeMachine jnthn: that worked on my code! thanks!
15:33 timotimo can we somehow condition our ircers to respond to abusive people semi-automatically?
15:38 Cabanossi joined #perl6
15:42 pyrimidine joined #perl6
15:47 jast my eperience has been that while small squabbles will always happen at some point, all in all it's perfectly possible for a big channel to stay human
15:53 sammers joined #perl6
15:55 vreg joined #perl6
15:57 dugword joined #perl6
16:01 perlpilot Have you guys seen that talk by Clay Shirky on where he talks about the Shinto shrine being rebuilt ever 20 years or so?  If not, here it is: https://www.youtube.com/watch?v=Xe1TZaElTAs&amp;eurl    The exact same thing applies to IRC channels.   We rebuild it every day how we want it to be.  We just need to make sure we're diligent in putting more of the "good stuff" in keeping the "bad stuff" out (though some will sneak in because we're human)
16:02 japhb brokenchicken: Is there anything bystanders can say that *does* calm you down when you're pissed off?
16:05 cdg joined #perl6
16:07 sena_kun joined #perl6
16:07 perlpilot japhb: "Help!  We need an op to kick brokenchicken!"  ;->  It might not calm him down, but the net effect on the channel could be positive anyway  ;)
16:08 cdg_ joined #perl6
16:11 brokenchicken japhb: "you're being a dick"
16:12 cdg joined #perl6
16:13 japhb brokenchicken: Do you find it better to say that in PM or in channel?
16:15 brokenchicken japhb: in channel
16:15 cdg__ joined #perl6
16:16 pyrimidine joined #perl6
16:17 japhb brokenchicken: Interesting.  That means people need to keep a map of human => calming method, because there are definitely some people for whom saying "you're being a dick" in channel would *really* set them off, precisely the opposite of you.
16:19 brokenchicken .oO( sounds like we need another bot... )
16:19 * japhb wonders if we could have a "safe word" for in-channel calming of regulars, that we all agree will work on us ...
16:19 brokenchicken :)
16:19 brokenchicken +1
16:19 moritz shenenigans?
16:20 * japhb initially thought "eggplant", because it's an intrinsically humorous word, but then emoji went and ruined it for us
16:21 timotimo hm, isn't eggplant the best emoji?
16:21 moritz is eggplanting the new bikeshedding?
16:21 japhb It just drags too much cultural baggage with it
16:22 japhb shenanigans is a good word, but for some reason I want to keep that available for describing hacky code
16:23 Cabanossi joined #perl6
16:24 * japhb goes AFK
16:25 pyrimidine joined #perl6
16:27 * [Coke] remembers shenanigans from "super troopers".
16:28 moritz maybe "shiboleet" would be better: https://xkcd.com/806/ :-)
16:30 perlpilot moritz++
16:30 brokenchicken hehe moritz++
16:30 dugword joined #perl6
16:36 ocbtec joined #perl6
16:44 astj joined #perl6
16:44 agentzh joined #perl6
16:52 b2gills brokenchicken: Knowing that telling you to calm down, pisses you off further. I would still do it, if for no other reason than to let the other person know that this type of behaviour is not the norm.
16:54 b2gills How about we just tell anybody that is being persnickety that they are currently being LTA
17:14 TimToady masak: Speaking of gravity, both Texans and Aussies would be insulted at your categorization of my hat.
17:24 girafe joined #perl6
17:26 jdv79 where's the good vim perl6 highlight stuff?  my vim is too janky
17:26 * jdv79 is tempted to turn it off
17:28 timotimo the vim highlighter is only bad if you have a line that contains many minus signs
17:28 timotimo i have to ctrl-c every time i scroll somewhere where there's a line like that
17:34 brokenchicken b2gills: that sounds very strange to me :) You wish to indicate to one person the behaviour is not the norm by deliberately soliciting it from the other person :)
17:36 astj joined #perl6
17:36 pmurias joined #perl6
17:37 jdv79 timotimo: huh.  mine just slows down over certain lines.  like a inconsistenly bumpy road.
17:37 jdv79 not many minus signs
17:38 timotimo hm
17:39 jdv79 i'll try installing the newest plugin
17:42 pyrimidine joined #perl6
17:43 duncan_dmg left #perl6
17:45 zakharyas joined #perl6
17:48 FROGGS joined #perl6
17:49 jdv79 huh, still a little janky
17:49 jdv79 when running the cursor over code
17:49 jdv79 w/e
17:52 pyrimidine joined #perl6
18:05 pyrimidine joined #perl6
18:08 Cabanossi joined #perl6
18:15 nebuchadnezzar joined #perl6
18:23 WambaSH joined #perl6
18:25 wamba joined #perl6
18:26 agentzh joined #perl6
18:37 domidumont joined #perl6
18:44 wamba joined #perl6
18:52 Tonik joined #perl6
18:58 lostinfog joined #perl6
19:04 cibs joined #perl6
19:20 lukaramu joined #perl6
19:20 labster joined #perl6
19:20 kurahaupo__ joined #perl6
19:20 SmokeMachine brokenchicken: everything has changed on perl7 again?
19:24 sena_kun SmokeMachine, it's rapid development in action. ;)
19:28 SmokeMachine :)
19:30 kyan joined #perl6
19:31 agentzh joined #perl6
19:36 astj joined #perl6
19:37 sena_kun Actually, it is kind of impressive how a small compiler can be written in 300 loc. With borrowed (AFAIK) AST. And with an already written execution platform. And with a grammar instead of some parser. I wrote a simple functional language this winter, but with a parser from scratch, pretty-printer, execution environment and such it has grown in ~600 loc. And it was really bad and incomplete implementation.
19:38 jameslenz joined #perl6
19:39 cognominal joined #perl6
19:44 rindolf jdv79: hi
19:51 brokenchicken sena_kun: yup. And it comes with all the profiles and debug outputs Rakudo comes with!
19:51 brokenchicken *profilers
19:51 perlawhirl joined #perl6
19:52 * lizmat starts working on the P6W
19:52 lizmat so if you have any news you think I missed, let me know!
19:53 cdg joined #perl6
19:53 stmuk_ I'm hoping to get a R* release out in the next hr or so
19:54 lizmat well, I'll be busy for another hour so, I think  :-)
19:54 cdg_ joined #perl6
19:55 sena_kun brokenchicken, judging by the brief looking at the code, more precisely is it just a translator from your code text to QAST ops?
19:58 st_elmo joined #perl6
19:59 brokenchicken sena_kun: nqp is a compiler-building toolchain. I've used it to build a compiler. Not sure what you mean by "just a translator"
19:59 stmuk_ 007 seems broken
19:59 stmuk_ Could not locate compile-time value for symbol Val::Array
19:59 lizmat stmuk_: feels like a lexical use issue ?
20:00 lizmat paging masak
20:00 sena_kun brokenchicken, just my terminology-related nonsense, nevermind it. ;)
20:08 cale2 joined #perl6
20:09 pyrimidine joined #perl6
20:12 SmokeMachine w for weekly?! I thought that was this https://github.com/zostay/P6W
20:14 lizmat SmokeMachine: yeah, the Perl 6 Weekly
20:15 pyrimidine joined #perl6
20:15 SmokeMachine lizmat: you are doing a great job on that!
20:15 lizmat SmokeMachine: thank you  :-)
20:23 cdg joined #perl6
20:25 SmokeMachine is there any module that implements p6w?
20:26 jdv79 rindolf: sup?
20:27 cdg_ joined #perl6
20:28 stmuk_ http://rakudo.org/2017/01/30/announce-rakudo-star-release-2017-01/
20:28 rindolf jdv79: I investigated and wrote a fix for an inkscape crash the other day
20:28 rindolf jdv79: a whole day spent to produce an 8 lines patch
20:36 SmokeMachine November 2016 release of “Rakudo Star”?
20:37 SmokeMachine stmuk_: ^^
20:37 astj joined #perl6
20:39 cdg joined #perl6
20:39 kurahaupo_ joined #perl6
20:42 cdg__ joined #perl6
20:42 dalek perl6.org: d5169ac | (Steve Mynott)++ | source/ (2 files):
20:42 dalek perl6.org: Rakudo Star 2017.01
20:42 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/d5169accbd
20:42 yoleaux 29 Jan 2017 09:49Z <nine> dalek: Please switch this bot to Geth
20:43 espadrine_ joined #perl6
20:47 stmuk_ SmokeMachine: yes I've just had that pointed out to me in an email and I've fixed the website announce
20:50 stmuk_ I guess noone proof read it in the week before the release!
20:50 wamba joined #perl6
20:52 stmuk_ for the next one I'll remove some of the hardcoded dates and versions
20:52 jp_ joined #perl6
20:54 jdv79 rindolf: cool
20:54 rindolf jdv79: how are you doing?
20:56 pyrimidine joined #perl6
20:57 stmuk_ I can't face http://rakudo.org/how-to-get-rakudo right now but will do tomorrow if noone else gets there first!
21:04 brokenchicken Hm, took me a bit to notice x86 Win Star is a year old.
21:04 [Coke] .tell dalek please switch this bot to use Geth.
21:04 yoleaux [Coke]: I'll pass your message to dalek.
21:04 stmuk_ brokenchicken: I have wondered if it should be removed
21:05 [Coke] at this point, I would say yes. maybe update the README to explain why.
21:05 stmuk_ brokenchicken: oh thanks for the automatic display on http://rakudo.org/downloads/star/
21:06 [Coke] brokenchicken++
21:06 [Coke] stmuk++
21:10 jdv79 rindolf: nothing amazing.  trying to golf a p6 bug atm.
21:10 TEttinger joined #perl6
21:10 rindolf jdv79: ah, good luck with that?
21:11 rindolf jdv79: does it happen with rakudo/moarvm?
21:11 _28_ria joined #perl6
21:11 jdv79 ues
21:11 jdv79 *yes
21:12 jdv79 but right now i can only repro it in a non-trival piece of code
21:12 jdv79 of course
21:18 cdg joined #perl6
21:25 timotimo oh my gosh i have internet access!
21:26 brokenchicken What luck... Went to buy Witcher III game and turns out it's on a "daily deal" today and is 40% off.... And the best part? Turns out I already bought it last May and just forgot about it :P
21:26 brokenchicken timotimo: welcome to civilization!
21:31 cdg_ joined #perl6
21:35 cdg joined #perl6
21:41 aindilis joined #perl6
21:43 okeuday_bak joined #perl6
21:44 cdg_ joined #perl6
21:44 okeuday_bak If I have "use 5.010;", in some perl5 code, won't perl6 execute the source code as perl5 code?
21:44 brokenchicken okeuday_bak: no, Perl 6 is an entirely different language
21:45 brokenchicken buggable: eco perl5
21:45 buggable brokenchicken, Found 4 results: Digest::MD5, Web::Scraper, Inline::Perl5, Pod::Perl5. See http://modules.perl6.org/#q=perl5
21:45 brokenchicken buggable: eco inline::perl5
21:45 buggable brokenchicken, Inline::Perl5 'Use Perl 5 code in a Perl 6 program': https://github.com/niner/Inline-Perl5
21:45 brokenchicken See that ^
21:45 okeuday_bak brokenchicken: I understand perl6 is separate, but older information appeared to indicate that perl6 would still accept perl5 source code, but I don't remember where I read about that
21:45 agentzh joined #perl6
21:46 brokenchicken okeuday_bak: Inline::Perl5 provides *interoperability* which is mandated by the specification, but that doesn't mean you can just write Perl 5 code and it'll work.
21:46 okeuday_bak brokenchicken: what does it mean then?
21:47 stmuk_ okeuday_bak: that was the "v5" project which I dont think has progressed recently
21:47 brokenchicken okeuday_bak: that if you want to use Perl 5 modules or code, you use Inline::Perl5
21:47 okeuday_bak stmuk_: k
21:48 okeuday_bak brokenchicken: k, so you must always call through Perl6 to use Perl5, and only through that extra dependency
21:48 stmuk_ https://github.com/rakudo-p5/v5
21:49 perlawhirl joined #perl6
21:49 perlpilot or just use Perl 5 directly without Perl 6 at all  :-)
21:49 lizmat I think the main problem of the v5 project is to target which version of Perl 5
21:49 lizmat especially with all of the "recent" syntactic additions such as postderef syntax
21:50 stmuk_ I recall there was a basic issue with trying to run perl 5 tests
21:50 okeuday_bak tis ok, I mainly wanted to check if I could test perl5 code with perl6, to see what would happen
21:50 RabidGravy am I the only person who finds the postfix deref ugly
21:50 stmuk_ wasn't it something to do with "goto"?
21:50 lizmat RabidGravy: no
21:51 RabidGravy good
21:51 stmuk_ RabidGravy: I thought it was pointless tinkering like much of the perl 5 changes of late
21:51 RabidGravy people started to use it at work and I just want to remove it
21:53 perlpilot stmuk_: I don't think it was pointless.  It was done for a similar reason P6 moved the regex modifiers to the front I think.  Only there they *wanted* the end-weight because of how the expression reads
21:53 alimon joined #perl6
21:53 perlpilot (but ... it is ugly)
21:54 bjz joined #perl6
21:55 okeuday_bak left #perl6
22:02 timotimo lied
22:02 timotimo internet connection is super terrible
22:03 labster joined #perl6
22:05 perlawhirl joined #perl6
22:09 drbojingle joined #perl6
22:11 brokenchicken Ugly? The ->*@ is much nicer than @ with braces wrapping the entire line
22:11 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/01/30/2017-05-a-week-of-blue-mondays/
22:11 brokenchicken wooo \o/
22:12 lizmat also:  http://shop.oreilly.com/product/0636920065883.do   # Think Perl 6   :)
22:13 brokenchicken oh wow, another book!
22:13 gfldex i'm do not agree to the colouring of that butterly!
22:13 perlpilot Hmm.  There will be too many butterflies at this rate.
22:13 rmusial joined #perl6
22:14 brokenchicken huggable: books
22:14 huggable brokenchicken, "Perl 6 At A Glance"  https://deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": https://leanpub.com/perl6 (can order preview digital copies)
22:14 perlpilot perlpilot's law of Perl 6 books -- everyone wants the butterfly
22:14 brokenchicken huggable: books :is: "Perl 6 At A Glance"  https://deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": https://leanpub.com/perl6 (can order preview digital copies) ; "Think Perl 6: How to Think Like a Computer Scientist": http://shop.oreilly.com/product/0636920065883.do
22:14 huggable brokenchicken, Added books as "Perl 6 At A Glance"  https://deeptext.media/perl6-at-a-glance/ (print only for now); "Perl 6 By Example": https://leanpub.com/perl6 (can order preview digital copies) ; "Think Perl 6: How to Think Like a Computer Scientist": http://shop.oreilly.com/product/0636920065883.do
22:15 lizmat I understand there will be early edition e-books available in a few days
22:16 brokenchicken sweet
22:20 brokenchicken lizmat++ good weekly
22:22 gfldex brokenchicken: did you doc sub `foo:bar<42> {}` ?
22:24 cdg joined #perl6
22:28 gfldex m: my &c = sub foo:bar<42> { say 'oi‽' }; my $a = 42; foo:bar«$a»()
22:28 camelia rakudo-moar 3e28b1: OUTPUT«Use of uninitialized value $a of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in code  at <tmp> line 1␤5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤…»
22:29 gfldex m: my &c = sub foo:bar<42> { say 'oi‽' }; my $a = 42; foo:bar«42»()
22:29 camelia rakudo-moar 3e28b1: OUTPUT«oi‽␤»
22:29 gfldex am I asking too much?
22:30 geekosaur gfldex, I think that is compile time
22:31 gfldex m: my &c = sub foo:bar<42> { say 'oi‽' }; constant $a = 42; foo:bar«$a»()
22:31 camelia rakudo-moar 3e28b1: OUTPUT«oi‽␤»
22:31 gfldex neat :->
22:32 geekosaur m: my &c = sub foo:bar<42> { say 'oi‽' }; BEGIN my $a = 42; foo:bar«$a»()
22:32 camelia rakudo-moar 3e28b1: OUTPUT«oi‽␤»
22:33 cdg_ joined #perl6
22:33 gfldex m: class C { method m:a<42> { say 'oi!' } }; C.new.(m:a<42>)();
22:33 camelia rakudo-moar 3e28b1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Adverb a not allowed on m␤at <tmp>:1␤------> 3 m:a<42> { say 'oi!' } }; C.new.(m:a<42>7⏏5)();␤»
22:34 gfldex m: class C { method m:a<42> { say 'oi!' } }; C.new.m:a<42>();
22:34 camelia rakudo-moar 3e28b1: OUTPUT«No such method 'm' for invocant of type 'C'␤  in block <unit> at <tmp> line 1␤␤»
22:35 brokenchicken Oh, cool. Didn't know you could use variables there
22:35 gfldex constant variables in that case :)
22:36 gfldex and it may not be in roast (didn't check)
22:37 brokenchicken m: BEGIN my $z = 42; my &c = sub foo:bar«$z» { say 'oi‽' }; BEGIN my $a = 42; foo:bar«$a»()
22:37 camelia rakudo-moar 3e28b1: OUTPUT«oi‽␤»
22:37 lolo78 joined #perl6
22:38 astj joined #perl6
22:38 brokenchicken gfldex: but no, I didn't document anything. It was more of a "the custom op category is too eager in rejecting stuff so it hits subs with extended colonpairs" fix: https://github.com/rakudo/rakudo/commit/48abeeef268f9f1167eb97e563f977278063462a
22:39 brokenchicken and doesn't affect methods/grammar things since these worked on them already
22:41 pyrimidine joined #perl6
22:52 tardisx joined #perl6
23:13 samcv I know I can get a variables name using .VAR.name. but what if I want to set a variable programmatically to something
23:13 samcv at runtime
23:13 samcv without using eval
23:17 jraglin joined #perl6
23:18 geekosaur m: my $a = 5; my $b = '$a'; ::($b) = 6; dd $a
23:18 camelia rakudo-moar 3e28b1: OUTPUT«Int $a = 6␤»
23:18 samcv nice
23:23 kyan joined #perl6
23:29 travis-ci joined #perl6
23:29 travis-ci Doc build passed. Antonio Quinonez 'added newlines'
23:29 travis-ci https://travis-ci.org/antquinonez/doc/builds/196744792 https://github.com/antquinonez/doc/commit/0c6a786b4310
23:29 travis-ci left #perl6
23:29 lep-delete joined #perl6
23:38 Cabanossi joined #perl6
23:38 Vynce joined #perl6
23:40 timotimo home again, where the internet's good
23:47 pyrimidine joined #perl6
23:52 brokenchicken \o/

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo