»ö« 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 Zoffix on 25 May 2018.
JustThisGuy Hi all! I have a question about :exists. I have a couple of pared-down examples to illustrate the problem/question. The weird think is that in both cases, the code works in the perl6 REPL. Here is the first: gist.github.com/JustThisGuyAZ/da90...17b9748d22 00:47
s/think/thing/ 00:48
Oh, yeah, here's the version info: This is Rakudo version 2018.06 built on MoarVM version 2018.06 00:49
implementing Perl 6.c.
geekosaur is <y> a typo?
(I think you wanted <$y>)
oh, in fact you didn't an you're hitting a slight gotcha
{$x}{$y} 00:50
<xxx> is shorthand for {'xxx'}
if you want a variable or expression, use the {} form
JustThisGuy Oh, it's treating the $s as string litterals?
geekosaur yes
JustThisGuy Gotcha! Thanks. I bet that's it. I'll give it a try real quick. 00:51
Yep. That was it. Thanks geekosaur! 00:52
The dumb thing is I knew that at one point. I've been away from perl6 for a while. :) 00:53
MasterDuke fwiw, 0..3 can be written as ^4 00:56
tbrowder_ not sure about problem you see but <><> i don’t think is correct syntax. try {$x}{$y} on the hash. 00:59
lucs_ He goed away.
tbrowder_ and got help from invisible person, too! 01:00
geekosaur hm? 01:07
Geth DBIish: kjpye++ created pull request #125:
Add code to fail with explicit error messages when required attribute…
01:31
warriors hi, i just install p6doc .. but p6doc return, not such type Str 04:57
p6doc Pod::To::HTML seem to work though 04:58
geekosaur hm. I get an error installing it 05:16
geekosaur probably needs to purge everything again...
warriors you need the latest perl6
2018
what is your perl6 version 05:17
geekosaur version => v2018.06.193.gaff.96.ba
warriors should work i guess 05:18
geekosaur m: dd $*PERL.version
camelia v6.c
geekosaur sigh
m: dd $*PERL.compiler.version 05:19
camelia v2018.06.193.gaff.96.baef
geekosaur right, I got that anyway, derp
geekosaur hm. I might have too new a version. I'm getting some segfaults occasionally 05:35
===FATAL: Table 4 has a mixture of visible and invisible column-separator types. 05:38
jimmy_ join 06:19
xinming eval: class B { method test { "x".say } }; class A { has $b is required handles <test>; }; A.new(:b(B.new)); 08:21
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/XpZyVcbEmR
'is required' only works on a public attribute $.b, not a private $!b
at /tmp/XpZyVcbEmR:1
xinming bug? 08:22
eval: class B { method test { "x".say } }; class A { has $.b is required handles <test>; }; A.new(:b(B.new));
evalable6
xinming Oops
moritz xinming: you don't call "test", so the handles isn't activated 08:28
m: class B { method test { "x".say } }; class A { has $.b is required handles <test>; }; A.new(:b(B.new)).test 08:29
camelia x
moritz seems to be working
tbrowder_ g’day, #perl6 09:47
El_Che tbrowder_: o/ 09:49
tbrowder_ El_zche: \o looking for critique of doc PR 09:50
duh, PR #2177 09:51
other than the travis failure :-( 09:52
El_Che the tests seem to fail? 09:53
travis-ci.org/perl6/doc/jobs/404236413
Xliff \o 09:57
tbrowder_ Xliff: hi! 10:08
El_Che: fixed a typo, tests should work now 10:09
Xliff Can something like this work in NativeCall: class GtkWidget is repr('CPointer') { }; class GtkContainer is GtkWidget is repr('CPointer') { } 10:10
Or do I need to nativecast EVERYTHING?
lizmat Xliff: I have no answer, perhaps moritz timotimo jnthn mIght know 10:14
or ask it on SO :-)
Xliff Thanks, lizmat.
Found a bug in the docs... 10:15
docs.perl6.org/routine/nativecast#...n_Pointers <- That should be nativecall#Function_Pointers
docs.perl6.org/routine/nativecast <- Found on this page.
What's the best way to fix?
sena_kun Xliff, could you please fill an issue?
Xliff sena_kun: Can I just provide a PR? 10:17
sena_kun Xliff, if you can fix that - sure. :)
Xliff perl6/doc?
sena_kun Xliff, Yes.
Xliff, I think you need to fix github.com/perl6/doc/blob/master/d....pod6#L790 <- link to something better. 10:18
Xliff OK. I will file an issue. Not as simple a fix as I thought. LOL 10:19
sena_kun To something like `/langauge/NativeCall#Function_Pointers`. 10:20
sena_kun Or around that area. You can play with docs locally, e.g. make a change, build(it became quite fast over years I believe), see if the issue fixed. 10:20
Xliff sena_kun: Will do that. 10:23
Thanks for the suggestion.
sena_kun Xliff, thanks a lot. I'd give you a better help, yet the pod 6 link format is a bit hazy in my head, so I am not 100% sure about syntax. 10:25
Geth ¦ doc: Altai-man self-assigned Circular and Incorrect link on NativeCast HTML page. github.com/perl6/doc/issues/2178 10:31
heerold hello all 10:36
sena_kun o/ 10:37
Xliff Altai-man? 10:40
sena_kun Xliff, yup.
Xliff :)
OK. I am making the docs now. I see you self-assigned. Just didn't want to duplicate efforts. 10:41
sena_kun Xliff, if you don't mind. Ah, I thought you're not. Feel free to self-assign, sure.
Geth ¦ doc: Altai-man self-unassigned Circular and Incorrect link on NativeCast HTML page. github.com/perl6/doc/issues/2178 10:42
Xliff make -j20 barely gives this machine any load at all. 10:43
heerold OK, so perl 6 is for perl 6, but what about perl 5 compilers? 10:45
Geth Pod-To-HTML: 2c2124fccf | (Tom Browder)++ (committed using GitHub Web editor) | lib/Pod/To/HTML.pm
add css info
pmurias heerold: are you asking on which channel you should ask Perl 5 questions? 10:46
heerold pmurias: yes may be or if there is a possibility to run perl 5 code with the perl 6 compiler, because I get errors on call 10:47
pmurias heerold: do you want to use a Perl 5 module from your Perl 6 program or do you want to run your Perl 5 program with the Perl 6 compiler? 10:51
heerold pmurias: I want to compile my Perl 5 script
pmurias heerold: as far as I know Perl 6 can't currently do it 10:53
Geth doc/handle-6.d: 5c5e02238a | (Zoffix Znet)++ | doc/Type/IO/Handle.pod6
Include example of .READ/.WRITE/.EOF on IO::Handle
10:54
heerold pmurias: thanks
tbrowder_ doc PR #2177 is passing tests now, had to add a missing dir 10:55
Geth ¦ doc: Xliff self-assigned Circular and Incorrect link on NativeCast HTML page. github.com/perl6/doc/issues/2178 10:56
Xliff That's weird. I keep getting "$SOLIDUS" in my local doc pages. 10:58
That's in the link where I made my changes.
Zoffix heerold: you use Inline::Perl5 module for that purpose 11:22
eco: Inline::Perl5
buggable Zoffix, Inline::Perl5 'Use Perl 5 code in a Perl 6 program': github.com/niner/Inline-Perl5 1 other matching results: modules.perl6.org/s/Inline%3A%3APerl5
Zoffix pmurias: FWIW, Perl 5 support (via Inline::Perl) is part of the language spec. 11:23
m: "/".uniname.say 11:24
camelia SOLIDUS
Zoffix Xliff: ^ fwiw, that comes from the URL fixer-upper that converts special chars to something that can be used in a filename
Zoffix Xliff: the dev app should be able to handle those right and on the live site we have mod_rewrite rules for them 11:25
heerold Zoffix: I will try this, thanks
pmurias Zoffix: that's why I asked him if he wants to use Perl 5 code from his Perl 6 program (a good task for Inline::Perl5) 11:26
pmurias Zoffix: I have read you new features policy 11:26
Zoffix
.oO( he? )
11:27
Zoffix pmurias: it's an early draft, so feel free to make changes by direct commit IMO 11:27
pmurias: also, in the past you mentioned overflow tests should not be part of the spec. They're now part of APPENDICES to the spec, which are optional for implementations to follow: github.com/perl6/roast/tree/master/APPENDICES 11:28
Zoffix gotta go &
heerold Zoffix, pmurias: so I have to first install the module Inline::Perl5 11:30
Xliff Zoffix: Thanks for that. Was able to trigger the issue somewhere else. What is the best way to test doc changes locally to make sure they work before submitting a PR? 11:34
pmurias heerold: Inline::Perl5 runs your Perl 5 program using the Perl 5 interpreter (from Perl 6) 11:39
heerold hm, I did explain it falsely I guess 11:40
pmurias: the module was not received automatically, I did download the file and copy it to the destination 11:41
now I get another error: Cannot locate native library 'D:\sperl\perl\resources\libraries\p5helper.dll': error 0x7e
pmurias heerold: what do you mean by received automatically? 11:43
heerold pmurias, I know the mechanism that sometimes modules are fetched automatically from the web, this is not possible for me because I am sitting behind a company firewall 11:44
buggable New CPAN upload: Test-Performance-0.2.1.tar.gz by TYIL modules.perl6.org/dist/Test::Perfor...:cpan:TYIL 11:49
tyil hype
Voldenet m: sub a { $^a }; "test". self.&a.say 12:05
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 3sub a { $^a }; "test". self.7⏏5&a.say
Voldenet m: sub a { $^a }; "test".self.&a.say
camelia test
Voldenet Odd. 12:06
aqegtfs Voldenet: only alphanumeric methods can be detached (and .&foo isn't one, because of `&` char). 12:10
Voldenet: only *chains* with alphanumeric methods can be detached. So even if you got .&foo somewhere in the detached chain, that's not allowed. 12:11
Otherwise there are a lot of potential ambiguities whether an operator or a detached method call was meant
timotimo so you can always .self, right?
(unless you may have a Failure return value at the start)
aqegtfs .self is inherited from Mu, so yea 12:12
alphanumeric + ' + - 12:14
+ _
Voldenet aqegtfs: I get it, but the position of the error message is... ugh
confusing?
aqegtfs m: 10 .&uc 12:16
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call (only alphabetic methods may be detached)
at <tmp>:1
------> 0310 .7⏏5&uc
Voldenet m: 10.self.&uc 12:16
camelia ( no output )
Voldenet m: 10. self.&uc 12:16
camelia 5===SORRY!5===
Decimal point must be followed by digit
at <tmp>:1
------> 0310.7⏏5 self.&uc
Malformed postfix call
at <tmp>:1
------> 0310. self.7⏏5&uc
aqegtfs Voldenet: yeah, that's the ambiguity I mentioned. It thinks you're writing a decimal above, and earlier it thinks you're trying to use an operator. If it could 100% know for sure you tried to detach a non-alpha method, it may as well have it work instead of throw an error. 12:28
aqegtfs So the error points to the place where a misparse occurs, not where the detachment happened. 12:28
Geth modules.perl6.org: cb07ad61e8 | (Zoffix Znet)++ (committed using GitHub Web editor) | use-me-for-commit-triggers
[NEWDB] try to purge duped modules

Potential temporary workaround for
  github.com/perl6/modules.perl6.org/issues/106
12:31
pmurias .tell Zoffix what I'm a bit concerned with the spec changes proposal is the low point cost of adding an extra method argument 12:52
yoleaux pmurias: I'll pass your message to Zoffix.
raschipi I wonder if that process will evolve into something PEP-like really fast, and if it's worthy just going there, instead of getting there in an adhoc manner. 13:00
Zoffix pmurias: I don't really want coredevs to jump through a load of hoops for anything that isn't a bug fix or to treat them as robots incapable of thought where everything must be mandated through policy. Going by memory, an addition of a method argument will require: documentation (or at least an open docs Issue), spectests (or at least minimal feature tests + an open Issue on roast), and a notification to all 13:04
yoleaux 12:52Z <pmurias> Zoffix: what I'm a bit concerned with the spec changes proposal is the low point cost of adding an extra method argument
Zoffix other coredevs about the addition. So that's already plenty of room for anything poorly-designed or controvertial to get noticed before it goes into a release.
+ for it to be properly documented and tested, at least "eventually" (when the docs/roast issues are resolved by someone) 13:06
lizmat Zoffix: re twitter.com/zoffix/status/1018004966613618689 , is there a public version of the image I can use in the P6W ? 13:12
Zoffix lizmat: yeah, it's in marketing repo: github.com/perl6/marketing/blob/ma...540189.jpg
There's also a PDF: github.com/perl6/marketing/tree/ma...1531540189
lizmat that still has the typos in it, correct ? 13:13
Zoffix lizmat: yeah
lizmat: well, missing comma and missing "the". Are there other typos?
lizmat not that I know off or seen just now 13:14
hmmm
perhaps "of the programming of the future" -> "of programming in the future" ? 13:15
Zoffix k, I'll fix it up right now
lizmat cool! Zoffix++
Geth marketing: 4beb87b6e0 | (Zoffix Znet)++ | 6 files
Fix up typos on Futureproof flyer / ID 1531540189

Closes github.com/perl6/marketing/issues/16
13:21
Zoffix lizmat: fixed: github.com/perl6/marketing/blob/ma...540189.jpg
lizmat Zoffix++ 13:22
so, shall I refer to the file in the weekly ? or upload it to wordpress as a separate asset ?
Zoffix lizmat: I think it's safer to upload as a separate asset
Eventually there's be a marketing web app with permalinks to assets and the files in repo might get restructured 13:23
s/there's/there'll/;
lizmat ok, will do
Zoffix tyil: I found simple time measures like in your Test::Performance are a bit simplistic to be a general tool for perf measurement. You get JIT and GC skewing results. 13:25
m: { for ^1000 { my @a = ^100; }; say now - ENTER now }
camelia 0.0566984
Zoffix The above will likely get more than twice faster if you pre-heat JIT
m: for ^1000 { my @a = ^100; }; { for ^1000 { my @a = ^100; }; say now - ENTER now }
camelia 0.02310777
tyil I've been considering to add an opt to run it a couple times before taking actual measurements 13:26
but I haven't gotten to that yet
Zoffix m: for ^1000 { my @a = ^100; }; for ^10000 { DateTime.now }; { for ^1000 { my @a = ^100; }; say now - ENTER now }
camelia 0.02476375
Zoffix and here possibly GC run to collect those dateitmes makes it a bit slower
m: for ^1000 { my @a = ^100; }; for ^10000 { DateTime.now }; use nqp; nqp::force_gc; { for ^1000 { my @a = ^100; }; say now - ENTER now }
camelia 0.024147748
pmurias Zoffix: I just feel that silently adding some unneeded extra param is a lot more serious threat than a new class being added 13:27
Zoffix Well, the GC thing gets in the way when you're measuring really fast operations
Zoffix pmurias: but it's not silently. Notifying all core devs is mandatory. 13:27
Zoffix pmurias: also, it's not set in stone. It'll be a trial period after 6.d release to see if the policy accomplishes the desired goals. 13:29
And as I've said, right now it's just a draft, so feel free to tweak it. I didn't even give the points much thought and they're probably an overcomplication all together. 13:30
pmurias Zoffix: I do share your sentiment that they was new stuff sometimes gets just added to the core is not very good 13:32
timotimo Zoffix: did you see when i inspected the @a = ^100 situation last week or so? 13:35
Zoffix timotimo: nope
timotimo iirc it comes down to the push-all method from the iterator that does ^100 being OSR-speshed, which doesn't make the fact available what the type it's called for is 13:36
so every access to the target array (actually, i was using my int @a i believe) was being done through virtual function calls, rather than devirtualized to skip the indirection
Zoffix . <- what you said 13:37
timotimo you'll actually get an even worse situation dependin on how you do it, iirc
Zoffix o <- my head :)
timotimo allow me to rephrase
Zoffix I meant I don't know anything about OSR/spesh/JIT :)
timotimo OK, the effect is, though: 13:38
if it first gets optimized because the inner loop gets run often, i.e. if your range is big enough, it'll create a sub-optimal optimization
if it first gets optimized because the method is called often, you'll get much better code
m: for ^1000 { my @a = ^100; }; { for ^1000 { my @a = ^100; }; say now - ENTER now } 13:39
camelia 0.02210349
timotimo m: for ^1000 { my @a = ^100; }; { for ^10_000 { my int @a = ^1000; }; say now - ENTER now }
camelia 0.1598018
timotimo too fast ...
m: for ^1000 { my @a = ^100; }; { for ^100_000 { my int @a = ^1000; }; say now - ENTER now }
camelia 1.39803853
timotimo m: for ^1000 { my int @a = ^100; }; { for ^100_000 { my int @a = ^1000; }; say now - ENTER now }
camelia 1.3322191
timotimo forgot to put the "int" in there, too
m: for ^1000 { my int @a = ^2; }; { for ^100_000 { my int @a = ^1000; }; say now - ENTER now }
camelia 1.6228818
timotimo oh?
not sure what i done wrong this time 13:40
Zoffix & 13:42
jkramer m: my @foo[3;3] = [[1,2,3],[4,5,6],[7,8,9]]; .join.say for @foo; 14:44
camelia 1
2
3
4
5
6
7
8
9
timotimo shaped arrays iterate over all the elements 14:45
rather than over slices like an array of arrays would
jkramer Hmm
That's confusing :)
timotimo a little 14:46
jkramer How would I turn a shaped array into an array of arrays? 14:47
timotimo if it's two-dimensional, i'd go with rotor
if it's three-dimensional, you'd need two rotors 14:48
jkramer Yep that should work, thanks! 14:48
lizmat
.oO( cogs in cogs )
timotimo all cogs are plastered 14:57
raschipi Like this: i.redd.it/wpgdnw2y13jx.gif ? 15:08
lizmat raschipi: wow 15:14
raschipi lizmat: brettcvz.github.io/epicycles/ 15:17
Theres an interactive version at the bottom of that page. 15:18
El_Che notable6: weekly 16:00
notable6 El_Che, 4 notes: gist.github.com/afa1ddefda95db90f7...0183a80e7b
El_Che lizmat: more optimizations? :) 16:02
lizmat well, trying to, bit the current round of optimizations is turning out to be a bit turbulent :-(
El_Che as in breaking stuff? 16:03
lizmat yeah :-(
El_Che you can not have a faster ommelet without breaking some extra eggs :)
are the speed bumps due to a faster moarvm or nqp magic? 16:04
raschipi Canary performance test is running under 1 second now, wow!
lizmat raschipi: which canary ? 16:09
test-t ?
raschipi Yes
with race
lizmat ah, it's been doing that for 2 weeks already I think
El_Che how much faster is the XS version? 16:16
raschipi So fast it reset her connection 16:20
El_Che hehe 16:23
Kaypie when was i pinged? 16:42
El_Che Kaypie: never, accorging to my backlog 16:43
Kaypie oh 16:44
raschipi Didn't you have a variation of your nick before?
timotimo kaiepi?
Kaypie no
timotimo .seen kaiepi
yoleaux I saw Kaiepi 11 Jul 2018 21:38Z in #perl6: <Kaiepi> The plus form flattens according to the single argument rule.
timotimo seems like we have both a kaiepi and a kaypie
Kaypie hexchat's telling i was pinged but none of my channels show it
lemme check my alts 16:45
timotimo on the 14th, moritz wrote to you 16:46
when you pointed out "null multi_declarator"
Kaypie what about morfent, mrofnet, merfont?
timotimo i don't see anything 16:48
Kaypie hm 16:49
aight, thanks anyway
DrForr o/ 18:00
tbrowder_ DrForr: \o 18:02
DrForr Heyo. More prodding today at the readline situation, figured out a different approach last night that I thought I'd try. 18:03
rindolf DrForr: hi, sup? 18:17
Juerd What's up with Readline? 18:27
Juerd "the readline situation" sounds rather grave 18:27
Juerd fondly recalls the workarounds he made at github.com/Juerd/shalog/blob/maste.../Prompt.pm 18:29
It was a nice, gentle introduction to NativeCall :)
geekosaur the readline situation is different platforms have different versions of readline, sometimes in different places, and it's hitting shortcomings of NativeCall with respect to both ABI versions and library path searches 18:29
Juerd geekosaur: Ah, that seems to be what I ran into too, when I tried to augment the Perl 6 Readline with some NativeCall of my own: a version mismatch 18:30
Line 20..38 of the code above was my workaround: simply load all versions and find the one that Readline uses by looking for a string stored in there :) 18:31
Geth doc: 98c30cda34 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/terms.pod6
Remove unneeded indent of code
19:27
synopsebot Link: doc.perl6.org/language/terms
[Coke] that looks like you added an whitespace. 19:28
s/an//
AlexDaniel [Coke]: but it will remove code indentation, no? 19:35
[Coke] I guess? we're not picky about it anywhere else. 19:40
Zoffix [Coke]: yeah, I added whitespace in the sauce, but on the rendered page that will remove initial indent in code 19:43
(and yeah, we're not picky, but I authored the original and I didn't intend to indent it :)) 19:45
m: say <didn't intend to indent it> xx 5 # tongue twister
camelia ((didn't intend to indent it) (didn't intend to indent it) (didn't intend to indent it) (didn't intend to indent it) (didn't intend to indent it))
Zoffix Man, 6.d changelog gonna be fun, considering I can't really remember what I changed with @- constants and that was only like a month ago... 19:50
Actually, no, it'll be very easy, I just need to pretend Rakudo doesn't exit :) 19:51
no ZofBot? :o
Zoffix ZofBot: damn, dude. You missed my awesome tongue twister! 19:52
Qwerasd How would I run a file to test a module? I took a break from developing a module and forgot how I was running the test file. 20:40
yoleaux 10 Jul 2018 15:25Z <b2gills> Qwerasd: to get the index of an element add :k to .first `[<a b c d>].first('b'):k` or use .grep if you want more than one. Can also be inside `.first(:k,'b')` `.first('b',:k)`
Qwerasd I'm trying to install my module with zef and it's erroring on the sub files (i.e. MyModule::Foo) Saying that they can't be found. 20:58
Is there something I need to put in the META6.json to make it work? 20:59
Oh, do I need to add them to the provides? that's probably it, right?
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/07/16/...llination/ 21:06
Juerd \o/
timotimo Qwerasd: you don't have to add the test files to the provides, and you can use "zef test" for example to run the test files in t/ - not sure if it does xt/ by default, probably not. 21:09
buggable New CPAN upload: PDF-Class-0.2.6.tar.gz by WARRINGD modules.perl6.org/dist/PDF::Class:cpan:WARRINGD
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Nuget-Build-0.0.1.tar.gz by MELEZHIK cpan.metacpan.org/authors/id/M/ME/...0.1.tar.gz 21:19
Qwerasd The lack of error reporting in threads is very annoying. 21:22
lizmat Qwerasd: could you elaborate ? 21:24
Qwerasd If something in a thread creates an error the thread dies silently. I'm probably doing something wrong, aren't I?
That is to say if a thread dies it doesn't go to stdout. 21:25
lizmat m: await start { die } 21:26
camelia An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:
Died
in block at <tmp> line 1
lizmat seems to report ok in the simplest case
Qwerasd Non-awaited
lizmat Qwerasd: do you have a gist ?
Qwerasd No, let me get you an example. 21:27
m: start { die }; sleep 2; 21:28
camelia ( no output )
Qwerasd ^
as apposed to
m: die
camelia Died
in block <unit> at <tmp> line 1
Xliff m: start { die "Died"; } sleep 2; 21:29
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3start { die "Died"; }7⏏5 sleep 2;
expecting any of:
infix
infix stopper
statement…
Xliff m: start { die "Died"; }; sleep 2;
camelia ( no output )
Qwerasd see
lizmat ah, interesting
yeah, that is a bug 21:30
Qwerasd Doy
I thought I must have just been missing something.
lizmat well, a bit of a gotcha 21:30
the Promise that "start" returns is sunk 21:31
DrForr Juerd: Thanks, looking.
lizmat Qwerasd: it's the checking of the Promise in "await" that throws the error from the thread
Xliff I just created a PR for p6-doc, however when I test it locally, the links don't work.
I have had this happen on more than one page.
Qwerasd I see. Is there any way I could direct that to stdout without blocking? 21:32
Xliff Forward slashes become $SOLIDUS.
lizmat since you never check the Promise, the exception in the thread goes into the wide blue yonder
Xliff m: my $a = start { die "Died"; }; sleep 2; say $a.kept 21:32
camelia Cannot resolve caller kept(Promise: ); none of these signatures match:
(Promise:U: *%_)
(Promise:U: Mu \result, *%_)
in block <unit> at <tmp> line 1
Juerd I recognise that gotcha 21:33
Juerd Sunk promises are probably not a good idea but they're in examples everywhere :) 21:33
lizmat Perhaps Promise.sink should add a .then that does a .result and sink that 21:34
Zoffix m: start { CATCH { default { .say } }; die }; sleep 2 21:36
camelia Died
in block at <tmp> line 1
Zoffix Qwerasd: you can use that ^. When 6.d language is released, Promises in sunk context will report errors automatically 21:36
Qwerasd Thanks! 21:37
Zoffix .tell lizmat the sunk promise throwing errors thing is on the 6.d TODO list: github.com/perl6/6.d-prep/blob/mas...or-handler However, we can't do it by changing behaviour of .sink (can't detect callers lang), so some compile-time thing needs to be done instead. If you wanna volunteer the impl, that'd be great :) 21:38
yoleaux Zoffix: I'll pass your message to lizmat.
lizmat Zoffix: why don't we do that now already ?
yoleaux 21:38Z <Zoffix> lizmat: the sunk promise throwing errors thing is on the 6.d TODO list: github.com/perl6/6.d-prep/blob/mas...or-handler However, we can't do it by changing behaviour of .sink (can't detect callers lang), so some compile-time thing needs to be done instead. If you wanna volunteer the impl, that'd be great :)
Zoffix lizmat: dunno. jnthn is the stakeholder. 21:39
Maybe he just didn't want to have this behaviour in 6.c or maybe there are spectest blocking it
lizmat perhaps, I find my naive approach doesn't cut it, so that might also be a reason 21:40
Geth doc: Xliff++ created pull request #2180:
- Fixes bad link in route page for nativecast.
21:41
lizmat hmmm.. install-core-dist appears to be doing ~ 30 promises in sink context 21:42
Zoffix lizmat++ 21:51
# good weekly
lizmat ok, the simple fix I tried does not work 21:53
and I'm too tired to think about that now
afk& 21:55
jnthn Zoffix, lizmat: I've pretty much figured it should be done as a language-level transform and for `start` in particular rather than Promise in general. It's really just a case of getting around to implementing it, and making sure it only does that with 6.d semantics. I'll take a look at it once I'm past the current mass of spesh-related work :) 22:00
(Or anyone can feel free to try based on what I just described :))
SmokeMachine m: use v6.d.PREVIEW; my $a = start { die "Died"; }; sleep 2; say $a.kept 22:01
camelia Cannot resolve caller kept(Promise: ); none of these signatures match:
(Promise:U: *%_)
(Promise:U: Mu \result, *%_)
in block <unit> at <tmp> line 1
Zoffix alright :) 22:11
SmokeMachine: I think .kept is the Vow's method. Promise has .result
m: my $a = start { die "Died"; }; sleep 2; say $a.result 22:12
camelia Tried to get the result of a broken Promise
in block <unit> at <tmp> line 1

Original exception:
Died
in block at <tmp> line 1
Zoffix m: my $a = start { die "Died"; }; sleep 2; say $a.status
camelia Broken
SmokeMachine Zoffix: thanks! 22:12
timotimo vow's method is "keep", not "kept"; kept is a method to create a promise that is already kept 22:13
that's why it only works on Promise:U
SmokeMachine m: say await Promise.kept: 42 22:14
camelia 42
timotimo .broken also exists 22:15
m: say await Promise.broken: 42
camelia An operation first awaited:
in block <unit> at <tmp> line 1

Died with the exception:
42
in block <unit> at <tmp> line 1
jnthn And .kept explicitly doesn't work on an instance to avoid making that mistake silently :) 22:17
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Nuget-Build-0.0.2.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK 22:19
warriors the humble bundle have a perl5 book, i think it will be good idea, to get a perl6 book on the humble bundle at some point 22:36
1 dollar you get the perl one line bookand 4 other books 22:37
warriors a Perl6 book for 1 dollar, may do it for some, they will be like, i got this book, might as well read it, and then they will be like, i read it , might as well use Perl6 ... problem is Think Perl is already less than 1 dollar :/ .. they ruined my plans for Perl6 domination 22:39
buggable New CPAN upload: Sparrowdo-VSTS-YAML-Nuget-Build-0.0.3.tar.gz by MELEZHIK modules.perl6.org/dist/Sparrowdo::V...n:MELEZHIK
raschipi warriors: Perl Foundation will give money so that you can print the brochure and distribute at events. 22:40
Geth doc/handle-6.d: b88595b143 | (Zoffix Znet)++ | doc/Type/IO/CatHandle.pod6
Document .WRITE/.READ/.EOF on IO::CatHandle

These just throw X::NYI; blocking out these methods from IO::Handle
SAP (Spec APpendices): github.com/perl6/roast/commit/e0f6f389d5 Rakudo impl: github.com/rakudo/rakudo/commit/9246b03520
23:26
Geth doc/handle-6.d: f8453816dc | (Zoffix Znet)++ | doc/Type/IO/CatHandle.pod6
Reword IO::CatHandle's NYI's methods

Don't mention a specific implementation as these methods throwing NYI ATM is advised by SAP now:
  github.com/perl6/roast/commit/3e734149f1
23:29
haxmeister what did you do Geth ? 23:31
Geth doc: zoffixznet++ created pull request #2181:
Document IO::[Cat]Handle.READ/.WRITE/.EOF
23:42
doc/master: 5 commits pushed by (Zoffix Znet)++