»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
tony-o (despite being 4 years old) 00:00
Zoffix If it doesn't, this module is good for HTML parsing, if you know CSS:
avrono I'll check it out
Zoffix eco: DOM
buggable Zoffix, Found 9 results: DOM::Tiny, Haikunator, Digest::PSHA1, Crypt::Random, Math::Random. See modules.perl6.org/s/DOM
Zoffix eco: DOM::Tiny
buggable Zoffix, DOM::Tiny 'Very small, self-sufficient DOM parser manipulator': modules.perl6.org/dist/DOM::Tiny:gi...pan.org%3E
avrono is there an LWP equivalent ? 00:01
Zoffix eco: HTTP::UserAgent 00:02
buggable Zoffix, HTTP::UserAgent 'Web user agent': modules.perl6.org/dist/HTTP::UserAg...hub:sergot
Zoffix eco: WWW
buggable Zoffix, WWW 'No-nonsense, simple HTTPS client with JSON decoder': github.com/zoffixznet/perl6-WWW 4 other matching results: modules.perl6.org/s/
Zoffix WWW is like LWP::Simple and the other is like LWP::UserAgent
avrono Zoffix: will try build from source with those instructions
Zoffix avrono: what OS are you using?
avrono Zoffix: Ubuntu 17.10 00:03
Zoffix huggable: deb
huggable Zoffix, Alpine, CentOS, Debian, Fedora, OpenSUSE and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg#rakudo-pkg
Zoffix avrono: FWIW ^ these are compiler+module installer packages you could use instead. (Rakudo Star comes with a bunch of modules, but their utility is questionable)
(don't know if throwing a million of install options at you is helping :P) 00:04
avrono Zoffix: installed .deb but can't seem to complie and too tired to work it out
Zoffix :( 00:05
avrono Zoffix: I built from source but using Sudo, installed ok - just have to add path
Zoffix avrono: if you're up for it sometime, you could log your experience of installing, including the problems you encountered, on this Issue: github.com/perl6/user-experience/issues/20 so we could fix it hopefully
avrono Zoffix: will do ... 00:06
Hello World ! :-) 00:10
(but with Sudo install)
Zoffix \o/ 00:12
00:15 lookatme left 00:16 markong left 00:22 AlexDaniel left, lookatme joined
avrono ok , installing as root is not a good idea 00:24
:-(
timotimo you can also chown the prefix to your user 00:25
avrono I tried to chown .zef and sub dirs
Zoffix git clone github.com/rakudo/rakudo/ ~/rakudo; cd rakudo; git checkout 2018.03; perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install; echo 'export PATH="$HOME/rakudo/install/bin:$HOME/rakudo/install/share/perl6/site/bin:$PATH"' >> ~/.bashrc; . ~/.bashrc; git clone github.com/ugexe/zef /tmp/zef; perl6 -Ilib /tmp/zef/bin/zef install /tmp/zef/. 00:27
avrono CompUnit::Repository install target is not writeable/installable: /home/avrono/workspace/deedee1/auto Need a valid installation target to continue 00:28
Zoffix: running now 00:30
Zoffix Maybe uninstall whatever you installed there as root first
avrono yes indeed 00:31
00:34 zachk left
avrono ok, building 00:36
00:40 benjikun joined
benjikun timotimo: are you going to update sdl2::raw anymore? 00:41
timotimo i find myself not having much energy to invest in it, sadly 00:42
i'll definitely accept pull requests, though github notifications tend to just completely hide from me :|
benjikun do you know of any other frequently updated p6 graphics libraries? 00:43
Kaiepi echo "pkill 0" > ~/.zshrc
er
kill
Zoffix Kaiepi: what does that do?
b2gills I would assume it locks up the computer 00:44
Kaiepi part of the kernel iirc
Zoffix Then why paste it a few lines after instructions were given to a user struggling with install of perl6?
benjikun ye procid 0 is part of kernel paging stuff
timotimo benjikun: i'm not really aware, no :(
benjikun darnit
It'd be nice to have a nice one w/ perl6 00:45
timotimo is there something particular you're missing?
Kaiepi ..my bad, i wasn't paying attention to chat
benjikun nah not particularly, but it'd just be nice to see an active graphics lib with perl6
has anyone here thought about trying to request perl6 be an option for different hackathons? 00:46
avrono Zoffix : ===SORRY!=== Could not find Zef::CLI at line 3 in: /home/avrono/rakudo/lib /home/avrono/.perl6 /home/avrono/rakudo/install/share/perl6/site /home/avrono/rakudo/install/share/perl6/vendor /home/avrono/rakudo/install/share/perl6 CompUnit::Repository::AbsolutePath<94585333602144> CompUnit::Repository::NQP<94585312540520> CompUnit::Repository::Perl5<94585312540560>
Kaiepi i'd try
Zoffix avrono: perl6 -I/tmp/zef/lib /tmp/zef/bin/zef install /tmp/zef/.
Kaiepi for graphics stuff: imagemagick?
Zoffix avrono: try that; should work
benjikun kaiepi: moreso meant stuff like cairo, sdl, etc.
Kaiepi ahh 00:47
benjikun it's a shame perl5 got removed from the google code hackathon thing
Kaiepi perl 5's on codewars, if that's your thing 00:48
benjikun hm 00:50
timotimo well, we do have a cairo binding, too
last commit 5 months ago
00:50 atweiden-air joined
atweiden-air Zoffix: ping' 00:51
timotimo benjikun: what tags would you expect SDL2::Raw to have on modules.perl6.org?
Zoffix atweiden-air: sup
atweiden-air i see your PR
Zoffix yeah
benjikun timotimo: graphics, media, sdl
avrono Zoffix: Many thanks, I'm good now ... will play around
Zoffix avrono: yey \o/
atweiden-air Zoffix: i use multis all over the place, so i was just thinking. is that the only place in Crane with an issue? 00:52
Zoffix avrono: FWIW, you can run this code and it'll stick an `update-perl6` alias to your .bashrc file. And then any time you want to upgrade to the next release of compiler (one is coming up some time in 1-4 days), you'd just run `update-perl6` and it'll install it: gist.github.com/zoffixznet/c3d043e...f418bcd72a 00:53
atweiden-air: it's the only place that the tests showed to be an issue
atweiden-air: basically, now the protos for core routines specify how many positional args are there and if your multi doesn't match, then it won't work. So in the case of the PR I sent, the core `copy` and `move` take 2 positionals, but your multies only take 1 00:54
atweiden-air: and well, it's only a problem for when your multies clash with core routines. 00:55
atweiden-air Zoffix: interesting. is there a list of the core routines floating around? 00:56
i guess this only became an issue because there's a copy() and move() sub defined in rakudo 00:57
Zoffix atweiden-air: yeah, there's a "Routine Map". it's a year old but should be good 'nuf, there were only a couple new routines: map.perl6.party/ 00:58
atweiden-air: or you can generate one yourself: github.com/perl6/routine-map
01:00 Rawriful left
Zoffix atweiden-air: yeah, it's 'cause there are core copy() and move(). Also, this change for more restrictive protos in core is still somewhat up in the air. It was committed this afternoon and then we saw Crane fail. There were other suggestions for how to solve the original problem we were solving and I sent a message to our lead mentioning that there were some regressions.... So maybe we'll end up using a 01:00
different approach that won't have this impact on users' code.
01:01 colomon_ joined
Zoffix (but even if it gets reverted, it the protos my PR adds are still OK; they'd just make it more clear that you're using a new set of routines rather than adding more candidates to core ones) 01:02
01:02 colomon left, colomon_ is now known as colomon
atweiden-air Zoffix: sounds good. i don't have a way of logging into gh right now but i can merge your PR locally then push to master branch 01:04
Zoffix cool
There's also this list of routines that leads to the docs for them: docs.perl6.org/routine.html (don't know how complete it is) 01:05
atweiden-air the only other potential issue would be `add`, but it's not yet a subroutine in core 01:07
01:07 lizmat_ joined
Kaiepi how do routines and subroutines differ? 01:08
Zoffix m: say sub {} ~~ Routine 01:09
camelia True
Zoffix m: say my method {} ~~ Routine
camelia True
Zoffix m: say rx/./ ~~ Routine
camelia True
Zoffix A routine is something executable and subroutine (or sub) are one of those things. Methods are also routines.
Kaiepi mind fart, i was thinking of submethods 01:10
01:10 lizmat left
Zoffix I think submethods are non-inheritable, while methods are 01:10
01:10 avrono left
Zoffix m: class A { method meth { say "meth in A" }; submethod submeth { say "submeth in A" } }; class B is A {}.meth 01:10
camelia meth in A
Zoffix m: class A { method meth { say "meth in A" }; submethod submeth { say "submeth in A" } }; class B is A {}.submeth 01:11
camelia No such method 'submeth' for invocant of type 'B'. Did you mean 'submeth'?
in block <unit> at <tmp> line 1
Zoffix lulz, nice error :P
Filed as R#1758 01:12
synopsebot R#1758 [open]: github.com/rakudo/rakudo/issues/1758 [LHF][LTA] Ancestor's submethods are typo-suggested when you try to call a submethod on a kid
atweiden-air Zoffix: PR merged 01:17
Zoffix \o/ 01:20
Kaiepi nice 01:24
Garland_g[m] I have a bunch of CStructs in a NativeCall binding that often need to be directly cast into a generic CStruct type. I've created a role that inherits from the target type and has a coercion method to cast "self" to the target type. I then used "does" to add the role to all of the CStructs I need converted. Is there any danger from this? It seems to work without any issues. 01:26
01:27 Zoffix left
Garland_g[m] It just seems like too much of a hack to me. 01:27
01:27 atweiden-air left
Kaiepi why do they need to be cast to a generic cstruct? 01:30
Garland_g[m] I should say more generic CStruct.
It goes from say, a Button to a Widget 01:31
Kaiepi i'm not sure 01:33
p6: class A is repr('CStruct') { has int32 $.a }; role B { has Pointer $.b }; nativesizeof(A.new but B) 01:36
camelia 5===SORRY!5===
Type 'Pointer' is not declared
at <tmp>:1
------> 3 { has int32 $.a }; role B { has Pointer7⏏5 $.b }; nativesizeof(A.new but B)
Malformed has
at <tmp>:1
------> 3Struct') { has int32 $.a }; role B { has7⏏5 Poi…
Kaiepi p6: use NativeCall; class A is repr('CStruct') { has int32 $.a }; role B { has Pointer $.b }; nativesizeof(A.new but B)
camelia cloning a CStruct is NYI
in block <unit> at <tmp> line 1
Kaiepi yeah, i'm getting segfaults when i try that on my machine 01:37
Garland_g[m] The C library itself casts them directly, so something like ((Widget) button) in C
or nativecast(Widget, $button) in NativeCall.
Kaiepi ohh 01:38
i'm not sure, someone more familiar with how nativecall's api works would be able to tell 01:39
Garland_g[m] Yeah. Thanks for looking at it. 01:40
Kaiepi do the roles have properties at all or just methods? 01:42
Garland_g[m] It only has the method
that does the nativecast conversion. 01:43
Kaiepi oh
i was gonna say, i just tried this:
p6: use NativeCall; class A { has int32 $.a }; role B { has int32 $.a; has int64 $.b }; dd (A but B).new 01:45
camelia A+{B}.new(a => 0, b => 0, a => 0)
Kaiepi not nativecast, but weird
Garland_g[m] huh. That is weird.
The only reason it inherits from the target CStruct is to fix the type-checking in the signature with that type in it. So it sort of pretends to be the target type, then actually gets coerced into the target type.
So if the signature wants a Widget, it won't accept the Button that has a coercion method unless the role also is a Widget. 01:46
01:46 ilbot3 left
Kaiepi ohhhh 01:46
i ran into the same problem
i resorted to writing some c to deal with it, since nativecast wasn't helpful 01:47
Garland_g[m] Ah. 01:51
01:54 char_var[buffer] joined 01:55 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:57 aindilis joined 02:19 raynold joined 02:20 raynold left 02:21 raynold joined 02:37 kurahaupo left 02:56 benjikun left 03:13 char_var[buffer] left 03:21 Herby_ joined
Herby_ \o 03:21
03:35 araraloren joined 03:46 char_var[buffer] joined, char_var[buffer] left, char_var[buffer] joined 03:47 char_var[buffer] left, denkweise joined 04:05 Herby_ left 04:15 afresh1 joined 04:44 khw left
Geth doc: W4anD0eR96 self-assigned .+ and .* are inaccurate github.com/perl6/doc/issues/1421
b2bda568f2 | 陈梓立++ | doc/Language/operators.pod6

Close #1421. Co. rakudo/rakudo#1754
04:58
synopsebot Link: doc.perl6.org/language/operators
RAKUDO#1754 [open]: github.com/rakudo/rakudo/issues/1754 Specify how postfix:<.+>, postfix:<.*> works
05:13 wamba joined 05:18 araraloren left, araraloren joined 05:39 rjt_pl joined 05:42 rjt_pl left, rjt_pl joined
Geth doc: 608daf7cc2 | 陈梓立++ | doc/Type/Signature.pod6
Improve example of where-clause on Signature
05:52
synopsebot Link: doc.perl6.org/type/Signature
05:52 xtreak joined 06:40 darutoko joined 06:52 rindolf joined, Kaiepi left 06:55 jmerelo joined 07:22 xtreak left 07:36 domidumont joined 07:44 domidumont left 07:45 domidumont joined 07:49 lizmat_ is now known as lizmat 07:51 lizmat left, Sgeo_ left 07:52 Sgeo_ joined 08:06 SCHAPiE left
jmerelo p6: proto mνlti(|) {*}; multi mνlti(1) { "Yep"}; multi mνlti(2) { "Nay"};say mνlti($_) for 1,2; 08:06
camelia Yep
Nay
jmerelo p6: proto mνlti(|) {*}; multi mνlti(True) { "Yep"}; multi mνlti(False) { "Nay"};say mνlti($_) for True,False; 08:07
camelia Potential difficulties:
Literal values in signatures are smartmatched against and smartmatch with `True` will always succeed. Use the `where` clause instead.
at <tmp>:1
------> 3proto mνlti(|) {*}; multi mνlti(True7⏏5) { "Yep"…
jmerelo ⍐ That a bug? 08:08
Shouldn't all types be handled consistently?
p6: proto mνlti(|) {*}; multi mνlti('a') { "Yep"}; multi mνlti('b') { "Nay"};say mνlti($_) for <a b>; 08:10
camelia Yep
Nay
jmerelo releasable6: status 08:11
releasable6 jmerelo, Next release will happen when it's ready. 0 blockers. 224 out of 262 commits logged
jmerelo, Details: gist.github.com/46973b4c2fe7390d34...fcfac8d32d
08:12 SCHAPiE joined
jmerelo p6: proto mνlti(|) {*}; multi mνlti('something') { "Yep"}; multi mνlti('') { "Nay"};say mνlti($_) for ("something",''); 08:15
camelia Yep
Nay
08:17 robertle_ joined
jmerelo squashable6: status 08:23
squashable6 jmerelo, Next SQUASHathon in 12 days and ≈1 hour (2018-05-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
08:31 domidumont left 08:32 domidumont joined 08:39 domidumont left 08:48 Kaiepi joined 08:54 domidumont joined 09:06 markong joined
El_Che releasable6: status 10:07
releasable6 El_Che, Next release will happen when it's ready. 0 blockers. 224 out of 262 commits logged
El_Che, Details: gist.github.com/29f63540e4a4e94387...d282a8083e
10:09 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6 10:22 AlexDaniel joined 10:24 wamba left
AlexDaniel jmerelo: no, not a bug 10:55
jmerelo: smartmatching against True/False always matches/fails 10:56
and yeah it's a bit surprising sometimes
jmerelo: that bit, by the way, is not documented I think
jmerelo AlexDaniel: what if you actually want to use True/False for arguments in multi? 10:57
AlexDaniel m: proto mνlti(|) {*}; multi mνlti(Bool $ where ?*) { "Yep" }; multi mνlti(Bool $ where !*) { "Nay" };say mνlti($_) for True,False 10:59
camelia Yep
Nay
AlexDaniel maybe there's a cleaner way
jmerelo AlexDaniel: That's cool. Thanks!
AlexDaniel same goes if you want to grep True-s from a list for example 11:00
m: say (True, False, True, True).grep(True)
camelia Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?
in block <unit> at <tmp> line 1
AlexDaniel m: say (True, False, True, True).grep(?*) 11:01
camelia (True True True)
11:01 wamba joined
jmerelo AlexDaniel: maybe document as trap? 11:01
AlexDaniel m: say (True, False, True, True).grep(* === True)
camelia (True True True)
AlexDaniel jmerelo: well, personally I don't consider it as trap because the compiler always gives a warning in these cases
maybe it's better to just document it in Bool.ACCEPTS 11:02
which does not exist right now 11:03
jmerelo AlexDaniel: please issue that 11:04
AlexDaniel github.com/perl6/doc/issues/1949 11:06
jmerelo AlexDaniel++
AlexDaniel jmerelo: fwiw my (very) long term plan with the traps page is to file a detrap issue against rakudo for every single item mentioned there, with a goal of reducing that page as much as possible 11:07
jmerelo: in some cases maybe the compiler can give a warning
in other cases maybe the language can be tweaked a bit 11:08
some traps will stay there forever though, yeah, but still
jmerelo AlexDaniel: "detrap issue". That's rich :-) Good idea.
11:09 FROGGS joined
AlexDaniel m: role R1 { method m {} }; role R2 { method n {} }; my $a = 1 but R1,R2; say $a.^name; 11:14
camelia WARNINGS for <tmp>:
Int+{R1}
Useless use of constant value R2 in sink context (line 1)
AlexDaniel hmmm
maybe docs.perl6.org/language/traps#but_...nstruction can be deleted already
or maybe just moved to the documentation of `but`
jmerelo AlexDaniel: you can... 11:16
AlexDaniel: ... wait for it...
AlexDaniel: ... issue that :-) Thanks!
AlexDaniel 6c: role R1 { method m {} }; role R2 { method n {} }; my $a = 1 but R1,R2; say $a.^name; 11:18
buggable New CPAN upload: Distribution-Builder-MakeFromJSON-0.4.tar.gz by NINE modules.perl6.org/dist/Distribution...:cpan:NINE
jmerelo AlexDaniel: we might need to have tests for traps, to detect when that happens...
committable6 AlexDaniel, gist.github.com/f3b994f421a62fabc4...c491c47e44
AlexDaniel bisect: old=2017.02 role R1 { method m {} }; role R2 { method n {} }; my $a = 1 but R1,R2; say $a.^name;
bisectable6 AlexDaniel, Bisecting by output (old=2017.02 new=a138dcf) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/0251a025962d537574...d73507bd12
AlexDaniel, (2017-03-07) github.com/rakudo/rakudo/commit/12...6772ba4bf2
AlexDaniel github.com/perl6/doc/issues/1950 11:20
El_Che how are we doing with the release? 11:21
Kaiepi is there a page with some of the new features in the new release? 11:22
AlexDaniel Kaiepi: yes everything will be in the changelog github.com/rakudo/rakudo/blob/mast.../ChangeLog 11:23
Kaiepi: working on the changelog for 2018.04 right now
El_Che: everything looks great, no blockers, just needs some paperwork done 11:24
El_Che AlexDaniel++ 11:31
Geth perl6-pod-to-bigpage: JJ++ created pull request #20:
A few improvements, mainly related to producing also HTML
11:37
Kaiepi ah, nice
jmerelo AlexDaniel++ 11:42
El_Che jmerelo: the travis api for bintray works fine for rakudo-pkg-for-doc as it is 1 os_version. It seems to get confused when you have several. It looks like for rakudo-pkg, I'll need to speak to the API myself 11:45
jmerelo El_Che: I will not be using Travis. Let me check if it works for shippable.
El_Che jmerelo: I think we're talking about the same thing? 11:46
jmerelo El_Che: maybe, but I will not be using Travis for the time being, so no need to talk to it or to have it getting confused 11:47
AlexDaniel consider ++-ing the whole rakudo dev team as they do most of the job fixing the blockers and I'm here just connecting the dots :) 11:49
jmerelo ++es the whole rakudo dev team
AlexDaniel \o/
El_Che AlexDaniel: it's the release manager's job to redistribute +'s :) 11:50
Geth doc: c3d635ae30 | (JJ Merelo)++ | html/perl6.html
Adds first version of HTML single page

Refs #1845. Will have to check what happens with #1825.
FROGGS o/
12:06 lizmat joined
Geth doc/master: 5 commits pushed by (JJ Merelo)++ 12:13
El_Che jmerelo: usign docker? sudo apt-get update && sudo apt-get install apt-https-transport 12:14
before apt-get updating https repos
jmerelo El_Che: I just changed it to http 12:15
El_Che (http must die) 12:16
jmerelo El_Che: it will. But this is just a matter of installing another dependency more. It's OK with http. 12:18
El_Che I don't know what shippable does 12:19
one of AlexDaniel's bots? 12:20
AlexDaniel haha
no
12:20 Zoffix joined
jmerelo El_Che: :-) No, it's another continuous integration site, similar to Travis. Name is really something like that 12:20
12:21 Zoffix left
jmerelo And it just finished. Tests for perl6/doc in... 12:21
... wait for it...
3 minutes!!! app.shippable.com/github/perl6/doc.../1/console
AlexDaniel whoa
jmerelo (it just does make test, not make htmltest. But still)
Thanks to nxadm for preparing the package
El_Che jmerelo: what's the time before? 12:22
jmerelo The whole idea is that we can have a quick feedback on the new code, before the full span of tests done by travis arrives. It's also done in parallel, so no time wasted.
AlexDaniel FROGGS: are you working on box2d module? :o 12:23
FROGGS AlexDaniel: I do
12:23 espadrine_ joined
FROGGS and SDL 12:23
jmerelo El_Che: In January it was 30 minutes; then it wenth down to ~20 using a compiled binary, went down again to 10 using docker, so this is one order of magnitude...
AlexDaniel FROGGS: heh was about to ask that 12:24
jmerelo El_Che: it's a bit cheating, since we don't run all the tests. And it would be as fast as using docker, I guess, if we moved it to travis and run the whole range of tests
El_Che 3m for downloading + installing the package is still slow, though
ah
Geth doc: efab84849c | (JJ Merelo)++ | shippable.yml
Totally removes cache
El_Che it's the make test
AlexDaniel FROGGS: this is really awesome, can't wait to try it out
buggable New CPAN upload: App-FindSource-0.0.3.tar.gz by ALOREN modules.perl6.org/dist/App::FindSou...pan:ALOREN 12:28
AlexDaniel FROGGS: how is the performance? I'd assume the physics part will spend most of the time in box2d's step anyway, but what about rendering? 12:30
12:30 khw joined
FROGGS AlexDaniel: can't tell yet, but will do as soon as I know 12:31
jmerelo El_Che: of course... 12:32
12:32 jmerelo left
Kaiepi when you're using a nativecall function that takes a pointer, is there more than one pointer to that memory block? 12:41
i've been trying to write bindings for a function that uses restrict, but it refuses to work 12:43
timotimo is "restrict" even part of the ABI at all? 12:50
FROGGS what is restrict anyway? 12:51
timotimo enforces that you can't have another pointer at the memory you're passing a pointer to 12:52
Kaiepi en.wikipedia.org/wiki/Restrict
timotimo i don't think restrict makes a difference to nativecall at all 12:53
Kaiepi oh
timotimo except of course if you go ahead and pass the same pointer twice, in which case you get the undefined behaviour that's outlined on that wiki page
Kaiepi i'm not, so i'm guessing it's moar not knowing what to do with wchar_t 12:54
timotimo is wchar_t any different from uint16_t? 12:55
Kaiepi p6: sub mbstowcs(CArray[int32], Str, size_t --> size_t) { * }; my CArray[int32] $c .= new; dd mbstowcs($c, 'abc', 3)
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'CArray' in parameter declaration. Did you mean 'array', 'Array'?
at <tmp>:1
------> 3sub mbstowcs(CArray7⏏5[int32], Str, size_t --> size_t) { * };
Kaiepi p6: use NativeCall; sub mbstowcs(CArray[int32], Str, size_t --> size_t) { * }; my CArray[int32] $c .= new; dd mbstowcs($c, 'abc', 3)
camelia This type cannot unbox to a native integer: P6opaque, Whatever
in sub mbstowcs at <tmp> line 1
in block <unit> at <tmp> line 1
Kaiepi wchar_t can be anything depending on the compiler 12:56
i'm trying to get it added to the nativecall api
timotimo ah, wasn't there a patch for that already somewhere?
Kaiepi i made the pullreqs for it if that's what you mean 12:57
timotimo mhm 13:00
i mean, can't you also use some existing library function to trick it into telling you how big a wchar_t is? 13:01
like is there a char to wchar conversion function where you can just turn 0x0102 into a wchar and see if it's 00010002 or 0000000100000002 or whatever?
Kaiepi i use that in my editline library i'm writing 13:03
but the native conversion functions just don't work
timotimo have you tried gdb to see what your c functions are getting? 13:04
Kaiepi i'll take a look
timotimo there's perl6-gdb-m 13:07
Kaiepi how would i force moar to coredump? 13:13
timotimo what do you need that for? 13:16
m: use NativeCall; say Pointer[int8].new.dereference
camelia No such method 'dereference' for invocant of type 'NativeCall::Types::Pointer[int8]'
in block <unit> at <tmp> line 1
timotimo m: use NativeCall; say Pointer[int8].new.deref
camelia Can't dereference a Null Pointer
in method deref at /home/camelia/rakudo-m-inst-1/share/perl6/sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 58
in block <unit> at <tmp> line 1
timotimo m: use NativeCall; say Pointer[int8].new(1).deref
camelia Internal error: unhandled target type
in sub nativecast at /home/camelia/rakudo-m-inst-1/share/perl6/sources/51E302443A2C8FF185ABC10CA1E5520EFEE885A1 (NativeCall::Types) line 5
in method deref at /home/camelia/rakudo-m-inst-1/share/perl6/sourc…
timotimo m: use NativeCall; use nqp; nqp::box_I(0x10, Pointer[int8]).deref; 13:18
camelia ===SORRY!===
No registered operation handler for 'box_I'
timotimo m: use NativeCall; use nqp; nqp::add_I(0x10, 0x1, Pointer[int8]).deref;
camelia This representation (CPointer) cannot unbox to other types (for type NativeCall::Types::Pointer[int8])
in block <unit> at <tmp> line 1
timotimo how do i crash this :D
Kaiepi oh i can do that with nqp? 13:19
timotimo somehow ... 13:23
13:26 sno left 13:42 domidumont left
Kaiepi ok i figured it out 13:50
there's an mbstate_t struct that i need to write bindings for that my system's documentation didn't mention fsr 13:51
14:00 thundergnat joined
thundergnat Hiya perl6 14:01
I'm having an odd problem where it seems like a Seq bound to an array is not staying cached. 14:02
m: gist.github.com/thundergnat/674702...f98e8ac3d3
camelia The iterator of this Seq is already in use/consumed by another Seq
(you might solve this by adding .cache on usages of the Seq, or
by assigning the Seq into an array)
in block <unit> at <tmp> line 9
thundergnat but if I .say the array it stays cached... 14:03
m: gist.github.com/thundergnat/e8e6db...79239ff1c7
camelia (Given a text file of many lines, where fields within a line )
(are delineated by a single 'dollar' character, write a program)
(Given a text file of many lines, where fields within a line )
(are delineated by a single 'dollar' character, write …
thundergnat Maybe I'm missing something but I've been puzzling over this for some time and am not making progress 14:04
For anyone who cares, I'm trying to fix a broken example on Rosettacode rosettacode.org/wiki/Align_columns#Perl_6 2nd version 14:05
14:13 skids joined 14:20 Zoffix joined
Zoffix m: gist.github.com/zoffixznet/942c3c5...3c22e66fc5 14:20
camelia ["segments", 5, 5.40625]
198.18/05:406 GCT
Zoffix Any idea why this doesn't round-trip the date? I was expecting to get the original "198.18/05:407 GCT" printed, but looks like there's some precision loss; wondering where that loss is coming from...
(it does roundtrip correctly for some dates, like 198.18/05:404 GCT) 14:21
thundergnat: stick a .flat before that .List. Right now you're storing a bunch of Seqs in @lines and iterating over them twice (once in roundrobin and once when printing) 14:26
thundergnat Zoffix: ah! 14:27
Zoffix thundergnat: or add a | into split: $file.lines.map(|*.split: '$').List 14:28
14:30 renormalist left, renormalist joined 15:01 hlafarge joined 15:05 ChoHag left
Herby__ o/ 15:09
Geth ecosystem: 503a59934a | (Stefan Seifert)++ | server/updatelist.pl
Support projects1.json for S22 and downgrade for projects.json

projects1.json will contain META data as is while projects.json will contain data downgraded to the unspecified meta-version 0 for older tools.
15:12
Zoffix \o
Zoffix Found a workaround for my precision loss. So far looks like precision loss bug in Rakudo when roundtripping DateTime through Instant: R#1760 15:13
synopsebot R#1760 [open]: github.com/rakudo/rakudo/issues/1760 Potential precision bug in DateTime/Instant
15:15 kybr joined 15:16 hlafarge left 15:21 araraloren left, wamba left 15:27 jmerelo joined
Geth ecosystem: fde8197a0a | (Stefan Seifert)++ | server/updatelist.pl
Fix downgrading of dependencies

Of course in Perl 5 it's all about references. Has to be taken into account when porting code from Perl 6.
15:34
Zoffix ZofBot: I'm all 'bout that ref, 'bout that ref, no deref 15:37
ZofBot Zoffix, 505 csv-ip5xs 0
jmerelo releasable6: status
releasable6 jmerelo, Next release will happen when it's ready. 0 blockers. 224 out of 262 commits logged
jmerelo, Details: gist.github.com/0ddb16c11cffef4f51...3286be719f
15:43 wamba joined 15:50 Altreus_ joined 15:51 breinbaa1 joined 15:59 jnap_ left, mack[m] left, Altreus left, xq left, kybr left 16:01 kybr joined, shareable6 left, releasable6 left, gabiruh left 16:02 releasable6 joined, shareable6 joined, committable6 left, bisectable6 left, squashable6 left 16:04 gabiruh joined, Ulti joined 16:05 dolmen joined 16:07 andrewalker joined 16:09 ExtraCrispy joined
jmerelo O/ 16:10
16:13 ChoHag joined, xq joined
Geth doc/master: 6 commits pushed by (JJ Merelo)++ 16:18
16:18 Kaiepi left 16:25 jnap_ joined, mack[m] joined, riatre joined, robinsmidsrod joined 16:27 webstrand left 16:28 AlexDaniel` left, unclechu left, mack[m] left, wictory[m] left, tadzik left 16:29 eater left, ilmari[m] left, Matthew[m] left, mienaikage left, mirlur[m] left, CIAvash[m] left, Garland_g[m] left 16:30 webstrand joined 16:31 eater joined
Geth perl6-examples: afc6f11f7b | (Shlomi Fish)++ | categories/euler/prob220-shlomif.p6
Add Euler #220 .
16:33
16:44 sno joined 16:47 Kaiepi joined
Geth doc/post-release-2018.04: 154 commits pushed by (JJ Merelo)++, ilyash-b++, (Zoffix Znet)++, 陈梓立++, (Luca Ferrari)++, (Will "Coke" Coleda)++, (Christopher Bottoms)++, (Ben Davies)++, (Juan Julián Merelo Guervós)++, (Jonas Kramer)++, (Dan Book)++, (Stefan Seifert)++, (Brad Gilbert)++
review: github.com/perl6/doc/compare/e0e9b...2849c856dd
16:49
Kaiepi i didn't realize what opaquepointer was supposed to be used for but it makes dealing with structs there's no reason to chare about a lot easier
s/chare/care/
Geth doc: b5ef42eaab | (JJ Merelo)++ | shippable.yml
Uses ubuntu package

And I think this closes #1946. We can later transfer this to Travis, over all if the binary version keeps failing as it does now (reported in #1951)
16:53
doc/post-release-2018.04: f845789598 | (Zoffix Znet)++ | doc/Type/DateTime.pod6
Fix up desc of :2foo format in .later

Don't make it sound like this is some "special syntax" for .later calls, as it's just another colonpair format.
16:54
jmerelo Yay!!!!!
Geth doc/post-release-2018.04: 2884b1ea4b | (Zoffix Znet)++ | doc/Type/DateTime.pod6
Remove extraneous spaces
El_Che \o/ 16:55
16:55 FROGGS left 16:56 ExtraCrispy left 16:57 domidumont joined 16:59 bisectable6 joined, committable6 joined, ChanServ sets mode: +v committable6, squashable6 joined
Geth doc: fe2d4b4c8d | (JJ Merelo)++ | README.md
Adds shippable badge
17:06
17:06 comborico1611 joined
comborico1611 .tell timotimo We spoke Friday afternoon about long and sluggish installation of Rakudo Star. You asked how much gigs of memory. It is a laptop with 2 gigs of ram. Hope that helps! 17:07
yoleaux comborico1611: I'll pass your message to timotimo.
17:07 comborico1611 left 17:08 Kaiepi left 17:09 Kaiepi joined 17:11 Kaiepi left, Kaiepi joined
El_Che jmerelo: the trusty pkg will be a *lot* faster than cpanm 17:14
jmerelo El_Che: it really is. It's back to 3 minutes. Check it out in the latest shippable builds (now you can click on the badge in the README.md file) 17:15
Geth doc/post-release-2018.04: 2f27bfa5c6 | (Zoffix Znet)++ | doc/Type/DateTime.pod6
Document DateTime.later/.earlier .Intify units…

  …unless the unit is `second`/`seconds`. Intification was being
done for awhile in rakudo and was removed from `second` units in github.com/rakudo/rakudo/commit/656ff77b96 Propspec: github.com/perl6/roast/commit/7c3bf500ed
17:17
Zoffix Turns out ^ that was the cause of my earlier precision bug. It's 'cause .later was .Int'ifying my seconds. 17:18
jmerelo Zoffix: bad, bad .later 17:21
Kaiepi what kinds of cases would you use is repr('Uninstantiable')?
Zoffix m: Int:D.new 17:22
camelia You cannot create an instance of this type (Int:D)
in block <unit> at <tmp> line 1
Zoffix ^ like that one
Kaiepi: here's where it's used in core: gist.github.com/zoffixznet/8836ad3...ac6a57705a 17:23
Kaiepi is it meant for internal type classes? 17:25
Zoffix shrugs 17:26
Kaiepi p6: role Foo does repr('Uninstantiable') { method elems(--> Int) { 9000 } }; my $bar := 'a' but Foo 17:27
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'repr'. Did you mean 'REPL'?
at <tmp>:1
------> 3role Foo does repr7⏏5('Uninstantiable') { method elems(--> In
Kaiepi p6: role Foo is repr('Uninstantiable') { method elems(--> Int) { 9000 } }; my $bar := 'a' but Foo
camelia ( no output )
Kaiepi ohh 17:31
singletons?
well, sort of singletons 17:32
jmerelo Kaiepi: singletish?
Kaiepi i guess so 17:33
is repr('Semaphore') might have some interesting uses 17:35
timotimo why not just derive from Semaphore?
yoleaux 17:07Z <comborico1611> timotimo: We spoke Friday afternoon about long and sluggish installation of Rakudo Star. You asked how much gigs of memory. It is a laptop with 2 gigs of ram. Hope that helps!
17:36 raynold left
Kaiepi because i'm bored and looking through moarvm 17:36
timotimo OK
El_Che jmerelo: good to hear 17:38
jmerelo: 3 minutes is very acceptable for a ci test 17:39
17:39 kurahaupo joined 17:40 kurahaupo_ joined
Kaiepi maybe something like a thread-safe map? 17:40
instead of acquire/try-acquire/release, use the nqp methods those use in get/set
timotimo i don't think a Semaphore can have attributes 17:41
have you looked at OO::Monitors?
Kaiepi not yet 17:42
oh that looks pretty cool 17:43
17:44 kurahaupo left 17:46 kurahaupo_ left, kurahaupo joined
jmerelo El_Che: I think everything could be made faster by using this github.com/perl6/doc/issues/1952 17:53
El_Che yeah, I saw the ticket. Idd 17:54
indeed
17:58 Kaiepi left, Kaiepi joined 18:00 jmerelo left
stmuk_ you could just print %data.perl to a file and EVALFILE it back 18:05
I'm not aware of proper serialisation being available 18:06
Zoffix .perl is supposed to be proper serialization
stmuk_ I thought there was talk of something more native at the MoarVM level at one point but my memories of it are vague 18:07
Zoffix Ah 18:08
timotimo yeah, just write it as perl6 code into a file that you "use" and it'll be precompiled for you 18:11
stmuk_ ah that sounds better 18:13
timotimo not sure if precomp folders get cleaned up, though 18:15
so if you rewrite often, maybe it'll keep growing?
messagepack can reproduce perl6 structures better than json can, and isn't very slow 18:16
stmuk_ it would be nice to avoid deserialising actual executable code as well 18:17
Geth doc/post-release-2018.04: 83bbb39d02 | (Zoffix Znet)++ | doc/Type/DateTime.pod6
Document .earlier takes plural units too

  .earlier's docs say to see .later for units and it's confusing
to say that only .later takes the plurals.
18:18
18:18 Zoffix left 18:23 Kaiepi left 18:25 Kaiepi joined
japhb timotimo: What does messagepack do better than JSON (besides being a native-binary format)? 18:31
timotimo it allows keys to be arbitrary things
El_Che it looks it's competing with grpc 18:35
wow, Perl 6 support of msgpack :)
(and no Perl 5 support) 18:36
finally a usecase for Inline::Perl6 :)
timotimo moarvm uses it for the remote debugger protocol
El_Che (just kidding, nine :) )
xq what is the status of jvm port/target ? 18:41
18:48 domidumont left 18:49 domidumont joined, FROGGS joined
moritz xq: not very active, I think; it tends to receive fixes when the build breaks, but I don't know if more than that is done 18:51
18:52 darutoko left
xq I see 18:52
thanks moritz
18:55 Kaiepi left
Geth doc: 9ec5b2ef60 | (Tobias Leich)++ (committed using GitHub Web editor) | doc/Type/Metamodel/MROBasedMethodDispatch.pod6
Fix spelling of method names: find_method*
18:58
synopsebot Link: doc.perl6.org/type/Metamodel::MROB...odDispatch
18:58 Kaiepi joined
MasterDuke xq: bartolin is doing most of the jvm work at the moment if you have a specific question 19:12
19:13 domidumont left 19:21 Kaiepi left, Kaiepi joined 19:23 Kaiepi left 19:24 zakharyas joined, Kaiepi joined 19:32 mienaikage joined 19:38 mirlur[m] joined, AlexDaniel` joined, tadzik joined, unclechu joined, Matthew[m] joined, ilmari[m] joined, Garland_g[m] joined, CIAvash[m] joined, mack[m] joined, wictory[m] joined 19:42 zakharyas left 19:48 Kaiepi left 19:50 Kaiepi joined 19:55 comborico1611 joined 19:56 FROGGS left 19:59 khisanth__ left 20:05 pmurias joined
pmurias moritz, xq: the jvm backend is getting fixes by bartolin++ , not sure what the larger plans for it are 20:06
20:16 entonian joined 20:21 entonian left
comborico1611 Howdy 20:21
xq thanks pmurias 20:22
I didn't have any specific question, just wondering about port's status in general 20:23
a ton of the stuff at $work is java
lizmat "in need of increase of bus factor"
yoleaux 20 Apr 2018 12:44Z <samcv> lizmat: i think it was MixHash or one of the similar types i'd been wanting a .grab for a while
xq so something targeting jvm could potentially fly
lizmat xq: I would say yes 20:24
20:25 khisanth__ joined
pmurias fixing bugs on the jvm backend and making it pass more tests seems doable 20:32
not sure what it would take to attract more developers to the JVM backend 20:33
20:33 pmurias left
MasterDuke increasing the compile speed would help 20:33
20:38 khisanth__ left 20:52 khisanth__ joined
Kaiepi i don't know java sadly 20:54
if the js backend needs any eyes though, that i can do
21:09 Kaiepi left
Geth ecosystem: e4dd925eaa | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Add Games::TauStation::DateTime to ecosystem

  "Convert TauStation's ( taustation.space ) Coordinated Central Time to Old Earth Time"
  github.com/zoffixznet/perl6-Games-...n-DateTime
21:11
lizmat Zoffix: why not on CPAN ?
21:12 Zoffix joined 21:13 Kaiepi joined
Zoffix lizmat: just like p6c better. Haven't had time to find a good tool to upload. I tried App::Mi6, but it nuked my README and that was a deal breaker. 21:13
lizmat yeah, the README is generated from the pod 21:14
Zoffix Yeah, I don't like pod
lizmat have you tried tyil's App::Assixt ?
not sure whether that would solve your issue, though 21:15
japhb Zoffix: Do you work on TauStation as a $dayjob?
Zoffix japhb: no, just a player 21:16
lizmat: no, haven't had a chance to try anything else yet.
21:24 athenot joined 21:25 pmurias joined
pmurias Kaiepi: attracting extra developers to the js backend would be great 21:26
21:26 espadrine_ left
pmurias Kaiepi: I guess a major obstacle for it is that the setting takes a super long time to compile on it 21:27
El_Che maybe also that the jvm world turns around java compability, while the rest of the world stays away from the jvm because of the java ecosystem 21:29
Kaiepi which version of node is the js backend aiming to be compatible with? 21:37
pmurias Kaiepi: I'm using v8.3.0 myself 21:39
I haven't really though that much around it
Kaiepi 7+ should be safe enough 21:41
lemme check what version something like centos still uses
damn, debian's still running 4.8 21:42
that leaves out async/await, but i think promises, maps, and sets are still compatible at least 21:43
21:43 athenot_ joined 21:44 Zoffix left, athenot left
pmurias Kaiepi: is debian offering a working node.js nowadays 21:48
21:48 wamba left
pmurias ? 21:48
21:48 wamba joined
Kaiepi they offer it, but whether or not it works i haven't tested packages.debian.org/search?keywords=nodejs 21:49
i think it'd be better to expect v7 and expect people to use nvm/n if they don't have it because it has the bulk of the es6 features 21:52
pmurias I think people got used to debian node.js not working because that package was useless for a long time ;) 21:54
(stuff from npm didn't install on it) 21:55
Kaiepi: I'm only partially awake at this point so I guess I should be heading to sleep soonish ;)
Kaiepi aight 21:56
night
21:56 wamba left
pmurias night 21:58
21:58 pmurias left 22:17 athenot joined, athenot_ left
TEttinger my question for pmurias would be if node.js is offering a working node.js nowadays, cough left-pad cough 22:21
22:26 denkweise left
Kaiepi nah npm's still pretty bad 22:26
there are alternatives like yarn out now though
22:27 denkweise joined
SmokeMachine m: say $++, " - {$++}" for ^10 # is that expected? 22:39
camelia 0 - 0
1 - 0
2 - 0
3 - 0
4 - 0
5 - 0
6 - 0
7 - 0
8 - 0
9 - 0
AlexDaniel yes 22:41
SmokeMachine I understand that the $ is owned by the block... but is that useful?
comborico1611 Is there an effort to keep articles in Docs brief? 22:42
AlexDaniel comborico1611: not really, no
comborico1611 Seems like it is more like a quick reference.
AlexDaniel comborico1611: but please file an issue if that's a problem
there are slightly bigger documents here: docs.perl6.org/language.html 22:43
comborico1611 I see. I'm just trying to get a feel of what the Docs' goal/purpose is.
Thanks! 22:44
AlexDaniel comborico1611: Vision: “I want p6doc and doc.perl6.org to become the No. 1 resource to consult when you want to know something about a Perl 6 feature, be it from the language, or built-in types and routines. I want it to be useful to every Perl 6 programmer.”
comborico1611 What is this more verbose version called?
AlexDaniel what do you mean?
comborico1611 "Consult" versus "teach" is something that comes to my mind. 22:45
.org/language is lengthier articles than Docs, right? So does that group of documentation have a name? 22:46
AlexDaniel SmokeMachine: well, in that case it's not, but you wrote it that way :)
SmokeMachine: but 22:47
c: 2017.08,2017.09 say $++, " - {$++}" for ^10
committable6 AlexDaniel, ¦2017.08: «0 - 0␤1 - 1␤2 - 2␤3 - 3␤4 - 4␤5 - 5␤6 - 6␤7 - 7␤8 - 8␤9 - 9␤» ¦2017.09: «0 - 0␤1 - 0␤2 - 0␤3 - 0␤4 - 0␤5 - 0␤6 - 0␤7 - 0␤8 - 0␤9 - 0␤»
AlexDaniel SmokeMachine: here's the commit that fixed it: github.com/rakudo/rakudo/commit/59...8712961141 22:48
22:49 ZofBot joined, ChanServ sets mode: +v ZofBot
comborico1611 Why doesn't doc.perl6.org have a banner click to homepage (perl6.org)? 22:49
22:51 ZofBot left
AlexDaniel comborico1611: there's no name for it, but yes, generally these files are for lengthier tutorials/guides/somethings 22:51
comborico1611: good question, maybe it should
comborico1611 What would you call it?
22:52 zacts joined
comborico1611 AlexDaniel: Will you post an issue about it, or shall I? 22:52
22:52 ZofBot joined, ChanServ sets mode: +v ZofBot
AlexDaniel “Perl 6” link on the home page actually leads you to perl6.org, but I don't know if that's enough 22:52
22:53 ZofBot left
AlexDaniel comborico1611: I'm in the middle of something else, so please do it 22:53
comborico1611 AlexDaniel: Sure thing!
AlexDaniel thanks
22:54 statisfiable6 left, nativecallable6 left, evalable6 left, committable6 left, coverable6 left, squashable6 left, reportable6 left, bisectable6 left, notable6 left, benchable6 left, releasable6 left, shareable6 left, greppable6 left, unicodable6 left, undersightable6 left, bloatable6 left, quotable6 left 22:56 markong left 22:59 rindolf left 23:02 zacts left 23:04 zacts joined 23:07 nativecallable6 joined, ChanServ sets mode: +v nativecallable6, notable6 joined, unicodable6 joined, committable6 joined, evalable6 joined, bloatable6 joined, greppable6 joined, coverable6 joined, quotable6 joined, ChanServ sets mode: +v notable6, ChanServ sets mode: +v unicodable6, reportable6 joined, benchable6 joined, ChanServ sets mode: +v reportable6, shareable6 joined, bisectable6 joined, ChanServ sets mode: +v shareable6, squashable6 joined, releasable6 joined, ChanServ sets mode: +v bisectable6, statisfiable6 joined
SmokeMachine is there a way to access the original method overwrited by a mixin role? 23:11
jnthn To call it from the overridden method, use callsame(). From the outside, $foo.The::Original::Type::method() 23:14
yoleaux 00:57Z <Zoffix> jnthn: FWIW, on the more restrictive protos in core thing—you said you'll think more about it. We had a regression in Crane because user's own multies took 1 positional arg but all core ones took 2: github.com/atweiden/crane/pull/4
comborico1611 Is .get shorthand for $*IN?
I mean get
SmokeMachine jnthn: and if the original method came from another role? 23:15
jnthn Each mixin is a new level of anonymous inheritance, so callsame() would work still 23:16
SmokeMachine m: role R { method CALL-ME(|) { self.Routine::CALL-ME()} }; sub bla { 42 }; &bla does R; say bla # jnthn I mean something like this...
camelia Cannot find method 'CALL-ME' on object of type Routine
in method CALL-ME at <tmp> line 1
in block <unit> at <tmp> line 1
SmokeMachine m: role R { method CALL-ME(|) { self.Callable::CALL-ME()} }; sub bla { 42 }; &bla does R; say bla
camelia No concretization found for Callable
in method CALL-ME at <tmp> line 1
in block <unit> at <tmp> line 1
timotimo comborico1611: .get is syntax for $_.get, but the sub get will access $*IN for you without you having to mention it 23:18
jnthn Ah, that won't work since CALL-ME is only a mechanism for customizing invocation. A `sub` has no CALL-ME method of its own; its invocation is a lower-level thing. Probably better just to use .wrap in that case. 23:19
comborico1611 So it is shorthand. Thanks timotimo!
timotimo .foo is short for $_.foo
comborico1611 timotimo: Did you get my message? 2 gigs
timotimo i did; yeah, 2 gigs is really tight if you have other programs running
comborico1611 Heh. It takes so much RAM because it is being built from scratch, compared to "finished build"? 23:20
SmokeMachine m: role R { method TWEAK(|) { self.^find_method("CALL-ME").wrap: -> |c { callsame |c } } }; sub bla { 42 }; &bla does R; say bla # jnthn I've tried... 23:21
camelia No such method 'wrap' for invocant of type 'Mu'
in method TWEAK at <tmp> line 1
in block <unit> at <tmp> line 1
tobs comborico1611: but the get routine without the dot seems to be smarter docs.perl6.org/routine/get#class_IO%3A%3AHandle 23:22
SmokeMachine m: role R[&cloned] { method CALL-ME(|c) { cloned |c } }; sub bla { 42 }; &bla does R[&bla.clone]; say bla # this is the only way I could do it...
camelia 42
tobs If I understood correctly, it's like the diamond <> in perl5, opening files mentioned on the command line or $*IN by default. 23:23
comborico1611 Hmm. No Perl5 experience here, but I appreciate the link!
timotimo sorry, you're right, get and friends work on $*ARGFILES, which is stdin if you have no file names on the commandline, otherwise it goes through the files as it consumes data 23:24
Juerd I'm feeling dumb. I want a subroutine argument that is a list of strings, and then call it with literals. Can't use sub x(Str @foo) because my literal list is not typed. And for whatever reason sub x(@foo where *.all ~~ Str) doesn't seem to dwim either. Any hints? 23:26
MasterDuke m: sub f(@g where @g.all ~~ Str) { dd @g }; f(("a", "z")) 23:30
camelia ("a", "z")
MasterDuke m: sub f(@g where @g.all ~~ Str) { dd @g }; f(("a", "z", 3))
camelia Constraint type check failed in binding to parameter '@g'; expected anonymous constraint to be met but got List ($("a", "z", 3))
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
Juerd Why @g.all instead of *.all?
23:31 dolmen left
MasterDuke m: sub f(@g where { $_.all ~~ Str }) { dd @g }; f(("a", "z", 3)) 23:31
camelia Constraint type check failed in binding to parameter '@g'; expected anonymous constraint to be met but got List ($("a", "z", 3))
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
MasterDuke m: sub f(@g where { $_.all ~~ Str }) { dd @g }; f(("a", "z"))
camelia ("a", "z")
Juerd Also, I'm being bitten by f(("a")) not being a list. It's the one thing in Perl 6 that I keep getting bitten by and can't seem to get used to :( 23:33
Still I don't understand why *.all ~~ Str doesn't dwim while { $_.all ~~ Str } does. 23:34
MasterDuke there are some subtle difference between * and { $_ } in wheres, something to do with thunking i think, but i don't know enough to explain 23:35
btw, you know to add a ',' after a single thing to make it a list? 23:37
Juerd I do, but I forget remembering that I have to. 23:38
comborico1611 lol
tobs Juerd: people keep saying "parentheses don't make lists, the comma does". Maybe that's memorable. 23:39
Juerd tobs: But in many cases I'm not really aware that I should make a list. 23:40
tobs: For example, @foo.append vs @foo.push -- I know they're different but I can't tell which one is which. It's too subtle and there is no visual indication of the actual difference.
And that it doesn't matter which one I use in most cases, means I'll probably never get used to it at all. 23:41
MasterDuke i think of it that 'append', the longer one, adds more things to a list, than 'push', which is shorter and only adds one thing 23:42
Juerd MasterDuke: That's a good mnemonic at least for these. Thanks.
23:42 w_richard_w joined 23:43 athenot_ joined
MasterDuke welcome 23:43
23:44 athenot left 23:46 ZofBot joined, ChanServ sets mode: +v ZofBot 23:47 raynold joined 23:58 Kaiepi left 23:59 mryan left