»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
MasterDuke anyone want to help me undo something i did in git? 00:24
cheese_cake__ hello 00:57
lookatme_q cheese_cake__, hello 01:13
dmaestro MasterDuke: If you still need it, I'd be glad to help. 01:51
MasterDuke dmaestro: thanks, but i just managed to unstick myself 01:57
dmaestro Glad to hear it! 02:01
With git, there is almost always a way, if you can find it :-)
MasterDuke yes, a little reflog, a little cherry-picking, and a little force pushing and i ended up where i wanted to be 02:03
Xliff_ marketing.perl6.org/id/1522405860/any -- Shouldn 02:33
marketing.perl6.org/id/1522405860/any -- Shouldn't that be <?before baz>
Geth doc: 01fd959dec | (JJ Merelo)++ | 2 files
Eliminate wrong "trailing whitespace" solution

Which was created for #2320 but actually didn't fix it, and created #2329.
Reverting it fixes #2329. Also, some reflow in other page.
04:45
Geth doc: aba00f3fa3 | (JJ Merelo)++ | doc/Type/Test.pod6
Creates an initial version of the page

This goes towards #2330, but does not close it, since there are some functions missing. It was created from the current `/language/testing` text, and the text *is still there*. Will have to kinda redirect, or otherwise sew the seam between the two pages that exist now, as well as work with #2328.
05:58
synopsebot Link: doc.perl6.org/type/Test
doc: f0d9834e5d | (JJ Merelo)++ | doc/Type/Test.pod6
Fixes example compilation problems
doc: c6bf737555 | (JJ Merelo)++ | doc/Type/Test.pod6
Fixes example and eliminates WHAT from definition
06:01
synopsebot Link: doc.perl6.org/type/Test
moritz Hi all 06:05
Apress has asked me to write a book "Perl 6 Quick Syntax Reference" 06:06
currently I'm not really motivated -- is there anybody who wants to write something like that? I could refer you to the Apress folks
jmerelo moritz: what would be needed to motivate you? 06:07
yoleaux 23 Sep 2018 19:06Z <AlexDaniel> jmerelo: yeah, thanks for poking me. It's going to be an opt-in thingie, so module authors who are interested should set up a hook. I was planning to wait for hacktoberfest news first before setting it up, but there's no info yet. I'll check back tomorrow or in two days or so.
jmerelo .tell AlexDaniel I would be interested. 06:08
yoleaux jmerelo: I'll pass your message to AlexDaniel.
moritz jmerelo: less work, kids being older 06:09
jmerelo moritz: yep, both things might prove hard to change. 06:11
jmerelo wonders why people think that older kids are less work... You don't have to take a two-day trip to Belgium to help an Erasmus student settle with 4 years olds 06:12
moritz cause my parents never went abroad to help me settle there :-) 06:22
jmerelo moritz: old adage goes "Small kids, small problems; big kids, big problems". Anyway, enough with parenting advice. If there's no one else taking that, I might be interested. 06:36
geekosaur it also depends on what one means by older. consider the first 6 months :) 06:37
jmerelo geekosaur: I had twins. I changed classes to the afternoon and evening, and stayed at home for the first year. Then I stayed at home for the second year two, since we had another daughter. 06:39
jmerelo (meant "too" above. But two does it, too) 06:39
jmerelo So, I guess, it never stops being a lot of work as long as they are living under the same roof... 06:40
ZzZombo Offtopic, but did anyone came up with a good way of representing arrays in XML? I right now stick to `<item>value</item><item>value 2</item>` etc without an explicit "container" element. 08:30
I like this because no matter the number of array elements, the underlying code is a simple loop over all `item` elements. 08:31
ZzZombo However, sometimes I feel like it's better to wrap them into another element, but then one item arrays look ugly. 08:33
tyil <collection><item value="foo" /><item value="bar" /></collection> 08:41
that's what I'd do, but your solution works Fine™ too
Geth doc: f134bcedd1 | (JJ Merelo)++ | doc/Type/Test.pod6
Changes item to head2, refs #2330
08:49
synopsebot Link: doc.perl6.org/type/Test
Vijay_ I am a Newbie with perl6 grammar. I find it strange that a string which matches <alpha> does not match <alnum> 10:20
isnt <alnum> a superset of <alpha>? 10:21
tyil do you have an example of the string you're trying to match on? 10:22
tyil (and the grammar you're trying to work with?) 10:22
Vijay_ pastebin.com/fTWYsS4h 10:24
I am basically matching a c++ templated variable defination of the form 'foo<bar> baz, bump;' 10:26
masak Vijay_: would it be possible to golf the example to just the distinction between <alpha> and <alnum>? 10:27
(I'm really curious what charaters those are!) 10:28
m: say so "a" ~~ /<alpha>/; say so "a" ~~ /<alnum>/
camelia True
True
masak clearly "a" ain't it, for example ;) 10:29
Vijay_ My understanding is <alpha> is [a-z_] and <alnum> is [0-9a-z_]
masak m: say so "б" ~~ /<alpha>/; say so "б" ~~ /<alnum>/ 10:30
camelia True
True
masak well, that might have been true in olden, pre-Unicode days 10:30
the above is a Cyrillic б.
masak m: say so "字" ~~ /<alpha>/; say so "字" ~~ /<alnum>/ 10:31
camelia True
True
masak even a Chinese 字 is alphabetic :)
Vijay_: I'm still waiting for your alnum-but-not-alpha character
m: say so "ı" ~~ /<alpha>/; say so "ı" ~~ /<alnum>/ # Turkish ı 10:32
camelia True
True
masak Vijay_: I think your main problem right now is that you have a big grammar and a hypothesis about what goes wrong in it, but no way to verify/falsify that hypothesis 10:33
I'd advise making a copy of the grammar, and then gradually making the copy smaller, until it exposes *only* the thing you find surprising 10:34
aka "golfing"
Vijay_ If I change the alpha in the type field to alnum (and delete the variable field) the pattern breaks.... 10:34
Just a minute, I will create a paste with both the examples. 10:35
masak nah, I suggest you do the work yourself and minimize the grammar
I just tried it locally. it prints "Nil" for both <alpha> and <alnum> 10:36
so the null hypothesis, that you're confused, can't be rejected at this time ;) 10:37
Vijay_ pastebin.com/4xzriZhb 10:42
Vijay_ +masak, the Nil in the paste was because of the variable defination.... In the latest paste the only difference between the two code fragments is alpha and alnum 10:43
Zoffix .tell Xliff both work, and the difference is <before> will just stick an empty capture in the match object. I just went with the one that has fewer characters 10:44
yoleaux Zoffix: I'll pass your message to Xliff.
masak Vijay_: reproduced locally. 10:45
Vijay_: unrelated, but note that your .* gets grouped with your <ruport> in TOP, so only ruport matches right now 10:48
you probably wanted [<port>|<rport>|<ruport>] .*
oh... and if I make that single change, then the alpha/alnum difference goes away 10:49
I'm sorry, I'm working now and I don't have time to golf it completely :/
but it does look like a bug to me in the grammar engine
Vijay_ I agree, If I have a single rule in TOP it goes away too.
Should I report it someplace? 10:50
masak guess this one goes into RT 10:51
Vijay_ Is there a separate one for Grammer or should I file it under P6 10:52
masak you can send an email to [email@hidden.address] that will file it as an issue in the perl6 queue
Vijay_ Thanks. 10:54
Zoffix Vijay_: if you have a GitHub account, just file it on github.com/rakudo/rakudo/issues/new 11:23
masak: FWIW, it's easier if our GitHub tracker is recommended by default, with the email thing being suggested only if the user doesn't have a GitHub account. RT is a crappy tracker and it's not unheard of emails being blocked/lost, due to all the spam filtering. 11:24
huggable: rakudobug 11:25
huggable Zoffix, Report bugs on github.com/rakudo/rakudo/issues/new If you don't have access to GitHub, you can email your report to [email@hidden.address] . See also: github.com/rakudo/rakudo/wiki/rt-introduction
Zoffix ^ there's also that bot factoid
masak Zoffix: ah, got it!
Zoffix: henceforth I till recommend GitHub first and RT only as a fallback
will*
Zoffix huggable: rakudobug :is: Report bugs on github.com/rakudo/rakudo/issues/new If you don't have access to GitHub, you can email your report to [email@hidden.address] . See also: rakudo.org/bugs 11:26
huggable Zoffix, Added rakudobug as Report bugs on github.com/rakudo/rakudo/issues/new If you don't have access to GitHub, you can email your report to [email@hidden.address] . See also: rakudo.org/bugs
Zoffix masak++
masak why is the factoid bot called "huggable"? :) 11:38
masak would've been less surprising if it were called "factoidable" or something 11:39
lizmat weekly: www.facebook.com/groups/perl6/perm...203870460/ 11:40
notable6 lizmat, Noted!
El_Che lizmat: that link does not show the comments 11:51
going to www.facebook.com/groups/perl6/?ref=group_header does
facebook is weird
Zoffix El_Che: that link does show comments for me (on desktop). Your link on the other hand, just leads to group page and will show whatever recent post is there 12:45
yoleaux 12:36Z <jnthn> Zoffix: I was originally thinking of doing it by tweaking the call to Promise.start to pass some extra named arg that'd then cause it to set up the handler. About uncaught_handler, that's a property of a Scheduler; thus, we'd respect the scheduler-level handler that was set (if any).
12:37Z <jnthn> Zoffix: Or alternatively a `start-foo` method (never found a good "foo" word yet; "unsupervised" isn't quite it...)
12:38Z <jnthn> Zoffix: Anyway, we already look up the scheduler inside of .start so we have it handy in there, plus it's less QAST generation required :)
Zoffix .tell jnthn feel free to revert my start-in-sink work. It just a fun experiment. I won't shed tears seeing it gone 12:46
yoleaux Zoffix: I'll pass your message to jnthn.
Zoffix huggable: hug masak
huggable hugs masak
Zoffix masak: that's why it's called huggable.
:)
huggable: hug 3
huggable hugs 3
Zoffix hm
diakopter Zoffix: I think masak named huggable 12:47
or maybe that was au
Zoffix I named it
For "hug the trolls" meme from Audrey
diakopter oh? I thought it was like 10 years old
oh, I'm thinking of another bot that also hugged 12:48
Zoffix huggable: Hug3
huggable Zoffix, Hug 3: We All Leave Footprints. What you do today, the others will follow and do tomorrow. rakudo.party/post/On-Troll-Hugging...footprints
Zoffix masak: and that too... though now I think these are just factoids...
El_Che Zoffix: in that case, it only shows comments when logged in. (I don't have Facebook credentials) 12:53
rindolf El_Che: he left 13:02
leont just wrote his first trait, a parameter one :-) 13:04
E.g. sub MAIN(:$foo is getopt("=i@")) { ... }
tadzik heh, what you're writing reminds me of my GetOpt::Type :P
perlawhirl Cro::HTTP::Server does not seem to allow access from other machines on the LAN... which is fine... but how do I make it work? 13:10
robertle what do you pass into the "host" arg when building it? localhost? 13:11
perlawhirl yes
should I use it's lan address instead?
[Coke] try using a non-local IP addy or hostname.
robertle Cro inherits something I find counter-intuitive: when you bind a socket, it always binds to an address. so in this case it will resolve "localhost" and then bind to 127.0.0.1 or whatever that is on your machine 13:12
[Coke] otherwise it's probably binding only to that interface.
robertle you could use "0.0.0.0" instead, or your actual address.
[Coke] robertle++
robertle I find that weird because when I create a socket in C an bind it, I can bind to just a port and ignore which interface the traffic is on. for me that is what you typically want
perlawhirl robertle++ thanks 13:13
robertle is that a libuv thing? or do we do that on purpose? it also has weird effects for ipv4 vs ipv6
lizmat robertle: perhaps a question for SO or on #cro ? 13:14
[Coke] I'm used to deal with it for other tools.
*dealing
perlawhirl robertle: i'm fairly un-knowlegable on such things... but it seems to me that in "the old days" most web servers allowed access from the LAN by default, but more lately they have mostly moved to opt-in 13:15
i suspect it's due to security concerns ?
scimon In my random "I should be working but I'm writing a talk" kind of way I found "is hidden-from-USAGE". Any reason it's not documented (beyond no one's done it).
robertle right, but there should be a option to bind to any address. otherwise I have to set up multiple servers to get it to listen on all addresses
leont robertle: binding is always to an adress and a port 13:16
robertle leont: really? I am sure I have done that... 13:17
leont You probably used INADDR_ANY
robertle probably! but that is a really useful thing, and I am wondering why there isn't such an option on a perl 6 socket 13:18
leont What do you mean? 13:19
The example in the IO::Socket::Async docs does exactly that 13:20
Well, the first example, the second binds to localhost. All balanced and stuff :-) 13:21
robertle you mean the '0.0.0.0' being the equivalent of INADDR_ANY? yeah, I now seem to get that to work as well. not sure why I had problems before 13:22
ah, hold on, I know!
jnthn I think localhost is a sensible default; it's a bit more secure for local testing, the right thing for container deployment, and probably a right thing for putting an nginx/apache proxy in front of it (which is often a good idea). 13:23
robertle because on my machine "localhost" resolves to "::1" rather than "127.0.0.1"
leont Yeah, in 2018 localhost is probably the better default
robertle and of course you can't bind to an ipv4 and an ipv6 address at the sane time 13:24
robertle note that my problem wasn't with the default, but with the (mistaken) impression that you can't get the behavior of INADDR_ANY and always bind to a specific interface 13:24
robertle jnthn: btw, I managed to golf the atomics segfault/weirdness to a much smaller program. doesn't help e with figuring out anything though... 13:25
jnthn Alas, no
jnthn That'll need a long debugging session on a day when I can think clearer than I can today :) 13:25
robertle do you have any pointers on how to go about it? I would like to play.. 13:26
jnthn No, last I looked at it I was utterly confused what's wrong :) 13:27
jmerelo Hi 14:06
AlexDaniel hi 14:07
jmerelo I'm going to try and prepare a meetup for hacktoberfest, as well as some "special" issues for people to work on. 14:08
Main idea is to have self-contained issues, as in 1. Look up what pod6 is about 2. Check out stuff in perl6intro 3. Check out that.
In hacktoberfest, people flock directly to issues. Letting them face some chosen "easy" issues will probably not get them interested. 14:09
I still have the "help with the doc" issue open, and I'll try to close that up before this, for some people who might be acquainted just a bit with the language.
jmerelo So if y'all see several issues sprung up in the perl6/doc repo, that's the reason. 14:10
jmerelo After hacktoberfest we can leave them like that for squashathons, or close them ourselves. They will also help when or if we eventually apply for Google Summer of Code 14:11
Xliff m: my enum TestE ( A => 0, B, C, D, E ); say TestE.enums; 15:08
yoleaux 10:44Z <Zoffix> Xliff: both work, and the difference is <before> will just stick an empty capture in the match object. I just went with the one that has fewer characters
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared names:
B used at line 1
C used at line 1
D used at line 1
E used at line 1
Xliff So if we use the value form of enum definition, we can't just set the first value and let it count on its own?
Xliff m: my enum TestE ( A => 0, B => 1, C => 2, D => 3, E => 4); say TestE.enums; 15:09
camelia Map.new((A => 0, B => 1, C => 2, D => 3, E => 4))
Xliff Zoffix: Thanks.
jnthn m: my enum TestE << :A(0) B C D E >>; say TestE.enums 15:11
camelia Map.new((A => 0, B => 1, C => 2, D => 3, E => 4))
leont Is there any way to make enums not leak they symbols to their outer scope (So you'd have to writhe Foo::Bar instead of Bar)? 15:12
Xliff jnthn++
leont That part never sat well with me, can easily cause "interesting" issues
moritz m: my enum A <B C D E>; say D 15:13
camelia D
moritz m: { my enum A <B C D E> }; say D
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
D used at line 1
moritz m: { my enum A <B C D E> }; say A::D
camelia Could not find symbol '&D'
in block <unit> at <tmp> line 1
moritz m: constant A = anon enum A <B C D E>; say A::D 15:14
camelia Could not find symbol '&D'
in block <unit> at <tmp> line 1
moritz should that work? :-)
jnthn moritz: Hm, I think yes
Xliff OK. So hopefully this will work... 15:14
m: my enum TestE <A B :C(10) D :E(30) F>; say TestE.enums 15:15
camelia Map.new((:C(10) => 2, :E(30) => 4, A => 0, B => 1, D => 3, F => 5))
Xliff m: my enum TestE <<A B :C(10) D :E(30) F>>; say TestE.enums 15:15
camelia Map.new((A => 0, B => 1, C => 10, D => 11, E => 30, F => 31))
Xliff Ah!
leont m: package Foo { enum <A B C> }; say Foo::A 15:17
camelia A
Xliff Is the <<>> form of enum in the online docs?
leont That sort of works, but isn't intuitive
leont m: package Foo { enum Foo <A B C> }; say Foo::A.perl 15:18
camelia Foo::A
leont would much prefer an «is namespaced» trait, but suspects that can't be written as an add-on as it should make the enum do less not more. 15:23
buggable New CPAN upload: Getopt-Advance-1.0.2.tar.gz by ALOREN modules.perl6.org/dist/Getopt::Adva...pan:ALOREN 15:26
buggable New CPAN upload: Getopt-Advance-1.0.3.tar.gz by ALOREN modules.perl6.org/dist/Getopt::Adva...pan:ALOREN 15:36
erana_ I'm working on a markov strategy gamekit. The objc and small perl6 code is at shameen.ddns.net 15:51
I'll eventually put it on github, when it's about finished
leont I want to upload my p6 dists to CPAN, but so far mi6 is mangling my provides. It seems it really doesn't like my putting multiple classes in one module :-/ 16:02
SmokeMachine what this mean? `Placeholder variables cannot be used in a method` 16:12
what's a Placeholder variable?
[Coke] docs.perl6.org/language/variables 16:13
look for "the ^ twigil" 16:14
if you can, pleaes open a docs ticket about linking that heading to that subject. :)
m: my @powers-of-three = 1,3,9…100;
camelia ( no output )
[Coke] m: my @powers-of-three = 1,3,9…100; say reduce { $^b - $^a }, 0, |@powers-of-three; 16:15
camelia 61
[Coke] $^a and $^b are placeholders.
SmokeMachine ok, thanks...
m: my method { my &a = { $^a } }
camelia ( no output )
[Coke] guess a stray ^ ?
SmokeMachine I forgot a pair of {} on my code... thanks! 16:16
buggable New CPAN upload: TAP-0.0.4.tar.gz by LEONT cpan.metacpan.org/authors/id/L/LE/...0.4.tar.gz 16:17
leont It worked!
[Coke] \o/ 16:21
leont It was a bit more manual than I'd like, but that can be improved in the future. Most of my other dists should be easier. 16:39
lizmat leont++
buggable New CPAN upload: perl6-cache-async-0.1.5.tar.gz by ROBERTLE cpan.metacpan.org/authors/id/R/RO/...1.5.tar.gz 16:46
SmokeMachine m: class P does Positional[Int] {}; class :: { has Int @.a = P.new }.new # how can I do something like this work? 17:18
camelia Type check failed in assignment to @!a; expected Int but got P (P.new)
in block <unit> at <tmp> line 1
jnthn Think you're maybe after `has @.a is P` 17:19
SmokeMachine hum! 17:21
m: class P does Positional[Int] {}; class :: { has @.a is P = P.new }.new # how can I do something like this work?
camelia 5===SORRY!5=== Error while compiling <tmp>
Defaults on compound attribute types not yet implemented. Sorry.
Workaround: Create/Adapt TWEAK method in class <anon|1>, e.g:

method TWEAK() {
@!a := (initial values) unless @!a;…
TimToady m: class P does Positional[Int] {}; class :: { has @.a is P is default(P.new) }.new 17:25
camelia ( no output )
TimToady that is at least not a syntax error 17:26
buggable New CPAN upload: App-Tasks-0.0.2.tar.gz by JMASLAK modules.perl6.org/dist/App::Tasks:cpan:JMASLAK
TimToady Xliff: asking about "the <<>> form of enum" is a bit of a sideways-think 17:27
it's just the list form, and <<>> produces a list
anything else that produces a list of pairs or strings would work
m: my enum TestE ( A => 0, |<B C D E> ); say TestE.enums;
camelia Map.new((A => 0, B => 1, C => 2, D => 3, E => 4))
TimToady m: my enum TestE ( A => 0, slip <B C D E> ); say TestE.enums; 17:28
camelia Map.new((A => 0, B => 1, C => 2, D => 3, E => 4))
TimToady m: my enum TestE ( flat (A => 0), <B C D E> ); say TestE.enums; 17:29
camelia Map.new((A => 0, B => 1, C => 2, D => 3, E => 4))
TimToady (enums used to be only hardwired to a few syntaxes in the parrot days, maybe you're remembering that) 17:31
that's not to say that the <<>> trick shouldn't be documented :)
buggable New CPAN upload: App-Tasks-0.0.3.tar.gz by JMASLAK modules.perl6.org/dist/App::Tasks:cpan:JMASLAK 17:36
jmerelo squashable6: status 17:42
squashable6 jmerelo, Next SQUASHathon in 9 days and ≈16 hours (2018-10-06 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
Geth doc: 12908568a1 | (JJ Merelo)++ | doc/Language/testing.pod6
Deletes Reference Section

It is probably not needed, since everything is in the new Test class description, and it does not match any other similar section in similar pages. This effectively solves #2328, since all wrong links were there. This also helps #2330, by continuing to split content.
17:48
synopsebot Link: doc.perl6.org/language/testing
leont I don't really think testing should be part of the language like that 17:52
pmurias blogs.perl.org/users/pawel_murias/2...arcel.html - rakudo.js update 17:55
pmurias not the finest writing but I guess it's better to post something than procrastinate 17:56
Guest15977 I dropped in here yesterday with a question about continuing only if a chosen name was already an executable. Thanks for the suggestions, everyone. The code that seems to work is: 18:04
exit note "$progname is an existing command\n" if shell "which $progname 2> /dev/null";
though I encountered all sorts of odd results around returns. 18:05
Correction, NOT an executable. 18:06
AlexDaniel Guest15977: it may be ok but it looks fragile to me. Generally, variables can be anything, so what's in $progname may get interpreted by the shell in all kinds of funny ways if it's not sanitized properly. If there's a static string there then fine, maybe, but I still don't understand why you need shell there 18:10
jmerelo leont: the thing is that it actually is. Test is part of roast, part of Synopse so it's Perl 6 through and through.
AlexDaniel i.e. why not `run :!err, 'which', '--', $progname` 18:11
leont I know. I mind have minded less if the thing was well-designed, but it isn't IMNSHO
AlexDaniel or alternatively `run :!err, <which -->, $progname`
Guest15977 I'm aware of the riskd of running unsanitised input, but since I'm the source, it's not that scary. 18:13
AlexDaniel actually it needs :!err and :!out also
Guest15977: that doesn't answer the question why you need shell there in the first place
if it can be done properly why not do it properly 18:14
I mean, it's your code and your choices :)
leont The difficulty in writing extensions (or even customizations) for it is a problem
One can't even define a helper function without messing up the line numbers
jmerelo leont: ugly duckling and all, it deserves documentation, which is what I'm doing as we speak... 18:18
leont Not saying it doesn't need it, just disagreeing with the dewey number ;-)
pmurias what's the dewey number? 18:19
leont Apparently something in the 400s 18:21
pmurias leont: Test isn't super good 18:22
leont: it's not a part of the language because it's so good but because it's required to run roast
jmerelo leont: you lost me there... You mean the issue number? 18:26
leont I meant it's strange to document it as part of the language 18:27
I mean, p5 for example has test.pl to test itself against, but that's clearly an internal library which doesn't also try to be a general purpose testing library.
The two have very different use-cases 18:28
[Coke] jmerelo: en.wikipedia.org/wiki/Dewey_Decima...sification maybe 18:29
leont [Coke]: indeed :-) 18:30
jmerelo [Coke]: what I don't understand is the relationship with Test. 18:32
Ajr_ quit 18:33
Ajr_ exit 18:33
Ajr_ bye 18:33
leont Defining it as part of the language does communicate a certain "this is what you should be using", which to me is currently only true because there isn't anything else yet. 18:34
jmerelo leont: Anyone up for creating an alternative? 18:35
leont I started at some point, but never got around to finishing it. I know others also didn't finish theirs. 18:37
Framework code is tricky but important
Geth doc: bcc0de4989 | (JJ Merelo)++ | 2 files
Edits the rest of the old testing language with links to new Test

This closes #2328. Also makes Test a module, which is what it is. Refs: #2320
18:43
doc: c10703f0aa | (JJ Merelo)++ | doc/Language/testing.pod6
Rephrasing example
synopsebot Link: doc.perl6.org/language/testing
pmurias leont: porting over the seeming super awesome Test2 from Perl 5 seems like a good direction but I have to many project on my plate to help with it much 18:51
Ulti the user count on channel is growing if no one had noticed 18:52
I assume some are bots but I think we are above and beyond bot growth
El_Che half are zoffix bots, the other half are anti-mst spammers :)
Ulti unless Zoffix made a bot that makes bots
I thought the anti mst thing had gone all quiet 18:53
El_Che Ulti: they are muted, but it seems they are not gone (however, the join and quit, do no stay on the channel) 18:54
lizmat Ulti: no, we're just shielded from it
Ulti ahh my script only counts total users not their status 18:55
the hatred is intensifying then.... :(
El_Che everyone gets the +v
the mostly quit before getting one
*they 18:56
El_Che ^--- 18:59
leont pmurias: it has some good ideas, but also some things that one would do very different in perl6 19:01
dynamic variables feel like a good match for contextual stuff
Test2 essentially does a few things better than Test::Builder. It has objects for events (which allows not only for various transformations, but also sane testing). It has a more usable context idea than "skip X level". And its implementation of subtests doesn't involve localizing all the state. 19:04
TimToady I'd still like to get to the state where most of our tests are just a modifier on an existing comparison op that makes the comparison report 19:10
TimToady we could almost just get away now with noticing which comparisons are called in a sink context and treat those as invariants/assertions... 19:14
with pragmas to turn them on and turn them into tests
El_Che TimToady: interesting 19:25
lizmat weekly: wendyga.wordpress.com/2018/09/25/p...the-years/ 20:39
notable6 lizmat, Noted!
uzl Hello, perl6! 20:43
uzl weekly: uzluisf.gitlab.io/posts/perl6-oop-intro/ 20:44
notable6 uzl, Noted!
lizmat uzl++ 20:46
hythm_ p6: class C { has Str $.a; has Str $.b; submethod BUILD (:$!a, :$b) { $!b := $b++ } }; C.new # why I'm getting this error 20:53
camelia Type check failed in assignment to $!a; expected Str but got Any (Any)
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
hythm_ Should not C.new create an object without initializing $!a? 20:55
lizmat hythm_: the BUILD (:$!a) is short for BUILD (:$a) { $!a = $a } 20:57
lizmat since you didn't specify any "a" named in the .new, it is Any, and hence the error 20:58
m: class C { has Str $.a; has Str $.b; submethod BUILD (Str :$!a, :$b) { $!b := $b++ } }; C.new
camelia Cannot resolve caller postfix:<++>(Any); the following candidates
match the type but require mutable arguments:
(Mu:U $a is rw)

The following do not match for other reasons:
(Bool:D $a is rw)
(Bool:U $a is rw --> Bool::False)…
lizmat so I'm not really sure what you're trying to achieve ? 20:59
hythm_ I have list of attributes for class and need to modify one attribute during creating the object 21:01
lizmat perhaps is TWEAK more appropriate ? 21:02
docs.perl6.org/language/objects#in...ntry-TWEAK
hythm_ So i m trying to use BUULD to modify this attribute and leave the rest (if paased to .new or not) intact
lizmat then TWEAK is what you need
hythm_ Thank you. Checking the link 21:03
lizmat yw :-)
weekly: blogs.perl.org/users/pawel_murias/2...arcel.html 21:10
notable6 lizmat, Noted!
hythm_ lizmat, TWEAK does not help in this case, since TWEAK is called after object construction, and the error im getting is as you explained above due to $!a expects Str not Any. ... .. thats why C.new(a => "abc")..... so my question is how to make it work with C.new just like it would work fine without using BUILD.... 21:29
hythm_ Correction: why C.new(a => "abc") works* 21:31
And sorry about the typos, im using mobile) 21:32
jnthn hythm_: Try changing it to Str :$!a in the BUILD signature, so that if there's no argument it defaults to Str, and then binds that 21:34
Also, the $b++ thing isn't going to work, 'cus parameters are readonly
hythm_ That worked, thanks jnthn 21:35
timotimo yeah, you'll probably want .succ instead 21:36
hythm_ Thank you all :-) 21:38
Success how come using the character π says 'Decoder may not be used concurrently' 23:55
Zoffix Success: do you have a piece of code that reproduces that? 23:56
Success say 'π' 23:57
evalable6 π
Success hmm... maybe it's windows causing issues or my installation is broken
Zoffix Success: what's your perl6 version?
Did you run `chcp 65001` in the shell to set utf8 mode? 23:58
On 2018.08-108-ga4db33e I get no issues: 23:59
C:\rakudo>perl6 -e "say π"
3.141592653589793
And quoted it gets printed as trash by default and works fine after you run chcp 65001 to set the prompt into utf8 mode