»ö« 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
|