»ö« 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:00 Sgeo left 00:04 atweiden-air joined 00:05 cpan-p6 left, cpan-p6 joined
atweiden-air what's the best way to move where /usr/share/perl6/runtime/dynext/libperl6_ops_moar.so is installed? 00:06
can it be put under /usr/lib?
timotimo i think you only need to change the path inside the perl6 shell scripts 00:07
atweiden-air timotimo: which scripts? 00:08
this maybe github.com/rakudo/rakudo/blob/6e8d...re.pl#L311 00:11
(see: github.com/void-linux/void-packages/pull/9598)
Geth doc: Kaiepi++ created pull request #2656:
Document types in the JS nutshell
00:12
timotimo no, literally perl6, perl6-m, perl6-gdb-m, etc 00:14
atweiden-air timotimo: is it as simple as relocating the .so file after installing as normal? does it need to be found inside $NEW_PATH/dynext/ ? 00:16
(and update the bin/perl6* stuff as well)
timotimo oh, hm, it might look for the file in any of the --libpath arguments 00:17
in that case, it would actually need to be in a dynext/ i guess?
00:19 cpan-p6 left, cpan-p6 joined 00:26 w_richard_w joined, atweiden-air left, ufobat_ joined
Geth doc: 4d472accc8 | (Ben Davies)++ | util/perl-nbsp.p6
Fix replacing spaces with NBSP between line breaks in util/perl-nbsp.p6
00:27
00:30 ufobat left 00:31 drclaw2 joined
vrurg comma is not compatible with vim plugin. despair... 00:36
intellij with comma plugin can't find perl6 executable. Ok, not this time then... 00:39
timotimo vrurg: you can use File -> Project Structure to set up an SDK, that'll let you pick a path 00:41
or is that only in comma itself?
00:41 cpan-p6 left, |oLa| left, cpan-p6 joined
vrurg timotimo: let me see. I never used intellij before. 00:42
00:42 zacts left
vrurg It's there. Time to find out what is meant by SDK. ;) 00:43
timotimo see you tomorrow :) 00:47
vrurg timotimo: Anyway, it can't add a new SDK.
see you! Thanks!
MasterDuke timotimo: btw, just tried the newest version of comma, saw the built-in profiler support, very cool 00:49
00:49 mowotter joined 00:50 netrino left 00:52 mowcat left 00:55 cpan-p6 left 00:56 cpan-p6 joined 01:01 w_richard_w1 joined, w_richard_w left, w_richard_w1 is now known as w_richard_w 01:04 drclaw2 left 01:09 cpan-p6 left 01:10 cpan-p6 joined 01:11 drclaw2 joined 01:12 aborazmeh left 01:15 drclaw2 left 01:22 SCHAPiE left 01:40 SCHAPiE joined 01:41 drclaw2 joined 01:43 rindolf left 01:45 cpan-p6 left, drclaw2 left 01:46 cpan-p6 joined 01:51 drclaw2 joined 02:00 cpan-p6 left 02:01 kurahaupo_ left, cpan-p6 joined, kurahaupo joined 02:05 Khisanth left 02:09 MidCheck joined 02:10 kurahaupo_ joined 02:13 kurahaupo left 02:14 cpan-p6 left 02:15 cpan-p6 joined 02:19 Khisanth joined 02:23 molaf left 02:30 zacts joined, cpan-p6 left 02:31 zacts left, cpan-p6 joined 02:37 molaf joined, Kaiepi left, Kaypie joined 02:45 cpan-p6 left 02:46 cpan-p6 joined 03:01 cpan-p6 left 03:02 cpan-p6 joined 03:18 w17t left, cpan-p6 left, cpan-p6 joined
discord6 <Rogue> Any idea why I'm suddenly getting "Too many positionals passed; expected 1 argument but got 2" for this rule: token Field:sym<normal> { <print>+ }? 03:29
03:30 shinobicl joined
discord6 <Rogue> it used to be \w+ inside the rule and it worked then. 03:30
shinobicl Hi all 03:31
i did a module that has a weird behavoir, consistently.. Honestly i dont know how to deal with it but the behavoir is consistent. It a test that works sometimes, and most of the time fails :( If i run the same test 10 times in a loop, only 3 times the test passes 03:32
03:33 cpan-p6 left, cpan-p6 joined
shinobicl github.com/shinobi/Data-StaticTable/issues/4 03:35
03:38 Sgeo__ joined 03:42 Sgeo_ left
shinobicl the fail is because of the use of .race 03:43
I was trying to compare two arrays and added a .race on the foreach. the question is... is ".race" by nature subject to this behavoir or it is just a bug in the implementation? 03:54
03:54 cpan-p6 left, cpan-p6 joined
discord6 <Rogue> Nevermind my question; I didn't realise my delimeter for those tokens was included in <print> 03:55
<Rogue> shinobicl - .race doesn't guarantee that things will come back in the same order (.hyper does) 03:59
<Rogue> But I see no reason your use of it should fail
<Rogue> Although I'm not sure it does anything when used in a for loop like that 04:00
04:08 cpan-p6 left, cpan-p6 joined 04:19 shinobicl left 04:20 kurahaupo_ left 04:31 cpan-p6 left 04:32 cpan-p6 joined 04:41 bb01100100 left 04:46 cpan-p6 left, cpan-p6 joined 04:51 Cabanossi left 05:01 Cabanossi joined 05:04 molaf left, Kaypie left, bb01100100 joined 05:05 Kaiepi joined 05:10 sno left 05:13 reach_satori left 05:17 reach_satori joined 05:21 cpan-p6 left 05:22 cpan-p6 joined, w17t joined 05:34 w_richard_w left 05:35 cpan-p6 left 05:36 cpan-p6 joined 05:37 isomorphismes joined 05:47 robertle left 05:51 cpan-p6 left, cpan-p6 joined 05:58 Kaiepi left 05:59 Kaiepi joined 06:02 curan joined 06:10 drclaw2 left 06:11 mowotter left 06:12 molaf joined 06:15 cpan-p6 left, cpan-p6 joined 06:19 drclaw2 joined 06:23 drclaw2 left 06:29 cpan-p6 left, cpan-p6 joined 06:44 cpan-p6 left, cpan-p6 joined 06:54 Sgeo_ joined 06:56 drclaw2 joined 06:57 Sgeo__ left, cpan-p6 left, cpan-p6 joined
Geth doc: 3b5b051cb3 | (Ben Davies)++ | doc/Type/Supply.pod6
Document the :&tap parameter of Supply.tap
06:58
doc: 112a72dc68 | Altai-man++ (committed using GitHub Web editor) | doc/Type/Supply.pod6
Merge pull request #2655 from Kaiepi/supply2

Document the :&tap parameter of Supply.tap
07:08 ravenousmoose_ joined 07:13 cpan-p6 left, cpan-p6 joined 07:16 ufobat_ left 07:20 domidumont joined 07:29 cpan-p6 left 07:30 drclaw2 left, cpan-p6 joined 07:45 cpan-p6 left, cpan-p6 joined 07:50 reach_satori left 07:57 cgfbee left 08:09 cpan-p6 left, cpan-p6 joined 08:11 abraxxa joined
xinming What module is the replacement of dbmopen example in perl6? 08:14
08:24 |oLa| joined 08:31 cgfbee joined 08:33 cpan-p6 left 08:34 cpan-p6 joined 08:39 kensanata joined 08:43 netrino joined 08:48 bb01100100 left, cpan-p6 left 08:49 cpan-p6 joined 08:51 [particle] joined 08:52 [particle]1 left 09:03 cpan-p6 left, cpan-p6 joined 09:06 scimon joined 09:07 erry joined
erry bothers scimon 09:07
erry runs off
09:07 erry left 09:15 robertle joined 09:17 drclaw2 joined 09:18 cpan-p6 left, cpan-p6 joined
Xliff \o 09:23
m: (1, 2, 3, 4).List.^name
camelia ( no output )
Xliff m: (1, 2, 3, 4).List.^name.say
camelia List
Xliff m: (1, 2, 3, 4).List.hyper(degree => 4).map( *.say ) 09:24
camelia 1
2
3
4
Xliff m: (1, 2, 3, 4).List.hyper(degree => 4).map({ .say })
camelia 1
2
3
4
Xliff m: sub a { $^a.say }; (1, 2, 3, 4).List.hyper(degree => 4).map( a(*) ) 09:25
camelia *
Cannot resolve caller map(Rakudo::Internals::HyperRaceSharedImpl:U: HyperSeq:D, Rakudo::Internals::HyperIteratorBatcher:D, Bool:D, Hash:D); none of these signatures match:
($: Hash \h, *%_)
(\SELF: &block;; :$label, :$item, *%_)
Xliff m: sub a { $^a.say }; (1, 2, 3, 4).List.hyper(degree => 4).map({ a($_) }) 09:26
camelia 1
2
3
4
timotimo whatevercode doesn't pass sub call boundaries
yeah
Xliff Thanks.
timotimo FWIW, the default batch size is too big for that to split at all
Xliff Yeah. Trying to golf a larger problem.
timotimo and if the thread pool scheduler doesn't see you're backing up on tasks while using up CPU time, it usually won't start more workers 09:27
i hope that helps :)
Xliff ...
timotimo actually, "sleep"ing may do the same thing without burning the cpu
Xliff OK. So is it better to do @full_list.hyper(batch => x, degree => y).map() 09:28
Because I am doing @full_list.rotor(x) -> $b { $b.hyper(degree => y).map() }
In the second case, the map call isn't executed. 09:29
Or at least the code in map.
timotimo there's a "for" in front of that, right?
09:29 dakkar joined
timotimo uh oh, the cat demands my presence on the sofa 09:30
09:30 lizmat_ joined 09:33 lizmat left
Xliff timotimo: Yes. 09:40
Here's a quick gist: gist.github.com/Xliff/851ecd59e45c...fcc17f99da
09:40 cpan-p6 left
Xliff This is after you have finished pleasing your master, of course. 09:40
lizmat_ 1000th Perl 6 StackOverflow question!
09:40 lizmat_ is now known as lizmat 09:41 cpan-p6 joined
timotimo OK, i'm back 09:41
i see neither a rotor nor a hyper in that code
and, ugh, it doesn't show line numbers
do you know about automatic deindentation of heredocs? because i see your sql queries are all the way to the left even though they don't have to 09:43
09:43 Black_Ribbon left
timotimo anyway, the problem might just be you're mapping, but never consuming the resulting sequence 09:45
so the side-effects you're hoping for aren't happening
09:47 netrino left
Xliff Yes. 09:47
Added a comment. 09:49
Whole bunch of comments added. 09:53
So you may be right about the sequence not getting consumed.
Long story short: "for" works. ".map" does not.
I don't understand how that could ever be possible. 09:54
09:55 cpan-p6 left 09:56 cpan-p6 joined 09:58 gregf_ left
timotimo m: for ^100 { <a b c d>.map(*.say) } 09:59
camelia a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c…
timotimo m: for ^100 { <a b c d>.hyper.map(*.say) }
camelia a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c…
timotimo m: for ^100 { <a b c d>.hyper.map(*.say) }; say "foo";
camelia a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c…
timotimo m: do for ^100 { <a b c d>.hyper.map(*.say) }; say "foo";
camelia a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c…
timotimo m: my $blah = do for ^100 { <a b c d>.hyper.map(*.say) }; say "foo";
camelia foo
Xliff Now you feel my pain. ;) 10:00
timotimo mhm
Xliff I have NOT been able to golf the issue on camelia.
10:02 epony left
timotimo m: [<a b c d>, <x y z>, <a s d f>]>>.map({ $++ }).say 10:02
camelia ((0 1 2 3) (4 5 6) (7 8 9 10))
timotimo hard to tell if it's nodal or not, actually
anyway, the major difference between map and for is that for will - by default - run through data for side-effects, too 10:04
unless you "do for", which is how you get map-like semantics with for syntax 10:05
10:12 cpan-p6 left, cpan-p6 joined, Black_Ribbon joined 10:13 rindolf joined
Xliff OK. 10:16
Updating gist.
Updated. 10:17
10:20 rindolf left, sena_kun joined 10:25 rindolf joined 10:27 cpan-p6 left, cpan-p6 joined
timotimo Xliff: sorry, doing other stuff on the side as well 10:32
Xliff No worries.
I'm now getting results after a couple of days of working on that piece of code. 10:33
So progress now, after I started on Thursday ain't bad.
Still mystifying, though. Check latest gist update for working code.
timotimo btw, degree => BATCH isn't what you want, i don't think 10:37
which you had earlier in the code
10:42 cpan-p6 left 10:43 cpan-p6 joined
Xliff Ah. 10:49
timotimo i mean you want batch => BATCH
10:50 AlexDaniel joined
Xliff Thanks. I will try again when I next refactor. There are still instabilities in the origin server I need to account for. 10:50
AlexDaniel .tell cfa any news on that readline issue? 10:53
yoleaux AlexDaniel: I'll pass your message to cfa.
10:59 cpan-p6 left, cpan-p6 joined
xinming Is there a built-in module to map hash and file just like dbmopen in perl5? 11:02
I forgot
sena_kun modules.perl6.org/dist/GDBM:cpan:JSTOWE <- this may help 11:05
you might want to write a wrapper around it though, but this is not something horrible to do. 11:06
11:06 Black_Ribbon left 11:08 domidumont left
sena_kun the module passes its test and is installable for me with gdbm headers intalled. 11:08
11:08 Sgeo_ left 11:09 Sgeo_ joined 11:12 molaf left 11:17 cpan-p6 left, cpan-p6 joined
sena_kun xinming, ^ 11:18
xinming sena_kun:thanks 11:24
m: sub test (DateTime $arg .= new(now)) { }
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3sub test (DateTime $arg7⏏5 .= new(now)) { }
expecting any of:
constraint
xinming Can we make .= so it can work in sub signatures. :-)
Is it worth doing so?
sena_kun I don't think we can. Or, well, we _can_, but do you mean changes to the spec? 11:25
xinming yes
sena_kun this is a sugar candy for sure, but I'd doubt it is worth the work. Of course, it is only my opinion.
timotimo it'd be nice to have IMO
sena_kun I mean, parameters are parameters, but they do not behave as containers. 11:26
or, rather, containers one can do tricks with.
timotimo default values are already thunky, this is just a little syntax enhancement 11:27
sena_kun m: sub a ($arg = DateTime.new(now)) { say $arg }; a;
camelia 2019-03-11T11:27:49.969891Z
sena_kun why not ^?
timotimo because then the user can pass not-DateTime values, too 11:28
sena_kun ugh
timotimo so you'd have to write DateTime $arg = DateTime.new(now)
sena_kun well, I somehow implied inference for $arg on this point and though "But tools and compiler just have to infer it".
And then dynamic typing strikes in. :(
xinming After I use perl6 in these 2 days, I thought that perl6 might influence the future of language designs.
timotimo that's not a good idea in general IMO 11:29
xinming The more I use perl, The more I like it.
hahainternet i think there are a lot of rough edges to p6
timotimo m: my $foo = 1; $foo ~= " world"; say $foo
camelia 1 world
hahainternet but it's as close to feeling like the future as anything is
timotimo if the compiler just infers, then this would give an error
sena_kun well, this _is_ error. at least, for me. :) 11:30
hahainternet in fact i'd say that no other project has really inspired the same level of 'wow this is how things COULD be' that p6 has
xinming hahainternet: Yes, the only language which does do what people think.
sena_kun one cannot usually concat numbers and strings.
hahainternet when i write Python now it is an exercise in frustration
timotimo m: my $foo = 1; $foo /= 2; say $foo
camelia 0.5
timotimo sena_kun: is this also an error?
hahainternet yes, because it's using rationals isn't it, not floats :p
sena_kun that's where things start to become "strictness vs handiness".
I'd still prefer explicit typing though. 11:31
hahainternet sena_kun: the question is, how explicit
sena_kun well, never mind me, I guess I am brain damaged forever after Haskell years.
hahainternet because it turns out if you want to be real explicit, you have to start writing total functional languages
sena_kun :)
timotimo use Automyte; # now all variables without explicit type annotation will be inferred
:P
xinming hahainternet: For now, when I write perl6, I feel that the syntax design is really consistent, and it's just do what I mean always.
hahainternet i think my favourite thing is the attempt to be holistic, it's not just one or two neat features, everything is fully integrated, and if something is used in one place it's likely used everywhere 11:32
xinming perl6 is the language for this. 11:33
:-)
hahainternet every other area of computing i find that there are extant major problems from 30-40 years ago that people have decided to avoid because they're too hard
the developers here have done a superb job in repudiating that style of programming
by actually addressing a bunch of problems other languages balk at, unicode for example
xinming actually, before perl6, when I use perl5, I still feel that's really perfect. If people in 90s used perl5, he already learnt many modern popular features which are used nowadays.
hahainternet so, a simple parsing language, full support for unicode, suddenly you can write a trivial programming language in literally 10 mins that is more reliable than 10 year+ develpoed projects 11:34
this philosophy is literally at the top of my CV too, i really believe it's right, and it's no coincidence p6 turned out so awesome
11:38 Black_Ribbon joined 11:39 cpan-p6 left
discord6 <kawaii> AlexDaniel: the Rakudo release guide has some text about JVM, my understanding is that the JVM backend of Rakudo is non-functional currently, is there anywhere/any issues attached to this that I can read? Is there an expectation for the next release to resolve this? 11:39
11:40 cpan-p6 joined
AlexDaniel kawaii: it is functional 11:40
kawaii: you can build it and run `perl6-j -e 'say 42'` and at least that works
kawaii: and if that doesn't work then that needs to be fixed before the release for sure
kawaii: other than that, no expectations 11:41
discord6 <kawaii> huh, maybe something I read a while back said otherwise, something about building rakudo only with --backend=moar as JVM wasn't quite there yet 11:42
<kawaii> regardless, thanks for the information!
11:45 gregf_ joined
AlexDaniel kawaii: I think there was a time when `make spectest` worked on jvm 11:49
but we didn't have that luxury for many releases
discord6 <kawaii> AlexDaniel: I wasn't sure what keys you required from me either, so FYI my PGP can be found here keybase.io/kawaii/pgp_keys.asc and my SSH can be found here github.com/kawaii.keys (the first ed25519 key). 11:50
<kawaii> my CLA got sent on Friday some hopefully someone can verify that too :] 11:51
AlexDaniel discord6: nice! I also see that you have the same pgp key on github. Good, good. 11:52
discord6: oops, not talking to you, bot :)
the bridge is working nicely, btw, except for than slight inconvenience… 11:53
kawaii: yes, that's exactly what I was looking for
11:53 cpan-p6 left
AlexDaniel .seen [Coke] 11:54
yoleaux I saw [Coke] 18 Feb 2019 15:08Z in #perl6: <[Coke]> .tell kaiepi I have sent you a few emails re: grant and received no response. please check spam filter, ping me at [email@hidden.address] (maybe I'm using wrong email address)
11:54 cpan-p6 joined
discord6 <kawaii> yes the bridge works nicely, but I will probably switch over to using IRC properly sometime this week if I can find a client I like :] 11:55
AlexDaniel just wondering, which text editor do you normally use? 11:57
and yes, you'll probably need that so that you can interact with the bots. Alternatively you can fix the bots to understand messages from the bridge 11:58
11:59 Black_Ribbon left
discord6 <kawaii> I use a mixture of vim, nano and comma depending on the task :] 11:59
AlexDaniel while it's not a perfect replacement for IRC, have you tried Riot/Matrix? 12:00
if I remember correctly, it looks exactly like discord 12:01
AlexDaniel` and messages are not sent by a bot!
discord6 <kawaii> Yes I've had some experience with Matrix in the past, I might try irssi though, looks quite nice 12:02
AlexDaniel I use both, it's kinda nice to be able to receive notifications on my phone and other devices
(riot and erc in emacs) 12:03
and yes, I'm using my text editor to chat on IRC, sue me :P
discord6 <kawaii> IRCCloud looks nice too, and is priced quite reasonably if you want a more 2019 IRC experience
12:04 kensanata left
xinming sena_kun: Do we have other modules which uses sqlite3 as backend? 12:04
or other relational db is ok.
sena_kun xinming, DBIish has sqlite backend.
and it is stable.
xinming What I mean is, tie hash to sqlite backend. :-) 12:05
If we don't, I'll have to write my own.
sena_kun ah
well, you can search for it
but I haven't heard about it
AlexDaniel sena_kun: what's your definition of stable :D
sena_kun AlexDaniel, well, when it comes to DBIish, other backends have issues with concurrency. sqlite was fixed by jnthn and it is pretty reliable now. 12:06
:)
AlexDaniel xinming: maybe Red is what you're looking for? github.com/FCO/Red
sena_kun: ah, ok. That's good to know
sena_kun: this was one of the issues with Toaster 12:07
sena_kun: I wonder if it is fully fixed now
12:08 cpan-p6 left, cpan-p6 joined
jnthn AlexDaniel: I've been using the sqlite backend of DBIish without trouble since I patched u the concurrency stuff 12:13
*up
Also gave it some speedups
AlexDaniel that's awesome
jnthn Could still be faster, but it's working reliably
AlexDaniel jnthn: by the way github.com/perl6/problem-solving/issues/3
jnthn But yeah, can't vouch for any others. For Postgres I'd probably use DB::Pg
AlexDaniel: Yeah, I'm aware; travel to and speaking at GPW used all my energy last week. 12:14
So now I've a long queue of issues I want to reply to
Will catch up in the next days :)
cpan-p6 New module released to CPAN! Test-HTTP-Server (0.5.0) by 03SCIMON 12:15
AlexDaniel nice 12:20
12:21 |oLa|1 joined, drclaw2 left 12:23 |oLa| left 12:29 MidCheck left 12:33 cpan-p6 left, cpan-p6 joined 12:52 Black_Ribbon joined
timotimo my script fails to inflate some data with Compress::Zlib::Stream, but when i .elems.say the result of inflate (currently i'm ignoring it) the error goes away 12:54
12:54 cpan-p6 left
timotimo ?!? 12:54
12:54 cpan-p6 joined 12:55 mniip left, domidumont joined 13:04 Black_Ribbon left 13:13 kawaii joined 13:17 cpan-p6 left 13:18 cpan-p6 joined 13:31 ufobat joined 13:39 pmurias joined
pmurias jnthn: how did the GPW go? ;) 13:39
13:42 w17t left 13:45 mniip joined 13:50 cpan-p6 left, cpan-p6 joined
jnthn pmurias: It was nice; my talks seemed to be well received :) 13:51
timotimo who wants to build Compress::ZStd? 13:52
13:55 Woodi left 13:56 Woodi joined 14:01 molaf joined
timotimo maybe i'll quickly whip it up 14:02
xinming is :$var the same as :$!var when we passing args?
will :$var :$!var both convert pairs to :var($var) :var($!var) ?? 14:03
timotimo they will, yes
xinming Ok, Thanks, just for clarification.
Geth doc: 155ea45cac | cfa++ | xt/aspell.t
Workaround for aspell backslash escaping issues (#975).

Still a WIP; the test now
  - uses perl instead of awk;
  - strips \n and \t when they follow non-ws characters;
  - leverages aspell's URL mode to prevent FPs on encoded URLs.
As a result, `\suffix` and `\example` are spellchecked as
  "suffix" and "example", while `foo\tbar` is treated as "foo bar".
14:04
doc: a96a573bf6 | (Will Coleda)++ (committed using GitHub Web editor) | xt/aspell.t
Merge pull request #2630 from cfa/aspell

Workaround for aspell backslash escaping issues (#975).
14:12 cpan-p6 left 14:13 cpan-p6 joined 14:25 andrzejku joined 14:27 cpan-p6 left, domidumont1 joined 14:28 cpan-p6 joined 14:30 domidumont left
Geth doc: fbd4c12602 | Coke++ | doc/Language/mop.pod6
Use full word for var name
14:33
doc: 2e39c87fff | Coke++ | 2 files
Learn more words

These were found as a result of the spell check pre-process improvements in PR #2630
14:43 clarkema joined 14:51 cpan-p6 left, cpan-p6 joined
discord6 <kawaii> With regards to the module ecosystem, how are updates handled? Does Zef simply install from the master branch of any module in the META.json file? 15:00
cpan-p6 New module released to CPAN! gtk-v3 (0.9.0) by 03MARTIMM 15:04
15:04 Black_Ribbon joined 15:05 cfa joined 15:06 cpan-p6 left, cpan-p6 joined 15:08 andrzejku left
timotimo kawaii, yes it will. if you want "proper" releases, you can push your module builds up to cpan 15:10
discord6 <kawaii> timotimo: I don't suppose there are any aims to make Zef smarter, and to support reading from Github releases? i.e. zef install Net::RCON:0.0.2 or something? :] 15:14
15:16 mniip left
timotimo you already can, you just have to spell it out fully :) 15:18
i.e. github.com/blah/releases/0.0.2.tar.gz or whatever 15:19
discord6 <kawaii> ah! that is pretty smart indeed! thanks!
15:19 Kaiepi left 15:21 mniip joined, cpan-p6 left, cpan-p6 joined
AlexDaniel kawaii: actually that'd be awesome 15:23
15:24 Kaiepi joined 15:25 epony joined, Peter_R left
discord6 <kawaii> AlexDaniel: I mean, it's just a shorter way of doing exactly what timotimo just showed me 😛 15:26
<kawaii> After all, the concept of 'releases' is proprietary to github AFAIK, so a tool like Zef should be source control agnostic IMO. 15:27
AlexDaniel yes but you can look at git tags
discord6 <kawaii> i.e. maybe my module entry in ecosystem's META.json file could be SNV, Mercurial, self-hosted git 15:28
<kawaii> oh yes, that's true, tags are universal git
SmokeMachine xinming: did Red do what you wanted to do? 15:29
clarkema AlexDaniel: just spotted what you mean about roast 15:32
but I think it's down to some test book-keeping rather than 'real' failures
once my poor MBP has finished wheezing through this test run I'll try some patches 15:33
15:33 breinbaas left 15:34 breinbaas joined
cpan-p6 New module released to CPAN! gtk-glade (0.8.1) by 03MARTIMM 15:35
15:48 sno joined
cfa 👋🏽 15:53
yoleaux 10:53Z <AlexDaniel> cfa: any news on that readline issue?
cfa AlexDaniel: nope, filed two issues 15:54
one for logging, one for encoding 15:55
also tried to get gdb running but there're issues on this box
after that, ran outo f time
github.com/rakudo/rakudo/issues/2759 fyi
(i just ended up using rlwrap so that i could get some work done) 15:56
Geth doc: 8c08183f9b | cfa++ | doc/Language/js-nutshell.pod6
Prefer "smartmatch" over "smart match".
16:06
cfa AlexDaniel: i should also try building libreadline from source and linking against that if nobody can reproduce 16:07
16:16 curan left 16:17 cpan-p6 left, cpan-p6 joined
xinming SmokeMachine: Nope, I thought there maybe something like dbmopen with SQL backends. :-) 16:19
I wish to tie a hash to a db, and access that hash as cache
16:20 w17t joined
SmokeMachine xinming: ok... but if you need a ORM, please take a look on Red... 16:21
sena_kun won't in-memory one be faster? with save/load on end/startup if one wants persistence.
if we are talking about plain key/value pairs here. 16:22
xinming, also, have you considered redis?
16:24 sena_kun left
timotimo runs head-first into NativeCall trouble regarding not being able to put CArray or Pointer into a struct 16:24
huh, i can't even modify a pointer inside a pointer now? 16:26
16:26 sena_kun joined 16:27 sena_kun left, robertle left 16:28 sena_kun joined 16:33 pmurias left 16:42 cpan-p6 left, cpan-p6 joined 17:02 vrurg left 17:06 cpan-p6 left 17:07 cpan-p6 joined
Geth ecosystem: kawaii++ created pull request #439:
Add Net::RCON module to P6 ecosystem
17:08
17:12 ravenousmoose_ left, pochi left 17:14 pochi_ joined, ravenousmoose joined 17:19 andrzejku joined 17:23 haukex joined, mowcat joined 17:28 domidumont1 left 17:30 cpan-p6 left 17:31 cpan-p6 joined 17:34 scimon left 17:37 mowcat left, MidCheck joined 17:38 kawaii left
hahainternet is it possible to constrain the type a seq will 'hold'? 17:48
17:49 cpan-p6 left, cpan-p6 joined 17:52 rindolf left 17:55 robertle joined
AlexDaniel hahainternet: I don't think so 17:55
17:55 rindolf joined
hahainternet AlexDaniel: cheers, i feared as much 17:57
that does feel like a weak point at the moment, but i appreciate there's ungodly amounts of work that need to go in before everyone's happy :D
Geth ecosystem: 81968a2f0a | (Kane Valentine)++ | META.list
add Net::RCON module to ecosystem
17:58
ecosystem: 3c8b09c22e | Altai-man++ (committed using GitHub Web editor) | META.list
Merge pull request #439 from kawaii/master

Add Net::RCON module to P6 ecosystem
17:58 vrurg joined 18:03 vrurg left 18:05 cpan-p6 left 18:06 cpan-p6 joined 18:09 vike left 18:13 vike joined 18:24 dakkar left 18:26 sauvin left 18:29 cpan-p6 left, cpan-p6 joined 18:36 zacts joined 18:52 cpan-p6 left 18:53 cpan-p6 joined 18:55 haukex_ joined, haukex_ left, andrzejku left 18:58 haukex left
El_Che jnthn: are you considering of adding the comma plugin to the plugin list in intellij? Downloading a zip is not a very IntelliJ-y thing to do 19:05
19:08 zacts left 19:17 cpan-p6 left, cpan-p6 joined
Kaiepi is it possible to add a fallback to an enum? 19:19
like say you have an enum enum Foo (:a<A>, :b<B>, :c<C>) 19:20
is there a way to make it so Foo('D') would return a?
19:22 pecastro joined
lizmat m: enum Foo (:a<A>, :b<B>, :c<C>); dd Foo<a> # Kaiepi I think that doesn't do what you think that does 19:25
camelia Any element{'a'} = Any
Kaiepi oh 19:26
wait
lizmat internally, there's a hash somewhere, but it is not externalized as a hash afaik 19:27
Kaiepi like say you have an enum enum Foo (:a<A>, :b<B>, :c<C>); dd Foo('a'); dd Foo('A')
er
m: enum Foo (:a<A>, :b<B>, :c<C>); dd Foo('a'); dd Foo('A')
camelia Foo
Foo::a
lizmat aahh.
Kaiepi i never said trying to use Foo() with the key would work
lizmat ok, sorry misunderstood 19:28
Kaiepi: only way I see is to mixin another CALL-ME method or to wrap that 19:29
Kaiepi m: enum Foo (:a<A>, :b<B>, :c<C>) does role { method CALL-ME(Str $v) { Foo($v) // Foo('A') } }; dd Foo('D')
camelia Foo
Kaiepi m: enum Foo (:a<A>, :b<B>, :c<C>) does role { method CALL-ME(Str $v) { Foo('A') } }; dd Foo('D') 19:32
camelia Foo
19:32 cpan-p6 left, cpan-p6 joined
Kaiepi m: class Foo { has $!enum = enum Foo <a b c>; method CALL-ME(Str $v) { $!enum($v) // $!enum(0) } }; dd Foo(3) 19:33
camelia Type check failed in binding to parameter '$v'; expected Str but got Int (3)
in method CALL-ME at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi m: class Foo { has $!enum = enum Foo <a b c>; method CALL-ME(Int $v) { $!enum($v) // $!enum(0) } }; dd Foo(3)
camelia Cannot look up attributes in a Foo type object
in method CALL-ME at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi m: class Foo { method CALL-ME(Int $v) { state $enum = enum Foo <a b c>; $!enum($v) // $!enum(0) } }; dd Foo(3) 19:34
camelia 5===SORRY!5=== Error while compiling <tmp>
Attribute $!enum not declared in class Foo
at <tmp>:1
------> 3Foo <a b c>; $!enum($v) // $!enum(0) } }7⏏5; dd Foo(3)
expecting any of:
horizontal whitespace
postfix…
Kaiepi m: class Foo { method CALL-ME(Int $v) { state $enum = enum Foo <a b c>; $enum($v) // $enum(0) } }; dd Foo(3)
camelia No such method 'CALL-ME' for invocant of type 'Map'
in method CALL-ME at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi m: class Foo { method CALL-ME(Int $v) { state enum Foo <a b c>; $enum($v) // $enum(0) } }; dd Foo(3)
camelia 5===SORRY!5=== Error while compiling <tmp>
Cannot use 'state' with enum declaration
at <tmp>:1
------> 3CALL-ME(Int $v) { state enum Foo <a b c>7⏏5; $enum($v) // $enum(0) } }; dd Foo(3)
Kaiepi m: class Foo { method CALL-ME(Int $v) { state \Foo = enum :: <a b c>; Foo($v) // Foo(0) } }; dd Foo(3)
camelia 5===SORRY!5=== Error while compiling <tmp>
state scoped term definitions (only 'my' is supported at the moment) not yet implemented. Sorry.
at <tmp>:1
------> 3oo { method CALL-ME(Int $v) { state \Foo7⏏5 = enum :: <a b c>; Foo($v) // Fo…
Kaiepi m: class Foo { method CALL-ME(Int $v) { my state \Foo = enum :: <a b c>; Foo($v) // Foo(0) } }; dd Foo(3) 19:35
camelia 5===SORRY!5===
Type 'state' is not declared
at <tmp>:1
------> 3 Foo { method CALL-ME(Int $v) { my state7⏏5 \Foo = enum :: <a b c>; Foo($v) // Foo(
Malformed my
at <tmp>:1
------> 3class Foo { method CALL-ME(Int $v) { my7⏏5 …
Kaiepi m: class Foo { my \_Foo = enum :: <a b c>; method CALL-ME(Int $v) { _Foo($v) // _Foo(0) } }; dd Foo(3) 19:38
camelia 5===SORRY!5===
Variable '&_Foo' is not declared
at <tmp>:1
------> 3um :: <a b c>; method CALL-ME(Int $v) { 7⏏5_Foo($v) // _Foo(0) } }; dd Foo(3)
Variable '&_Foo' is not declared
at <tmp>:1
------> 3>; method CALL-ME(Int $v) { _…
Kaiepi m: class Foo { my &_Foo = enum :: <a b c>; method CALL-ME(Int $v) { _Foo($v) // _Foo(0) } }; dd Foo(3)
camelia Type check failed in assignment to &_Foo; expected Callable but got Map ($(Map.new((:a(0),:b(1...)
in block <unit> at <tmp> line 1
Kaiepi m: class Foo { enum _Foo <a b c>; method CALL-ME(Int $v) { _Foo($v) // _Foo(0) } }; dd Foo(3) 19:40
camelia _Foo::a
Kaiepi there we go 19:41
lizmat Cool... 19:42
19:47 MidCheck left
Kaiepi m: class A { enum A <a b c>; method CALL-ME(@vals) { A := enum :: (|@vals.kv.map(-> $i, $v { $v => $i })) } } 19:49
camelia ===SORRY!===
No such method 'kv' for invocant of type 'Mu'
Kaiepi what?
19:52 andrzejku joined
timotimo that happens at compile time 19:52
Kaiepi also shit that class won't work as a type
m: class A { enum A <a b c>; method CALL-ME(@vals) { my %vals = @vals.kv.map(-> $i, $v { $v => $i }); A := enum :: (|%vals) } } 19:53
camelia 5===SORRY!5===
Cannot use bind operator with this left-hand side
at <tmp>:1
------> 3$v { $v => $i }); A := enum :: (|%vals) 7⏏5} }
expecting any of:
postfix
Other potential difficulties:
No values supplied to e…
Kaiepi m: class A { enum A <a b c>; method CALL-ME(@vals) { my %vals = @vals.kv.map(-> $i, $v { $v => $i }); OUR::<A> = enum :: (|%vals) } }
camelia Potential difficulties:
No values supplied to enum (does |%vals need to be declared constant?)
at <tmp>:1
------> 3v => $i }); OUR::<A> = enum :: (|%vals) 7⏏5} }
19:53 rindolf left 19:54 random_yanek left
timotimo enum syntax triggers at compile time, by the time CALL-ME gets called and @vals is supplied, that is long past 19:55
19:55 cpan-p6 left, cpan-p6 joined 20:02 netrino joined
SmokeMachine Kaiepi: 20:04
m: enum Bla (:a<A>, :b<B>, :c<C>); Bla.^lookup(“CALL-ME”).wrap: -> | { my \ret = callsame; ret // Bla::a }; say Bla(“D”)
camelia a
Kaiepi ah perfect
thanks
lizmat just realized that a one-liner doing 'cat' is "print slurp"
20:06 random_yanek joined
AlexDaniel uh, not exactly 20:06
if I get it right, this is going to use much more memory
and will also mangle newlines even if your input is in ascii range 20:07
20:07 rindolf joined
SmokeMachine `perl6 -pe ‘’ file` would work? 20:09
(I’m not with my computer to test it...)
AlexDaniel yes, it does work to some extent 20:10
cpan-p6 New module released to CPAN! DB-MySQL (0.3) by 03CTILMES 20:11
New module released to CPAN! DB (0.4) by 03CTILMES
20:19 cpan-p6 left
lizmat AlexDaniel: true, about the memory 20:19
not sure how newlines would get mangled though ?
20:19 cpan-p6 joined
El_Che SmokeMachine: how are you settling in the UK? 20:20
SmokeMachine Everything is going ok... I got a flat, my daughters started on school today... 20:21
El_Che The family moved right away? Cool 20:22
AlexDaniel e: shell 「echo "foo\rbar\r\nbaz" > /tmp/foo」; dd slurp ‘/tmp/foo’
evalable6 "foo\\rbar\\r\\nbaz\n"
SmokeMachine But I don’t have internet connection yet...
El_Che good luck for your daughters, big chang
e
AlexDaniel e: shell 「echo "foo\rbar\r\nbaz" > /tmp/foo」; print slurp ‘/tmp/foo’
evalable6 foo\rbar\r\nbaz
SmokeMachine El_Che: yes! We had to be fast... I don’t know what’s happening with brexit...
AlexDaniel weird, why am I getting a different result locally 20:23
c: 2018.12,2019.03 shell 「echo "foo\rbar\r\nbaz" > /tmp/foo」; print slurp ‘/tmp/foo’
committable6 AlexDaniel, ¦2018.12,2019.03: «foo\rbar\r\nbaz␤»
AlexDaniel c: 2018.12,2019.03,HEAD shell 「echo "foo\rbar\r\nbaz" > /tmp/foo」; print slurp ‘/tmp/foo’ 20:24
committable6 AlexDaniel, ¦2018.12,2019.03,HEAD(6e8df01): «foo\rbar\r\nbaz␤»
20:24 rookie1024 joined
AlexDaniel oh, these are literal in committable, but why? 20:26
20:27 hobbified is now known as hobbs, hobbs left, hobbs joined
AlexDaniel c: 2018.12,2019.03,HEAD shell 「echo -e "foo\rbar\r\nbaz" > /tmp/foo」; print slurp ‘/tmp/foo’ 20:27
committable6 AlexDaniel, ¦2018.12,2019.03,HEAD(6e8df01): «foo␍bar␤baz␤»
AlexDaniel lizmat: ↑
\r\n turns into \n, \r remains \r 20:28
it depends on what you are going to use that cat replacement for 20:30
lizmat it was just a thought, no serious application intended
20:34 rookie1024 left
AlexDaniel perl6 -e '$*IN = $*IN.open: enc => ‘utf8-c8’; print slurp' 20:37
that's more like it
20:37 andrzejku left
AlexDaniel though I'm pretty sure someone will find a way to make the output of that differ from `cat` 20:38
20:43 cpan-p6 left, cpan-p6 joined
lizmat And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/03/11/...sed-a-lot/ 20:46
20:46 sena_kun left 20:52 ufobat left
moritz lizmat++ 21:02
21:07 cpan-p6 left, cpan-p6 joined 21:09 robertle left 21:14 cfa left 21:17 vrurg joined
discord6 <Rogue> Very nice! Can't wait to update to Rakudo Star 2019.03 21:19
<Rogue> Will this include some of the partial escape analysis work? 21:21
<Rogue> I haven't been keeping up with whether that's actually made it into the release
21:31 cpan-p6 left
chee the perl6 weekly very exciting 21:31
21:31 cpan-p6 joined
chee also it links to a tweet where i said "i'm only following a blog about perl 6" 21:31
which was the perl 6 weekly
big loop-de-looper 21:32
21:32 drclaw2 joined
chee if i had a strong belief that a new SUB-MAIN-OPTS opt should be added, and that it should be allowing `-lwp` as well as `-l -w -p` 21:33
how would i go about starting to talk about that 21:35
21:39 mowcat joined
vrurg If anybody could confirm my assumption that bytecode serialized by same perl6/moar version must be binary identical independetly of the platform used. 21:39
21:44 oftl joined 21:47 rindolf left
timotimo vrurg: it should be, except whatever is done in BEGIN blocks can have different contents. among other things, i'd expect somewhere to say whether the system is 32 or 64 bits, whether it's x86 or arm, linux windows bsd or mac etc 21:48
vrurg timotimo: I wanna try putting my hands on a issue where serialized code fails on macOS but works in my vmware linux box. So, it's gonna be all the way identical environment except for the OS. 21:50
timotimo you can get a part of the interesting stuff out with moar --dump 21:52
vrurg timotimo: thanks, will check it! 21:54
21:55 pmurias joined, cpan-p6 left, bobby left, cpan-p6 joined
vrurg BTW, comma plugin doesn't work with intellij. I can't add Perl6 SDK to a project. No error, not SDK added either. 21:55
timotimo i think there's a bug regarding SDKs where recreating the project (delete the .idea folder i guess?) would fix it 21:58
vrurg I tried deleting .idea, didn't help. 21:59
timotimo if i understand correctly, we haven't been able to recreate it, it only happens every couple of months, and never in the debug build?
22:01 bobby joined, pmurias left
vrurg To me it happens right now. I deleted .idea and <project>.iml again, imported from sources. 22:02
22:02 pmurias joined
timotimo maybe "import from sources" is the problem 22:02
vrurg Then project -> SDKs -> + -> Perl6, chose perl6 in my local installation ~/perl6/bin/perl6 -> nothing. 22:03
will try from VCS now. 22:05
22:06 SCHAPiE left
vrurg timotimo: Same wtih version control checkout. 22:07
22:17 SCHAPiE joined 22:21 bobby left, cpan-p6 left 22:22 cpan-p6 joined
clarkema c 22:22
22:25 bobby joined 22:35 bobby left 22:36 bobby joined 22:37 cpan-p6 left, cpan-p6 joined 22:39 pecastro left
discord6 <kawaii> Has anyone made any basic blog application using P6 yet? 22:48
tadzik I have, close to 10 years ago :P 22:52
github.com/tadzik/zblog
I'm sure there are better ones too
timotimo i think masak's blog runs on p6? it's a static site generator iirc 22:53
discord6 <kawaii> Sounds like I need to add something to my to-do then, have been meaning to try Bailador for a while now. 22:54
<kawaii> When I last looked at it, it seemed unmaintained, but I hear someone has picked it up again.
tobs there's also this github.com/scmorrison/uzu 23:00
(haven't used it but thought for a while about porting my P5 static site generator to it) 23:01
23:01 cpan-p6 left, cpan-p6 joined
vrurg timotimo: moar --dump fails on bytecode in .precomp. 23:03
timotimo oh, these files start with a little bit of unrelated data
you'd have to cut off the first bytes until it starts with "MOAR" or something
discord6 <kawaii> oh, uzu looks great
tobs btw kawaii: IIRC, you asked me something a few days ago. Sorry, I was already away at that point and I couldn't have answered anyway :-) 23:04
vrurg timotimo: I guessed it but hoped there is more straightforward way. Wonder though why can't I get the bytecode right from the perl6 compiler. 23:05
timotimo: thanks anyway!
timotimo there's more than just bytecode in there, there's also the serialized blob, which is a sizeable portion of the file
i've been meaning to write a tool to explore the file, but too many other things to do 23:06
23:08 Cabanossi left
vrurg I can understand this. Wish to have other things done but have generated so many tickets that now feel obligatory to get at least some of them fixed. ;) 23:09
23:10 Cabanossi joined
timotimo i've written a trivial script in the past that opens a .moarvm file and grabs every object out of it 23:11
23:21 zacts joined 23:25 cpan-p6 left, cpan-p6 joined 23:47 cpan-p6 left, zacts left 23:48 cpan-p6 joined
chee it could do with a readme, but i've published a vscode syntax that is a direct conversion of perl6/atom-language-perl6 23:52
so now it understands that this 「」 is a quote and #`() is a comment hooray 23:53