»ö« 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 - 01 - 12 - 23 - 34 - 45 - 56 - 67 - 78 - 89 - 9» ¦2017.09: «0 - 01 - 02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 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
|