»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:49 veesh left 01:02 veesh joined 01:22 molaf left 01:24 veesh left 01:35 molaf joined 01:37 veesh joined 01:38 Cabanossi left 01:40 Cabanossi joined 01:48 john_parr_ is now known as john_parr
discord6 <RaycatWhoDat> so, uh 01:49
<RaycatWhoDat> quick question
<RaycatWhoDat> Was everyone here Perl diehards or did y'all come over from another language?
timotimo i was a perl hater, i came over from python
discord6 <RaycatWhoDat> How long did it take you to get fluent in Perl? 01:50
<RaycatWhoDat> 'Cause the sheer number of routines on three characters or less is doin' my head in
timotimo can't remember, it's been a long while
discord6 <RaycatWhoDat> drat
timotimo it wasn't too slow
i still look up routines and methods on the docs every now and then, though 01:51
anyway, gotta go to bed :)
seeya
discord6 <RaycatWhoDat> Good night! 01:52
tobs I programmed in C and Gambas a lot in my teens, then took a break due to studies and came back by learning Perl 5 (which was really fast thanks to Modern Perl). Soon after I started with Perl 6. For me, Perl is the last language (family) I'll ever wanna use 01:55
01:58 eseyman left 02:00 eseyman joined
Juerd RaycatWhoDat: There is no shame in having the documentation open all the time while programming. 02:02
People who don't fear the docs, often write much better code. Exceptions exist but I think they're rare. 02:04
tobs I guess the main deal in such a big language is to learn where to expect what functionality. There's this notion of "strange consistency" in Perl 6 and consulting the docs often does its part in overcoming the "strange". 02:08
Elronnd @RaycatWhoDat I never knew perl5 (although I still feel like I should learn it). Came from a background of mostly c and d 02:11
02:17 dogbert11 left
discord6 <Rogue> @RaycatWhoDat I did it over a very long period, not really trying super hard to learn the whole thing at any point 02:28
<Rogue> over time I accumulated the knowledge, especially by watching conference talks
<RaycatWhoDat> Got it. Thanks, all! 02:40
02:44 Cabanossi left 02:53 Cabanossi joined 03:07 rbt joined 04:07 committable6 left, statisfiable6 left, bloatable6 left, nativecallable6 left, evalable6 left, coverable6 left, squashable6 left, notable6 left, reportable6 left, tellable6 left, shareable6 left, greppable6 left, releasable6 left, unicodable6 left, benchable6 left, bisectable6 left, quotable6 left, benchable6 joined, rbt left, rbt joined 04:08 evalable6 joined, ChanServ sets mode: +v evalable6, squashable6 joined, nativecallable6 joined, ChanServ sets mode: +v nativecallable6, releasable6 joined, epony left 04:09 sno left, tellable6 joined, committable6 joined, ChanServ sets mode: +v committable6 04:10 shareable6 joined, ChanServ sets mode: +v shareable6, unicodable6 joined, ChanServ sets mode: +v unicodable6, coverable6 joined, epony joined, greppable6 joined, bloatable6 joined, notable6 joined, bisectable6 joined, ChanServ sets mode: +v bisectable6 04:11 reportable6 joined, quotable6 joined, ChanServ sets mode: +v quotable6 04:12 molaf left, statisfiable6 joined 04:15 thowe left 04:55 eythian left 04:56 eythian joined, eythian left, eythian joined 05:00 eythian left, isBEKaml joined 05:17 isBEKaml left 05:22 eythian joined 05:32 sauvin joined 05:33 wamba joined
Geth_ doc: b592d12957 | (JJ Merelo)++ | template/footer.html
Redo footer

This closes #3031, although I'm not sure this file is actually used by documentable now...
05:35
05:35 jmerelo joined
Geth_ doc: e68c06846e | (JJ Merelo)++ | doc/Type/Junction.pod6
Change wording, refs #3030
06:08
synopsebot Link: doc.perl6.org/type/Junction
06:16 jmerelo left 06:28 wamba left 06:35 john_parr_ joined 06:36 john_parr left, john_parr_ is now known as john_parr 06:38 Doc_Holliwood left, domidumont joined, kurahaupo left 06:40 kurahaupo joined 07:01 wamba joined 07:12 [Coke] left 07:16 abraxxa joined 07:26 wamba left 07:27 Doc_Holliwood joined 07:41 dakkar joined 07:42 reach_satori left 07:49 zakharyas joined 08:01 aindilis left 08:12 robertle joined 08:49 Black_Ribbon left 08:56 SyrupThinker joined
Geth_ perl6.org/master: 5 commits pushed by Alexey++, (Juan Julián Merelo Guervós)++ 08:58
08:59 sena_kun joined
discord6 <michalm> Hi. I am just wondering. I would like to use Perl5 lib for connecting into RocksDB. So Perl6 would use it as a DB connector. RocksDB is really fast...i mean...really fast. How much slower it would be to use Perl5 inline for each putting and getting something from the database? Is there any kind of delay made by using inline Perl5? 09:00
AlexDaniel michalm: anything that happens on the perl5 or rocksdb side will remain fast, but each call from perl6 will be slow 09:01
michalm: you should probably measure how slow it is 09:02
iirc there were many improvements to this, so it could be that it's already fast enough for you
discord6 <michalm> Is there any other way to use perl5 lib as a something more native? 09:05
AlexDaniel that'd be a perl6 module with nativecall bindings for RocksDB 09:07
nobody has done that so far, I guess it just needs a volunteer
but, I mean… how slow is slow for you? :) 09:08
09:12 __jrjsmrtn__ left
discord6 <michalm> Random writes on a level of 50k ops/s, sequential writes on a level of 100k ops/s would be nice. 09:13
09:25 __jrjsmrtn__ joined 09:40 netrino joined 09:46 reach_satori joined 09:51 netrino left 09:55 wamba joined 10:02 wamba left 10:08 zakharyas left 10:09 wamba joined 10:19 mowcat joined 10:21 scimon joined, pat_js joined 10:22 reach_satori_ joined 10:25 reach_satori left 10:29 [Coke] joined 10:30 wamba left, wamba joined 10:38 saorge left 10:40 saorge joined 10:49 zakharyas joined 10:50 saorge left, saorge joined 10:52 saorge left 10:53 saorge joined
discord6 <theangryepicbanana> @RaycatWhoDat I cane from a variety of languages like Ruby and Scala 10:54
<theangryepicbanana> Tcl's standard functions are vast and badly named, so Perl 6 wasn't that bad 10:55
11:10 rbt left, rbt joined 11:17 xinming_ left 11:18 xinming_ joined 11:19 __jrjsmrtn__ left
AlexDaniel michalm: yeah, maybe not extremely fast but still pretty fast. Try it maybe? 11:20
michalm: either way I'm interested to know how many ops/s you'll get 11:21
11:26 __jrjsmrtn__ joined
timotimo i mean, Text::CVS with Inline::Perl5 still beats the pure-perl6 version :) 11:38
even though it does at least one call per line
AlexDaniel hmm
timotimo but it looks like rocksdb has a c++ api, which is a little more "interesting" to bind with NativeCall 11:39
11:42 mowcat left
discord6 <michalm> True, but at the end it would take more time. RocksDB is a little bit more complicated then LevelDB, but way more powerful. How difficult it would be to use Perl5 bindings and change them into Perl6 bindings? 11:42
timotimo the way perl5 bindings are made is very different from how you bind with perl6 11:45
but binding stuff with perl6 is much easier
discord6 <theangryepicbanana> unless you want to interface with C++ 11:52
timotimo binding C++ stuff with perl5 is equivalent to first building a C interface library and binding that 11:53
discord6 <theangryepicbanana> no I meant when binding C++ to Perl 6
timotimo at least in perl6 you can directly bind :)
discord6 <theangryepicbanana> well sure 11:54
guifa Ooh, I think I just figured out how to better integrate the localized data matching 11:56
guifa realized he can totally subclass Regex to create a token that uses a non-regex internal definition 11:57
and I bet that could token be exported via a “use Intl::CLDR::DateTime::Regex” inside of a grammar definition to enable <local-date> 11:58
that token could*
discord6 <RaycatWhoDat> So, if I were to write an article on Perl 6, what would you guys say are its best features? And which ones do other languages not have? 12:12
<Rogue> I would definitely include Supplies and concurrency stuff, and of course grammars and improved regexes
12:13 rbt left
sena_kun easy paralellism, react-whenever, continuations with gather/take, gradual typing out of the box, multimethods, laziness, metaobject protocol, _a lot_ of things are first-class citizens, e.g. parameters, powerful given/when, roles and OO "done right", sub EXPORT, traits + custom traits... 12:16
very powerful signatures
discord6 <Rogue> Oh yeah traits are radical 12:18
<Rogue> but you'll definitely have to explain that they're not what other languages call "traits"
timotimo true, though perl6 has those as well with roles 12:21
12:21 zakharyas left 12:23 gabiruh left 12:24 gabiruh joined 12:41 lucasb joined
discord6 <RaycatWhoDat> How would you sum up your "developer experience" with Perl 6? What sparks joy for you, if you will? 12:43
12:44 pmurias joined
pmurias why do we have a Mu.set_why method? 12:44
should it be documented and tested *or* removed?
hoelzro: hi 12:47
hoelzro: why do we need a .set_why on Mu?
ahh found in irc logs it that it is a sort of workaround from years ago 12:59
13:01 molaf joined 13:19 pmurias left 13:21 pmurias joined 13:22 cpan-p6 left 13:23 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 13:30 isBEKaml joined 13:39 Cabanossi left
discord6 <michalm> I am a quite new in Perl6 but from my point of view (I am using mostly Elixir and Rust)....Perl6 can be whatever you want. It is really flexible. This is a double edge sword because there are plenty of ways to do one thing. I can find Perl6 as a POC language in my tech-stack. 13:44
13:53 Cabanossi joined 14:00 zakharyas joined
discord6 <RaycatWhoDat> m: prompt "%s %s %s".printf(1, 2, 3); 14:06
evalable6 1 2 3True
discord6 <RaycatWhoDat> Why does this output True?
timotimo printf already prints to the output 14:07
and returns true
you probably want sprintf there
discord6 <RaycatWhoDat> Ahhh
<RaycatWhoDat> Bless 14:08
14:08 molaf left
timotimo self.bless 14:08
14:08 knarkhov joined
pmurias SmokeMachine: how do we want to have .defined work on js objects? 14:13
discord6 <RaycatWhoDat> You probably want to check on undefined and assume null to be "defined". 14:14
<RaycatWhoDat> But, that's just me.
SmokeMachine pmurias: what about something like this? github.com/FCO/MemoizedDOM/blob/51...todo.p6#L3 14:15
Doc_Holliwood Ha!
pmurias SmokeMachine: also thought always returning True would work 14:19
SmokeMachine pmurias: at least that was what I've used on MemoizedDOM... 14:20
s/I/we/g
pmurias there isn't a distinction between constructors and regular js functions so I think they should be treated as defined too 14:21
SmokeMachine: both undefined and null should be converted to Mu? 14:25
SmokeMachine pmurias: Mu or Nil? maybe undefined => Mu, null => Nil? 14:26
discord6 <RaycatWhoDat> I like that one 14:27
<RaycatWhoDat> Although I dunno what Mu is
<RaycatWhoDat> Is it everything or nothing?
SmokeMachine no... if it is stored on a var it will restore its default value... I think we shouldn't use Nil... :( 14:28
RaycatWhoDat: is the parent of all classes...
pmurias SmokeMachine: good point about not using Nil
14:29 robertle left
SmokeMachine RaycatWhoDat: docs.perl6.org/type/Mu 14:29
pmurias distinguishing if a js method returns null or undefined isn't a common thing right?
discord6 <RaycatWhoDat> null is just a return value, yeah? A function would normally return undefined. 14:30
14:30 robertle joined
SmokeMachine pmurias: I don't know if it make sense... but undefined and null aren't the same meaning... would it make any sense if null return Mu and undefined return Any? 14:30
discord6 <Rogue> Don't we have Nil already? 14:32
14:32 wamba left
discord6 <Rogue> undefined definitely should return Any given the behavior of everything else in the system 14:33
vrurg m: my $foo := Nil; say $foo.WHAT 14:34
camelia Nil
vrurg ^ you can return Nil.
it's just you'd have to bind instead of assigning it.
pmurias RaycatWhoDat: I don't understand the question
14:34 mowcat joined
jdv79 vrurg: it appears submodule.recurse=true is not compatible with rebase so "git pull --rebase" or "pull.rebase=true" will leave submodules alone in the current setup 14:34
pmurias m: my $foo = Nil; say $foo.WHAT
camelia (Any)
pmurias m: my $foo = Mu; say $foo.WHAT
camelia (Mu)
vrurg jdv79: true, unfortunately. Sometimes it works, but not always. 14:35
jdv79 that would have been a reason i would not have used submodules
*sigh*
that breaks some peoples workflows
vrurg jdv79: but as I mentiond earlier, there is no better way to share code among projects. :( 14:36
jdv79 there are many ways to share code between projects - that's not true 14:37
vrurg jdv79: maybe you could turn off recursion (leave rakudo.initialized alone or Configure would reset recusrsion again) and do updates manually or in a script.
jdv79 anyway, i guess i'll try to work around it with doc updates or hooks or something for me and people like me 14:38
vrurg jdv79: there're many ways, I know. But which one would be better?
jdv79 was this limittation of git submodules known when they were chosen to be used? 14:39
vrurg jdv79: no. But even if it would be – there're already submodules in both nqp and moar. 14:40
jdv79 *that* concerns me 14:41
vrurg jdv79: And unless patrickb has some plans for further changes in build, I'm for now done with what was planned. I don't expect any more changes to nqp-configure on my side for a long time.
vrurg is afk
discord6 <RaycatWhoDat> Wrote a small script. Any comments on how I can shorten it? gist.github.com/RayMPerry/bb94cad1...b193766e79 14:49
SmokeMachine Rogue, Why Any and not Mu? 14:54
sena_kun `Str :$folder is require` is just `:$folder!`
with type, of course 14:55
SmokeMachine m: my $foo := Nil; say $foo.WHAT; my $a is default(42) = 13; sat $a; $a = $foo; say $a
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
sat used at line 1. Did you mean 'say', 'set'?
sena_kun RaycatWhoDat why sprintf and not plain interpolation? `to spinoff $folder from $branch` will do what you want
RaycatWhoDat also, given you just start commands and don't need to process results, you can have invocations in array of arrays of strings and just call all of them in a loop 14:57
discord6 <RaycatWhoDat> What do you mean?
sena_kun to factor out `return 1 if so $_` part
SmokeMachine m: my $foo := Nil; say $foo.WHAT; my $a is default(42) = 13; say $a; $a = $foo; say $a
camelia Nil
13
42
sena_kun RaycatWhoDat mean by what, sorry? 14:58
SmokeMachine vrurg: ^^
discord6 <RaycatWhoDat> sena_kun: "invocations in array of arrays of strings and just call all of them in a loop"
<RaycatWhoDat> Is there a specific construct for that or is it what I think it is?
sena_kun nothing specific, so likely what you think 14:59
ah, about sprintf <- will it escape your input?
because otherwise that's a security issue
discord6 <RaycatWhoDat> I don't think so.
<RaycatWhoDat> I wonder if git escapes characters 15:00
<RaycatWhoDat> Otherwise, time to look up escaping routines
sena_kun m: my @commands = [["fetch, "foo", $bar], ["reset", "foo"]]; for @commands -> @command { my $result = say 'git', |@command; #` ( <- not say, but `run`, also return 1 if $result; ) } 15:01
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my @commands = [["fetch, "7⏏5foo", $bar], ["reset", "foo"]]; for @com
expecting any of:
infix
infix stopper
statement…
sena_kun m: my @commands = [["fetch, "foo", "baz"], ["reset", "foo"]]; for @commands -> @command { my $result = say 'git', |@command; #` ( <- not say, but `run`, also return 1 if $result; ) }
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my @commands = [["fetch, "7⏏5foo", "baz"], ["reset", "foo"]]; for @co
expecting any of:
infix
infix stopper
statement…
sena_kun m: my @commands = [["fetch", "foo", "baz"], ["reset", "foo"]]; for @commands -> @command { my $result = say 'git', |@command; #` ( <- not say, but `run`, also return 1 if $result; ) }
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3but `run`, also return 1 if $result; ) }7⏏5<EOL>
sena_kun m: my @commands = [["fetch", "foo", "baz"], ["reset", "foo"]]; for @commands -> @command { my $result = say 'git', |@command; #`( <- not say, but `run`, also return 1 if $result; ) } 15:02
camelia gitfetchfoobaz
gitresetfoo
discord6 <RaycatWhoDat> Ah, gotcha.
tobs and then things like `run("git", "remote", "set-url", "origin", $repository)` can be written as `run <git remote set-url origin $repository>` 15:03
sena_kun with a nice escaping of input 15:04
added to that, that'd be nice
:)
lizmat doesn't the $repository require << >> ? 15:05
tobs lizmat: it does
lizmat oki
discord6 <RaycatWhoDat> oh, hey, it's lizmat
<RaycatWhoDat> howdy
tobs and I thought interpolation would take care of putting it into one item?!
but apparently doesn't
15:05 Sgeo joined
lizmat <foo> is an item, <foo bar> is a List 15:05
Altreus consistent
lizmat m: dd <foo>
camelia "foo"
lizmat m: dd <foo bar> 15:06
camelia ("foo", "bar")
lizmat m: my $bar = 42; dd <foo $bar>
camelia ("foo", "\$bar")
lizmat m: my $bar = 42; dd <<foo $bar>>
camelia ("foo", IntStr.new(42, "42"))
lizmat m: my $bar = 42; say <<foo $bar>> # clearer with say
camelia (foo 42)
tobs lizmat: I mean `run «touch $path»` will not do what I mean if $path contains a space. I was under the impression that $path would be an item in the list constructed by «», so that touch would create the file I intended. 15:07
15:07 pmurias left
lizmat m: my $bar = "bar baz"; say <<foo $bar>> # clearer with say 15:07
camelia (foo bar baz)
lizmat m: my $bar = "bar baz"; dd <<foo $bar>> 15:08
camelia ("foo", "bar", "baz")
lizmat I guess not
m: my $bar = "bar baz"; dd <<foo '$bar'>>
camelia ("foo", "\$bar")
tobs hum
15:08 Sgeo_ left
lizmat m: my $bar = "bar baz"; dd <<foo "$bar">> 15:08
camelia ("foo", "bar baz")
lizmat tobs ^^
15:09 wamba joined
tobs it's the shell all over again :/ 15:09
lizmat need double quotes to indicate single item
tobs but thanks
lizmat run <<touch '$path'>>
run <<touch "$path">>
should do what you want, if $path contains spaces 15:10
or does it not?
tobs it does
knarkhov Hi, Liz! Just want to say Hello 😎
tony-o tobs: you also want to escape any " that are in the string 15:11
or no?
seems no need to 15:12
15:12 pat_js left 15:16 dakkar left, dakkar joined 15:20 robertle left 15:24 robertle joined 15:26 isBEKaml left 15:29 aindilis joined, robertle left 15:31 Actualeyes joined, pat_js joined 15:33 domidumont left 15:37 jmerelo joined 15:39 mowcat left 15:44 robertle joined 15:48 robertle left
Doc_Holliwood that next release I hear is scheduled, will that be 6.e? 15:55
16:01 pat_js left
Doc_Holliwood mmh. the wikipedia article could need some love. 16:13
but i am not going to descend into that snake pit, no mum, not me
AlexDaniel Doc_Holliwood: there are rakudo releases and language releases. Every new rakudo release is simply faster and more stable 16:15
Doc_Holliwood: and these are more, uh, regular.
Altreus Send indy in
AlexDaniel Doc_Holliwood: I'm not sure when we'll have our next language release
16:16 dogbert11 joined
AlexDaniel Doc_Holliwood: probably 2020, or maybe very late 2019 if we're lucky 16:16
lizmat: <touch -->, $path
much easier and lesser chance to blow your foot off
Doc_Holliwood Can I specify the minimal language version in META6?
AlexDaniel Doc_Holliwood: yes: docs.perl6.org/language/modules#in...META6.json 16:17
Doc_Holliwood sorry. I meant rakudo version
AlexDaniel lizmat: btw there's also "perl" : "6.c" in META6.json 16:18
might as well mention it cuz we're tweaking the PR anyway
Doc_Holliwood Because, my module Scalar::History relies on a feature Liz just implemented 16:19
AlexDaniel (regardless of what comes out of the discussion about extensions, the idea of deprecating .t is not going through for sure)
16:25 scimon left, discoD joined 16:28 MasterDuke joined 16:33 dakkar left 16:37 mowcat joined 16:38 mowcat left 16:47 mowcat joined, reach_satori_ left 16:50 wamba left 16:51 wamba joined
discoD How should I feel about seeing 'New type Stash for Int is not a mixin type' when loading my module in the REPL? I started seeing this after I updated rakudo last night. 16:52
Everything still works, but I don't see the message when loading ecosystem modules in the REPL, which makes me wonder. I don't see the message when using the module from a script. Is this a bug I should golf and report?
jnthn discoD: Did you upgrade to the latest release, or a source build of HEAD? 16:55
discoD source build 16:56
This is Rakudo version 2019.07.1-357-gd00674b31 built on MoarVM version 2019.07.1-233-g270f1b0be
jnthn Hm, odd. I did see those in the past, but then haven't for a very long time.
Well, month or two, anyway 16:57
So I assumed it got fixed, but if you have it at HEAD, hmm.
discoD I've never seen it, so I wanted to ask. I don't think I'm doing anything too strange, and things still work. I'll mess around with it a bit. 16:58
17:02 chloekek joined 17:08 robertle joined
Geth_ doc: 5587b5d15e | (JJ Merelo)++ | doc/Type/Junction.pod6
Changes the example

I couldn't find a nice way to make it work with grep, so I've changed the example and the wording. Closes #3030
17:18
synopsebot Link: doc.perl6.org/type/Junction
17:20 Guest93 left 17:21 Guest93 joined 17:24 wildtrees joined, knarkhov left 17:25 wildtrees left, wildtrees joined
jmerelo m: .say for <a b c>.any 17:26
camelia (Mu)
jmerelo m: my $j = any "a", "b"; say $j; .say for $j 17:28
camelia any(a, b)
any(a, b)
jmerelo m: my $j = + any "2", "3"; say $j; .say for $j
camelia any(2, 3)
any(2, 3)
17:30 zakharyas left
tobs jmerelo: I don't think Junctions are iterable. Quoting the (dated) perlgeek.de/blog-en/perl-5-to-6/08...ions.html: Junctions are not sets; if you try to extract items from a junction, you are doing it wrong, and should be using a Set instead. 17:35
grep'ing or for'ing them will not give you the elements.
jmerelo tobs: oh but they are. 17:36
m: my $j = <a b>.any; gather for $j { .say }
camelia a
b
tobs I wonder if I'm in the wrong film today...
jmerelo tobs ... as long as you say the magic word...
Just posted that in Stackoverflow stackoverflow.com/questions/581220...-junctions 17:37
m: my $j = <a b>.any; for $j { .say }
camelia any(a, b)
jmerelo so, what gives?
tobs earlier today I was surprised by how interpolation into «»-quoted lists works, now Junctions are not black boxes anymore... 17:39
jmerelo m: my $j = <a b>.any; for $j.>>take { .say } 17:40
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing dot on method call
at <tmp>:1
------> 3my $j = <a b>.any; for $j.>>7⏏5take { .say }
expecting any of:
postfix
jmerelo m: my $j = <a b>.any; for $j>>.take { .say } 17:41
camelia take without gather
in block <unit> at <tmp> line 1
tobs I think but don't worry, the «» one is documented. It's just frustrating to see that you thought you knew something.
jmerelo m: my $j = <a b>.any; for gather $j>>.take { .say }
camelia a
b
tobs but in this case, I can still hope that it's an oversight
m: my $j = <a b>.any; my @guts = gather $j».take; dd @guts 17:44
camelia Array @guts = ["a", "b"]
jmerelo Is it possible that gather autothreads? Same as >>? 17:47
m: my $j = <a b>.any; for gather $j { .say } 17:48
camelia WARNINGS for <tmp>:
Useless use of $j in sink context (line 1)
jmerelo m: my $j = <a b>.any; gather do $j { .say }
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> 3my $j = <a b>.any; gather do $j7⏏5 { .say }
expecting any of:
inf…
jmerelo m: my $j = <a b>.any; gather while $j { .say }
camelia (signal XFSZ)(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)
(Any)…
17:54 wildtrees left 17:55 wildtrees joined
discord6 <Rogue> SmokeMachine: almost anytime something is undefined it ends up being an Any type object 18:07
<RaycatWhoDat> m: my @commands = [["status", "--verbose"]]; for @commands -> @command { say |@command; }; 18:08
evalable6 (exit code 1) Type check failed in binding to parameter '@command'; expected Positional but got Str ("status")
in block <unit> at /tmp/R6PfiVFPgd line 1
discord6 <RaycatWhoDat> What am I missing here? 18:09
<Rogue> looks like the brackets are collapsing somehow 18:12
<Rogue> I got around it by adding a comma
<Rogue> [['status', '--verbose'],]
<RaycatWhoDat> Tjat
<RaycatWhoDat> That's so weird* 18:13
<Rogue> Yeah I'm not sure what's causing that
<RaycatWhoDat> Does [[ do something in Perl 6?
<Rogue> it's not an assignment thing either
<Rogue> Maybe someone else will know
<Rogue> [[ is not special--I tried putting extra space between the brackets and it was the same 18:14
<RaycatWhoDat> Surely, it's not confusing it with the circumfix []
<RaycatWhoDat> I hope 😐
Doc_Holliwood how do I pass an Int by reference? 18:15
discord6 <RaycatWhoDat> You mean, the container?
Doc_Holliwood yes
SmokeMachine Rogue: every type object is undefined...
discord6 <Rogue> It's being passed by reference by default 18:16
<Rogue> It's just that things like += or whatever actually assign a new instance of Int into the container
Doc_Holliwood apparently not. my Scalar::History objects lose their history when I pass them into a function
SmokeMachine m: .defined.say for Any, Int, Str, Mu
camelia False
False
False
False
discord6 <Rogue> but for what you want to do (I assume), you want is rw on the parameter
tobs RaycatWhoDat: it's a consequence of the single argument rule. There's an example contained in a snippet here: docs.perl6.org/language/list#index...ument_Rule 18:17
Doc_Holliwood nah, i tried rw, then i get "Parameter '$n' expected a writable container, but got Int value" 18:18
tobs It's not explicitly stated there, but I guess you should think of the circumfix [] as iterating its argument. Then the rule applies.
discord6 <Rogue> Doc_Holliwood: How are you calling it
<Rogue> if you're calling it with a literal, that'll happen 18:19
SmokeMachine jmerelo: isn’t it “iterating” just because it is running the for once for each value?
discord6 <RaycatWhoDat> Interesting. Thanks for the literature, tobs
SmokeMachine m: sub bla($a) { $a.say }; bla <a b>.any
camelia a
b
Doc_Holliwood there. Line 74 18:20
pastebin.com/qgrMGGxH
discord6 <Rogue> Also Raycat you don't actually need the outer brackets, as ['a', 'b'], ['c', 'd'] will be a List on its own, which will get turned into an Array as it gets assigned into an @-sigiled variable
<Rogue> Also if it's all literals, you can do something nice like <status --verbose>, <whatever --however> 18:21
<RaycatWhoDat> buh 18:22
<RaycatWhoDat> perl6-mode isn't a fan of that
<RaycatWhoDat> But it works, so I dig it
<Rogue> Yeah I always reach for the word-quoting construct when I have string literals 18:23
<Rogue> there's also «» (aka <<>>)
18:24 sauvin left
discord6 <Rogue> «» adds quote protection and variable interpolation 18:24
jmerelo SmokeMachine: no idea. I think it's got something to do with autothread 18:25
discord6 <Rogue> so you can have spaces in your strings if you need
<Rogue> m: «hello hi 'hello world' 'other greetings'» eqv ('hello', 'hi', 'hello world', 'other greetings') 18:26
evalable6 WARNINGS for /tmp/T9DbRpTcwV:
Useless use of "eqv" in expression "«hello hi 'hello world' 'other greetings'» eqv ('hello', 'hi', 'hello world', 'other greetings')" in sink context (line 1)
discord6 <Rogue> m: say «hello hi 'hello world' 'other greetings'» eqv ('hello', 'hi', 'hello world', 'other greetings')
evalable6 True
discord6 <RaycatWhoDat> That's pretty sweet. 18:27
<Rogue> replace «» with <> and you'd have six strings, split very literally on spaces
Geth_ problem-solving: 999684ba5d | (Moritz Lenz)++ | README.md
No more moritz reviewer

see github.com/perl6/problem-solving/p...-535629589 for context
18:28
discord6 <Rogue> Doc_Holliwood: I think your issue is because you're binding $int to whatever Scalar::History.create(10, Int) returns 18:29
<Rogue> which, given the error, is probably a readonly container
Doc_Holliwood `is raw` looks promising
discord6 <Rogue> return returns a readonly, return-rw returns a rw container
<Rogue> any reason you're binding $int instead of assigning? 18:30
[Coke] moritz++
SmokeMachine m: sub bla(Any $a) { $a.say }; sub ble(Mu $a) { $a.say }; bla <a b>.any; ble <a b>.any
camelia a
b
any(a, b)
[Coke] tough call.
moritz it was. 18:35
[Coke] I made a much easier call not to try to put my name on the list. 18:38
18:38 Cabanossi left
jmerelo I started programming in Perl circa 1993 18:40
I still do, and I've written a lot of stuff.
But starting conversations with "Well, Perl 6 is not really the next version of Perl" gets tiring after a while. 18:41
Having a separate identity will help in the long run. Outside Google, it's almost impossible to search for perl 6 stuff without getting Perl results 18:43
18:44 Black_Ribbon joined, Cabanossi joined 18:45 TreyHarris left
jmerelo I understand there are risks. But I really am looking forward to seeing the change take place. 18:45
discoD jnthn: I took a closer look, and it was actually failing to load in the REPL while working fine in scripts. I nuked .precomp/ in the module source dir, and it started working in the REPL again. I've tested a few different commits of the module to rule out any changes I made, and I can't recreate the issue anymore. I'm out of my element here, but maybe it's an issue with precomp, uninstalled modules, and a new compiler version. no big deal 18:46
Doc_Holliwood Ok, progress. This works pastebin.com/qDvEQetq (lines 51 + )
However, I don't like the "is raw". Can I achieve the same from the caller side? 18:47
18:56 zakharyas joined 18:58 TreyHarris joined 19:01 jmerelo left 19:07 Cabanossi left, khisanth_ left, Itaipu_ left
Geth_ doc: c3c94206d9 | Coke++ | template/footer.html
whitespace
19:10
19:11 Cabanossi joined
discord6 <Rogue> Doc_Holliwood: again, is rw would work if you weren't binding the variable 19:11
Doc_Holliwood the binding is must though 19:12
no binding, no magic
19:12 mowcat left
Doc_Holliwood it's ok though. 19:12
discord6 <Rogue> I guess you could request upstream to have that return-rw instead 19:14
Doc_Holliwood to have what return-rw? 19:19
discord6 <Rogue> Scalar::History.create
19:20 khisanth_ joined
Doc_Holliwood Oh, it already does 19:23
19:26 mowcat joined 19:28 molaf joined
Geth_ problem-solving: vrurg++ created pull request #109:
Clarify the situation with .t extension
19:28
19:28 netrino joined 19:32 Itaipu joined
discord6 <Rogue> Hmm, I don't know why is rw isn't working as expected then 19:35
19:38 MasterDuke left
Doc_Holliwood Probably because those scalars are impostors 19:39
Grinnz vrurg: that does seem like the correct way to move forward given what jnthn has said but doing a pr to propose changes to a pr seems a little silly :D 19:41
vrurg Grinnz: it was a discussion with AlexDaniel preceeding this. I'm proposing a changes to changes. :) 19:43
*a change
Basically, I agreed to Alex consideration that deprecating .t isn't that good idea after all. 19:44
afk&
19:47 sno joined 19:54 pmurias joined 19:55 abraxxa left 20:11 krychu joined 20:15 krychu left, chloekek left 20:17 mowcat left 20:28 robertle left 20:41 krychu joined 20:43 Itaipu left
Geth_ problem-solving/path-to-raku: 0de1d74e16 | (Vadim Belman)++ | solutions/language/PATH-TO-RAKU.md
Clarify the situation with .t extension

After carefully considering @AlexDaniel review, #108, and
  [some IRC chatting](colabti.org/irclogger/irclogger_lo...-26#l179),
I would like to propose to remove the part about `.t` deprecation. I do it with a some regret as this proposal would postpone the voting if accepted, but:
1. Tools currently supporting TAP are used to this extension. We can't ask all of them to produce the deprecation message for Raku only. 2. This would allow a user to choose the extension more suitable to the tools he/she is using and even up to his personal preferences. 3. In a way, this conform to TIMTOWTDI.
20:44
problem-solving/path-to-raku: dd8dcd5b4e | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | solutions/language/PATH-TO-RAKU.md
Merge pull request #109 from vrurg/path-to-raku

Clarify the situation with .t extension
20:46 zakharyas left
Grinnz yep that's the whole commit message XD 20:49
20:50 discoD left, asie joined 20:51 Itaipu joined 21:09 wamba left 21:22 AlexDaniel left 21:37 Itaipu left 22:07 epony left 22:08 sena_kun left 22:10 discoD joined 22:18 Itaipu joined 22:24 pmurias left 22:26 patrickb joined, krychu left 22:41 pmurias joined
cpan-p6 New module released to CPAN! LibXML (0.1.0) by 03WARRINGD 22:42
22:45 khisanth_ left 22:53 pmurias left 23:00 khisanth_ joined 23:08 epony joined 23:10 lucasb left 23:18 Actualeyes left, Actualeyes joined 23:28 netrino left 23:33 patrickz joined 23:35 thowe joined
thowe Hi, what's new today? 23:35
23:36 patrickz left 23:38 patrickb left 23:40 Actualeyes left 23:51 reach_satori_ joined