»ö« 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. |
|||
timotimo | feel free to be astounded, there's a new JSON::Fast release out | 00:00 | |
00:05
noisegul left
00:06
lucasb left,
nine left,
nine joined,
integral joined,
lumin joined,
Spot__ joined,
smash joined,
isimulate joined
00:07
SyrupThinker joined,
isacl___ joined,
cjkinni joined,
rba[m] joined,
SyrupThinker is now known as Guest58215,
sergiotarxz[m] joined
00:11
renormalist joined,
cosimo joined
|
|||
cpan-p6 | New module released to CPAN! JSON::Fast (0.9.14) by 03TIMOTIMO | 00:11 | |
timotimo | you can now have support for parsing multiple json blobs in the same string | 00:12 | |
00:26
MilkmanDan left
00:28
MilkmanDan joined
00:44
telex left
00:46
[Coke] joined,
[Coke] left,
[Coke] joined
00:47
[Coke] left
00:52
telex joined
00:54
ChoppedBacon joined
00:57
mahafyi left
00:58
mahafyi joined
00:59
telex left
01:08
telex joined
01:10
Guest58215 is now known as SyrupThinker,
SyrupThinker is now known as Guest2168
01:11
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:17
telex left
01:26
telex joined
01:45
aborazmeh left
01:50
telex left
01:51
molaf_ joined
01:55
molaf left
01:58
telex joined
02:09
mahafyi left
02:10
mowcat left
02:18
Itaipu_ left
02:20
Guest2168 is now known as SyrupThinker,
SyrupThinker is now known as Guest62229
02:27
telex left,
telex joined
02:28
Itaipu joined
02:33
Itaipu left
02:35
cpan-p6 left
02:36
Itaipu joined
02:37
cpan-p6 joined,
cpan-p6 left,
cpan-p6 joined
02:47
jeromelanteri joined
03:03
noisegul joined
03:08
nuclearsandwich_ left
03:15
kaare__ left
03:45
Cabanossi left
03:49
Cabanossi joined
03:50
mahafyi joined
04:03
molaf_ left
04:04
DrForr_ left,
imhtrg joined
04:09
imhtrg left
04:14
hoelzro joined
04:17
jmerelo joined
04:20
mahafyi left
|
|||
jmerelo | releasable6: status | 04:21 | |
releasable6 | jmerelo, Next release will happen when it's ready. R6 is down. At least 4 blockers. 262 out of 660 commits logged (⚠ 1 warnings) | ||
jmerelo, Details: gist.github.com/bfa44250ea14bd175b...c2d00ff425 | |||
04:59
discord6 joined,
discord6 left,
discord6 joined
|
|||
Geth | doc: 16f2a1901b | (JJ Merelo)++ | doc/Type/X/Control.pod6 Clarifies example in a control environment This closes #2871; also closes #2551 since that's been cleared up already. |
05:09 | |
synopsebot_ | Link: doc.perl6.org/type/X::Control | ||
05:38
sauvin joined
06:01
jmerelo left
06:09
jeromelanteri left
06:27
andrzejku joined
06:35
jeromelanteri joined
06:54
domidumont joined
07:11
nepugia joined
07:13
patrickb joined
07:25
pecastro joined
07:32
zakharyas joined
07:37
dakkar joined
07:40
sena_kun joined
07:57
[particle] joined
07:58
[particle]2 left,
Guest62229 left
07:59
SyrupThinker joined
08:01
dolmen joined
08:13
dolmen left
08:14
dolmen joined
08:28
satori__ left
08:42
rindolf joined
08:43
kensanata joined
09:03
clarkema joined
09:09
demanuel joined
|
|||
nebuchadnezzar | hello | 09:11 | |
Do you know that rakudo.party certificates expires on 2019 May 28th? | 09:12 | ||
ok, even when I accept the certificat it results in 503 service unavailable :-/ | 09:13 | ||
09:16
satori__ joined
|
|||
AlexDaniel | rba[m]: ↑ that thing too :) | 09:35 | |
nebuchadnezzar: yeah, we were supposed to transfer these websites but lately the infrastructure had some difficulties | |||
09:36
goon_ left
|
|||
nebuchadnezzar | AlexDaniel: ok, so I'll wait to share the article “On Troll Hugging, Hole Digging, and Improving Open Source Communities” | 09:41 | |
AlexDaniel | nebuchadnezzar: what about blogs.perl.org/users/zoffix_znet/20...ities.html | 09:42 | |
nebuchadnezzar | AlexDaniel: it's missing the images ;-) | 09:43 | |
AlexDaniel | doesn't have the pictures… | ||
yeah | |||
what about web.archive.org/web/20181118101555...ities.html | |||
nebuchadnezzar | AlexDaniel: it's not urgent, it can wait | ||
AlexDaniel | :) | ||
nebuchadnezzar: I just don't know how long you'll wait, there's progress on the infrastructure but it's very slow and gradual | |||
nebuchadnezzar | AlexDaniel: thanks for the information | 09:45 | |
09:54
rba joined
09:58
domidumont left
|
|||
rba | AlexDaniel and nebuchadnezzar: I haven't had rakudo.party on my scope. Was this on the broken server too? I thought is something from zoffix? | 10:00 | |
AlexDaniel | rba: yes, it was on Zoffix's server, but it's an important resource | ||
even undersightable6 checked for its availability | 10:01 | ||
rba: IIRC all of that stuff is on github somewhere, and we should've moved it to our servers | |||
rba | Ok. May someone give me more information. Btw. perl6.party is showing unavailable too. | ||
AlexDaniel | but seems like everyone was busy with their stuff so that didn't happen | ||
rba | May I ask someone who has some infos to open a problem-solving ticktet for this to make shure it's not getting lost? | 10:02 | |
patrickb | rba: Quick search brought up this: github.com/zoffixznet/perl6.party/...aster/post | 10:03 | |
AlexDaniel | rba: colabti.org/irclogger/irclogger_lo...01-06#l329 | 10:04 | |
rba: plus some messages above | |||
also I miss Zoffix | |||
kawaii | iirc he was somewhat active recently | 10:05 | |
at least, it seems like he's still interested in Perl 6, he reported a dead link a few weeks back | 10:06 | ||
lizmat | I also miss Zoffix | ||
I hope we can settle on renaming "Perl 6" to "Rakudo" | |||
AlexDaniel | kawaii: he also helped to transfer z tool recently github.com/perl6/z | ||
lizmat: I hope we can settle on renaming, yes, yes… :) | |||
lizmat: though even my suggestion to move rakudo repo to perl6 org didn't fly well recently | 10:07 | ||
which isn't as big of a deal as people tend to suggest | |||
rba | afk for lunch. will follow up later and if not yet open I will open an issue. | 10:08 | |
AlexDaniel | it's just so that I and other can move goddamn tickets, and because having separate orgs is pointless anyway | ||
but whatever | |||
kawaii | Is that really an 'us' decision? ;) | ||
docs.perl6.org/language/faq#Why_is...lled_Perl? | |||
I'm not against having Rakudo moved into perl6/ I just wanted to question it further so we didn't miss anything | 10:09 | ||
AlexDaniel | (that's the ticket for the thing I'm referring to github.com/perl6/problem-solving/issues/46 fo ) | ||
that ticket really reminds me of discussions about RT | |||
and how everyone is against for some bullshit reasons, and in the end we still had to open github issue tracker and now it's good that we've done so | 10:10 | ||
10:12
Black_Ribbon left
|
|||
lizmat | AlexDaniel: pretty sure it was no "some bullshit reason" at the time | 10:12 | |
since then, Github has grown in features, stability and ubiquity | 10:13 | ||
AlexDaniel | every time we have these discussions “at the time” means five-ten years ago and no longer relevant or useful | ||
lizmat | true | ||
fwiw, I never liked RT and was glad we moved to Github | |||
jnthn | I consider the language/compiler distinction both still relevant and useful. | 10:14 | |
lizmat | like many great Perl 5 driven platforms, it lacked in maintenance and therefore features that other platforms did provide | ||
sena_kun can agree on repo moving to be a LTA idea, we get easy ticket moving and also sudden 404 for all the scripts, tools, browser histories and such that know the old links | |||
jnthn | And, potentially, important for the future. | ||
kawaii | jnthn: Yes I did mention when it was first raised that Rakudo != Perl 6, and should not be considered the 'defacto' or 'official' compiler. Someone new to the language could easily be mislead. | 10:15 | |
AlexDaniel | the distinction has nothing to do with what github organization the repo is in | ||
also, github will provide redirects for some time at least | |||
jnthn | Also, branding my contributions on problem-solving as "bullshit reasons" is a REALLY good way to kill my motivation to look at those. | ||
AlexDaniel | bullshit reasons on that ticket have nothing to do with your other great contributions | 10:16 | |
jnthn | Just because you disagree doesn't make it bullshit. | ||
Please pick a more constructive criticism. | 10:17 | ||
AlexDaniel | sure, once I have time to respond. Maybe soon, maybe never | 10:23 | |
kawaii | :( | 10:24 | |
AlexDaniel | whether it is the naming, or the issue tracker, or having unnecessary separate github orgs, it's just easier to spend the time we spend on discussion to actually do the change and move on | 10:26 | |
though admittedly it was my mistake when I opened the issue tracker on rakudo/rakudo, should've thought ahead of time that it's in the wrong org | 10:28 | ||
but it's interesting how it wasn't a big deal when language bugs/feature requests were filed in rakudo/rakudo, and everyone seemed to be fine with it | 10:29 | ||
10:30
dolmen left
|
|||
sena_kun | I have a feeling that if a user has write rights to both repo/orgs, then inter-organization ticket moving should be possible, so it is something to request from github, not argue about. | 10:30 | |
AlexDaniel | and now that we have the problem-solving repo and things are a bit more clear, oh no, you can't move rakudo/rakudo because language and the compiler are separate!!! | ||
patrickb | This discussion has reached a point, where statements are strongly percieved to contain a personal component. May I ask you to continue this later. | ||
AlexDaniel | sena_kun: yeah and then we somehow have different policies for contributors and stuff, which also needs to be fixed | 10:31 | |
sure I'll continue this later. Meanwhile please think how to improve things instead of dragging things down. Would be great to have one less reason for people to leave | 10:34 | ||
kawaii | Yes I did wonder why I signed a CLA to get access to Rakudo when Rakudo is a 3rd party project not directly managed by TPF? | ||
AlexDaniel | kawaii: yes definitely! | 10:37 | |
kawaii: it should be clear, I think, but it doesn't hurt for sure | |||
kawaii: it seems like nobody else experiences R#2759, so it's probably fine and we'll just remove the label a bit later | |||
synopsebot_ | R#2759 [open]: github.com/rakudo/rakudo/issues/2759 [BLOCKER][REPL] REPL: Internal error: unhandled encoding (Readline) | ||
lizmat | AlexDaniel: agree with removing the blocker for now | 10:38 | |
kawaii | Alright, I'll post the results later tonight then :) | ||
AlexDaniel | kawaii: as for R##3000, I don't think it's revertable because it fixed too many things | ||
R#3000 | |||
synopsebot_ | R#3000 [open]: github.com/rakudo/rakudo/issues/3000 [BLOCKER][regression] “parser did not give circumfix an EXPR” after “Re-implement colon list processing” commit | ||
AlexDaniel | kawaii: R#3009 is something we can maybe ignore if we want to get the release going, but it's extremely annoying when you get red AppVeyor for no good reason… I wish we fixed it | 10:39 | |
synopsebot_ | R#3009 [open]: github.com/rakudo/rakudo/issues/3009 [BLOCKER] Intermittent failure in 06-struct.t on Windows | ||
kawaii | I'll spend some time next week getting a platform where we can rerun Blin nightly and have the results uploaded to somewhere | ||
my time this week has been consumed working on my bot for Discord Hack Week so I can hopefully win a free t-shirt :( | 10:40 | ||
AlexDaniel | kawaii: R#3011 is now fixed in the module, I think, so we can kinda remove the blocker label. It's a weird ticket, I can't say that current rakudo breaks anything… IIRC it has always been a bit broken | 10:41 | |
synopsebot_ | R#3011 [open]: github.com/rakudo/rakudo/issues/3011 [BLOCKER][weird] Weird “P6M Merging GLOBAL symbols failed” issue | ||
AlexDaniel | kawaii: also I accidentally answered on this channel instead of #perl6-dev :) | 10:42 | |
releasable6: status | |||
releasable6 | AlexDaniel, Next release will happen when it's ready. R6 is down. At least 4 blockers. 262 out of 660 commits logged (⚠ 1 warnings) | ||
AlexDaniel, Details: gist.github.com/ed92df1e53f5cdcabf...77ee1e6b9f | |||
AlexDaniel | good bot, says that R6 is down :) | 10:43 | |
11:14
dolmen joined
|
|||
dolmen | How can I declare an argument for MAIN that adds each occurence of a parameter value to a array of Str ? | 11:29 | |
I tried: unit sub MAIN(Str :param(@param)); | 11:30 | ||
AlexDaniel | this works I think: perl6 -e 'sub MAIN(:@foo) { say @foo }' --foo=abc --foo=def --foo=xyz | ||
ideally it should be Str :@foo but somehow that doesn't work | 11:31 | ||
dolmen | And how to change the name of the argument exposed to the world? | ||
I want the usage to be --param but the variable being named @params... | |||
AlexDaniel | sub MAIN(:blah(:@foo)) { say @foo }' --blah=abc --blah=def --blah=xyz | ||
11:32
goon_ joined
11:33
sena_kun left
11:34
sena_kun joined,
zakharyas left
11:53
molaf joined
12:09
dolmen left
12:13
dolmen joined
12:14
dolmen left
12:15
dolmen joined
12:16
dolmen left
12:21
kensanata left,
abraxxa left
12:24
abraxxa joined
|
|||
Geth | ¦ problem-solving: rba self-assigned rakudo.party github.com/perl6/problem-solving/issues/52 | 12:30 | |
¦ problem-solving: rba assigned to maettu Issue rakudo.party github.com/perl6/problem-solving/issues/52 | |||
12:30
andrzejku left
12:32
domm joined
12:35
dolmen joined
12:36
xinming_ joined
12:39
satori__ left,
xinming left
12:40
dolmen left
12:41
zakharyas joined
12:43
pmurias joined
|
|||
pmurias | vrurg: the js backend should now build after the recent build system changes | 12:45 | |
yoleaux | 21 Jun 2019 18:07Z <nine> pmurias: yes, it will. But I don't see another way without losing all the benefits. And the user still has the choice to opt out via no precompilation; | ||
kawaii | can I just say I love the `given ($thing) { when x {} } ` way of doing control flow in P6, waaaaaay better than if/elsif | 12:56 | |
12:58
pmurias left
|
|||
sena_kun | kawaii, and parens are not even necessary. ;) | 13:17 | |
kawaii | sena_kun: ah thank you for pointing that out! | ||
sena_kun | m: given 5 { when *.is-prime { 1.say } } | 13:18 | |
camelia | 1 | ||
13:28
titsuki joined
|
|||
xinming_ | kawaii: The given when is the switch in perl6. But the most advanced one switch statement in programming language. | 13:29 | |
and also, given $x { ... } can be used alone. | |||
given $x { .say; } | 13:30 | ||
m: my $x = 3; given $x { .say }; | |||
camelia | 3 | ||
kawaii | oh that's pretty cool! | 13:31 | |
jnthn | Also, for lines() { when /blah/ { } } works because `for` also (by default) sets $_ | 13:32 | |
13:32
MasterDuke joined,
dolmen joined
|
|||
xinming_ | kawaii: Do you see the design consistency in perl6? | 13:32 | |
:-) | 13:33 | ||
kawaii | If there's one comment I have about Perl 6, it's that the language is the most intuitive I've seen | 13:35 | |
I did not come from a Perl 5 background, I can't read or write Perl 5 easily at all | |||
xinming_ | when we use perl6, We feel excited about this. I sometimes feel, that it is the same feeling when people can use perl5 in 1995 | ||
13:35
pmurias joined
13:40
dolmen left
13:43
mahafyi joined,
farcas82regreg left
13:44
dolmen joined
13:45
Cabanossi left
13:46
dolmen left
13:48
Cabanossi joined
|
|||
Geth | doc: coke self-assigned xt/aspell.t doc/Language/unicode_entry.pod6 github.com/perl6/doc/issues/2869 e08cb651bd | Coke++ | xt/code.pws |
13:53 | |
doc: f2522e28c9 | Coke++ | xt/words.pws Track new "words" from sample code. Resolves #2869 |
|||
13:55
nepugia left
13:56
dolmen joined
14:11
satori__ joined,
dolmen left
14:16
pamplemousse joined
14:17
MilkmanDan left
14:18
MilkmanDan joined
14:23
guifa2 joined
14:24
kensanata joined,
rindolf left
14:27
rindolf joined
14:29
dolmen joined
14:44
imhtrg joined
14:47
MilkmanDan left
|
|||
dolmen | Following my questions about flags for MAIN, I don't understand why I get usage instead of correct execution for this simple code: | 14:47 | |
perl6 -e 'unit sub MAIN(Str $arg1, :flag(@flags)); say $arg1; say @flags' --flag=X x | |||
14:48
MilkmanDan joined
|
|||
dolmen | Shorter: perl6 -e 'unit sub MAIN(:flag(@flags)); say @flags' --flag=X | 14:49 | |
14:51
jeromelanteri left
|
|||
cpan-p6 | New module released to CPAN! GTK::Glade (0.8.5) by 03MARTIMM | 14:51 | |
Voldenet | dolmen: this will work though `perl6 -e 'unit sub MAIN(:flag(@flags)); say @flags' –flag=X –flag=X2` | ||
dolmen | So what do I have to change in the signature to make it work for just 1 --flag value? | 14:52 | |
Voldenet | dolmen: `perl6 -e 'unit sub MAIN(:flag($flags)); say $flags' –flag=X` | 14:53 | |
dolmen | (It works for 0 value, and more than 2) | ||
Voldenet | erm | ||
dolmen: `perl6 -e 'unit sub MAIN(:flag($flags)); say $flags' --flag=X` | |||
dolmen | I want it to work for 0..Inf values. | 14:54 | |
Voldenet | It will, try passing more arguments :) | ||
dolmen | Oh it works. | ||
But I would like the resulting type to always be an array. | 14:55 | ||
Empty array if no args. Array with 1 element with 1 flag. Array with $_ element with $_ flags. | 14:56 | ||
Voldenet | I don't usually cast using signatures, so I've got no idea what I'm doing, but `unit sub MAIN(Array() :flag($flags));` is somewhat closer | 14:58 | |
14:58
kaare__ joined
15:03
pmurias left,
kensanata left
15:14
Sgeo joined
15:15
Sgeo_ left
15:19
abraxxa left
|
|||
cpan-p6 | New module released to CPAN! GTK::V3 (0.13.2) by 03MARTIMM | 15:21 | |
15:35
jmerelo joined
|
|||
kawaii | I can't seem to remember, but is there a `zef` command you can run in the root of a project directory to just find all the things you need and download them? | 15:47 | |
jmerelo | kawaii: it might, but I really don't remember | ||
timotimo | i mean there's zef --deps-only install . | 15:48 | |
or maybe it's --depsonly | |||
15:48
patrickb left
|
|||
kawaii | ah jmerelo! I wanted to ask, do you own the Google form for the user survey? :) | 15:48 | |
15:48
ravenousmoose_ left
|
|||
jmerelo | kawaii: one of the owners, yes. Want me to share it with you? | 15:48 | |
kawaii | Yes please, [email@hidden.address] just wanted to check out the results :) | 15:49 | |
lizmat | dolmen: that problem got recently fixed in bleed, which version are you using ? | ||
jmerelo | kawaii: here you go. Nice domain, BTW | 15:50 | |
kawaii | jmerelo: thanks :) | ||
jmerelo | We have 180 answers right now. Anyone around not filled it, please do so: docs.google.com/forms/d/e/1FAIpQLS...g/viewform | ||
lizmat | weekly: perlcon.eu/schedule | 16:02 | |
notable6 | lizmat, Noted! | ||
jmerelo | squashable6: status | 16:04 | |
squashable6 | jmerelo, Next SQUASHathon in 7 days and ≈11 hours (2019-07-06 UTC-14⌁UTC+20). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
jmerelo | Squashathon is coming! | ||
16:05
pamplemousse_ joined
16:06
ravenousmoose joined
16:09
pamplemousse left
|
|||
TreyHarris | kawaii, timotimo: zef install --deps-only . | 16:11 | |
jmerelo | TreyHarris: but that looks into META6.json and installs what's in there. It does not dive into the .pm6 looking for modules. | 16:12 | |
TreyHarris | jmerelo: yes, but automatic dependency graph generation isn't something Perl 6 currently provides, does it? | 16:13 | |
Not to mention, if your uses of community modules aren't fully-qualified it may be ambiguous or even unsafe to automatically download and install them. META6.json specifies the developers' intent | 16:15 | ||
I'd say use a tool to fill META6.json. Not zef's job. | |||
16:15
kktt joined,
kktt left
|
|||
jmerelo | TreyHarris: I'm not sure, but I would say no... | 16:15 | |
16:15
kktt joined
|
|||
TreyHarris | jmerelo: Is there a discussion of the control stuff that led to your changing "oops" to "Vaya" yesterday? I stared at that commit for awhile and just gave up trying to understand it, I admit ;-) | 16:16 | |
16:17
lvdb joined
|
|||
jmerelo | TreyHarris: I just liked Vaya more, which is like Oops in Spanish. I finally didn't use "loop" for the example, but a sub | 16:18 | |
TreyHarris | ahhh! Wasn't aware vaya was oops, so I was totally confused. I thought "vaya" was an imperative "go away!" | 16:19 | |
jmerelo | TreyHarris: it's no big deal, simply that it was using CONTROL outside a control structure. Technically correct, but not what it was intended | ||
TreyHarris: that would be váyase (formal), or vete (informal). Vaya is a mild expression of disappointment. | 16:20 | ||
16:20
ravenousmoose left
16:22
ravenousmoose joined
|
|||
TreyHarris | Ah. Mi español es muy rudimentario. Puedo hablar con niños un poco tontos. | 16:22 | |
El_Che | Vaya con Dios | ||
jmerelo | TreyHarris: looks fine to me :-) | ||
El_Che | www.youtube.com/watch?v=tgUyDhwDFdU | ||
TreyHarris | Better than Beto's maybe lol | ||
jmerelo | El_Che: nice group. From Belgium, were they? | 16:23 | |
El_Che | yeah, local | ||
TreyHarris | The problem with getting a computational linguistics degree is that at any time you're studying three or four languages from different language families AND picking up one or two programming languages at the same time... I can read six languages with help from a dictionary, but I can't speak any of them except English (and not even that one much of the time). | 16:24 | |
jmerelo | Linguistics and Perl seem to go so much together... | 16:26 | |
TreyHarris | One semester I was studying Spanish, Russian, Japanese, and Swahili all at once, and in conversational Spanish spontaneously produced the sentence "Mi knigi-ga están dorm yango-ni" | 16:27 | |
jmerelo | TreyHarris: He | 16:28 | |
TreyHarris | yeah--my honors thesis was on how the use of Perl (5 then) idioms and the choice of when to suffix conditionals and use "silent $_" (what we'd now call the unbound topic) in CPAN modules reflected natural language discourse maxims | 16:30 | |
16:30
dakkar left
16:32
mowcat joined
16:34
dolmen left
|
|||
TreyHarris | Speaking of... I'd like to remove "use active voice" from Contributing.md. It's a grammar-maven shibboleth that passive voice is harder to understand or creates unnecessary ambiguity that's never been shown in research to be true. And passive voice is frequently used in technical documentation because the agent is either the writer or the reader, which doesn't make sense to express explicitly. Uh, "Writers | 16:38 | |
frequently use passive voice in technical documentation"? Uh, no. Doesn't mean the same thing. Proves the point ;-) | |||
timotimo | %) | 16:40 | |
16:41
pamplemousse_ is now known as pamplemousse
|
|||
TreyHarris | I'd be fine with `prefer the active voice to the passive voice used with the word "by"--e.g., "this is used by crafty programmers" -> "crafty programmers use this"`, which is probably what moritz (it looks like from git-blame) was going for in adding the line at all | 16:41 | |
16:41
mowcat left
16:42
cpan-p6 left,
cpan-p6 joined,
cpan-p6 left,
cpan-p6 joined
16:45
mowcat joined
|
|||
Geth | doc: 86954b9cf8 | (Trey Harris)++ | CONTRIBUTING.md CONTRIBUTING.md: refine passive voice principle There's nothing wrong with the passive voice used correctly. Uh, "there's nothing wrong with my using the passive voice?" "There's nothing wrong with our using the passive voice?" Uh, no. ;-) Technical documentation frequently needs the passive voice because the ... (6 more lines) |
16:56 | |
TreyHarris | There. | ||
TimToady | Passive voice is approved of by me, except when it isn't. | 16:58 | |
timotimo | "use of ventriloquism in the technical documentation is to be avoided at all costs" | ||
TreyHarris | TimToady: In my aforementioned honors thesis, I believe I wrote that you invented the concept of using verbal mood and aspect in programming languages; why not voice, too? I guess we already have a sort of middle voice vs. active voice, don't we? | 16:59 | |
Maybe more antipassive than middle | 17:00 | ||
timotimo | does your honors thesis also include a section about honorifics? | ||
TreyHarris | timotimo: no, I hadn't made that connection until I saw someone else make it (did TimToady do it first?). But there were lots of natural-language features of Perl I saw used in idiomatic ways on CPAN that I couldn't mention for time and space | 17:02 | |
I honestly can't remember the honorifics connection now, though, just that it was made... sigils and twigils are honorifics? | 17:03 | ||
tyil | jmerelo: poke | ||
timotimo | oh, i was just trying to do a pun | 17:04 | |
though tbh many times silly puns can lead people to think in a direction that is ultimately and surprisingly productive | |||
also, now i am interested in where a honorifics connection exists | |||
TreyHarris | ah, honors thesis, honorifics... I get it. I think of honorifics as 敬語 (keigo) so I don't normally consider the English derivation | 17:06 | |
kawaii | I'm trying to sanitise some user input, they should only enter the command followed by an ID number, or a 'tag' which is basically `<@$user-id>`... But this doesn't seem to work, any regex experts here? :) www.irccloud.com/pastebin/jOIwi3bw/ | 17:07 | |
TreyHarris | In American baccalaureate degrees, you can graduate "with honors" if you do extra work, one piece of which is to write a thesis. | ||
17:08
lvdb left
|
|||
timotimo | ah | 17:10 | |
TreyHarris | As it happens, I left for the siren-call of a dotcom startup before graduating, so the thesis didn't count for much. But it was fun to write. | ||
17:10
ravenousmoose left
|
|||
timotimo | m: say '<@99>' ~~ / '<@' '!'? <( \d+ )> '>' /; | 17:11 | |
camelia | 「99」 | ||
timotimo | kawaii: what's $cmd-obj.args? | ||
also, you can feel free to leave out the ( ) for your if statement | |||
17:11
dolmen joined
|
|||
kawaii | timotimo: uh, like a string of whatever they entered after the command trigger word | 17:11 | |
I just want to cut out anything that isn't the first string of numbers | 17:12 | ||
timotimo | right, that code you have should normally do it | ||
kawaii | timotimo: ` invalid input syntax for integer: "<@496805464491687949>"` | 17:13 | |
TreyHarris | timotimo: you can leave out the round brackets? But then the assignment from $/ won't work, will it? | ||
timotimo | whenever i'm translating something to german, i have trouble deciding between "du" and "Sie", which is a question of honorifics, really | ||
TreyHarris: no, i mean the if ( ... ) { } part can just be if ... { } instead | 17:14 | ||
kawaii: sounds like the match didn't suecceed, and i'm not sure why it wouldn't :\ | |||
TreyHarris | timotimo: Oh! I thought you meant the `<( \d+ )>` could be `< \d+ >` and was confused. Gotcha. | ||
timotimo | can you print the .perl of $cmd-obj.args perhaps? | ||
lizmat | .oO( Sie vs du in German is now you and U in American ) |
17:15 | |
timotimo | <( and )> are actually two independent tokens | ||
they control where the start and end of a match will be placed | |||
i like to call them "inside-out lookahead and lookbehind" | |||
kawaii: oh, you also may want to .Int or .Str.Int the $/ before putting it into $user-id | 17:16 | ||
kawaii | www.irccloud.com/pastebin/6flzOHGX/ | ||
uh, ooops | |||
ah I'm missing a \ apparently? | |||
timotimo | but that shouldn't be as important | ||
no, i think that's from the .perl | |||
17:16
rba left
|
|||
TreyHarris | lizmat: *In American Gen Y and Z I think. To boomers and most Gen X'ers, I think 'U' just looks like a shortcut or l33t-speak exactly equivalent to "you". But I won't argue with the emerging metaphor, it's very nice! | 17:16 | |
timotimo | m: say '<@1234>'.perl | ||
camelia | "<\@1234>" | ||
timotimo | because @123 is actually short-hand for @($/[123]) | 17:17 | |
17:17
dolmen left
|
|||
kawaii | maybe I should simplify this and just scrap any content from cmd-obj.args that isn't a string of numbers? | 17:17 | |
lizmat | kawaii timotimo related: github.com/perl6/problem-solving/issues/44 | 17:18 | |
timotimo | are you expecting exactly one? | ||
lizmat: i saw :) | |||
kawaii | yes, I'd like to discard any more | ||
timotimo | ok, in that case i think your current code is the most straight-forward piece | 17:19 | |
kawaii | i.e. find the first set of numbers, so if $cmd-obj.args = "1 947 10348944", it would return 1 and nothing more | ||
TreyHarris | Whoah, @123 is shorthand for... oh, of course. I see. That's kind of like seeing 'q++' used for the empty string, it just feels like it can't be that, it must obviously be this other thing it isn't. | ||
timotimo | kawaii: perhaps later in the code you're accidentally using $cmd.args instead of $user-id or something | ||
does printf-debugging tell you what's up? | 17:20 | ||
or, you know, even using an actual debugger, like comma has | |||
TreyHarris: i don't know what q++ refers to here? | |||
oh | |||
kawaii | oh you could be right! | ||
timotimo | now i get it :) | ||
that's hilarious, i should start using that | 17:21 | ||
TreyHarris | The "invalid input syntax for integer" message might be relevant? Why would that be generated from that code snippet? It's gotta be coming from elsewhere | ||
timotimo | yeah, it probably comes from a/the server | ||
TreyHarris | timotimo: I can't claim credit; Damian used it in an obfuscated Perl contest entry | ||
timotimo | it was already valid in perl 5 and earlier i expect? | 17:22 | |
lizmat | m: dd Q++ # for Star Trek fans :-) | ||
camelia | "" | ||
TreyHarris | Perl 5, yes; were q/qq/qw operators in Perl 4? I don't believe so | 17:23 | |
timotimo | Q is a lot more verbose than that, aren't they? :D | ||
or i guess Q are? | 17:25 | ||
Qs? | |||
The Qs? The Q? | |||
i'm not sufficiently educated in star trek lore to adequately address Q | 17:26 | ||
TreyHarris | timotimo: unfortunately, you won't get any satisfaction from canon sources on that; John de Lancie said "Qs" a couple times. By Voyager, they'd settled on "Q are" for the general and "Q is" for the singular | 17:30 | |
timotimo | that probably fits the "impossible for human minds to comprehend" nature | 17:31 | |
17:33
rba joined,
|oLa| joined
17:39
empee0 joined
17:42
zakharyas left
|
|||
timotimo | lizmat: did you by chance have a look at the JSON::Fast feature i just recently added? | 17:43 | |
17:45
pecastro left
17:46
pecastro joined
|
|||
lizmat | timotimo: the changelog message doesn't do it justice... the new Additional features section does :-) | 17:49 | |
timotimo | you mean the Changes file or the git commit log? | 17:51 | |
lizmat | the Changes file | ||
timotimo | hm, i don't see what it's lacking; if you think it's a sufficiently big deal, i'd totally accept a patch, though | 17:52 | |
lizmat | it didn't really click that the structured exception allows one to just do another parse starting at X | 17:53 | |
17:53
|oLa| left
|
|||
lizmat | FWIW, maybe a "from-jsons" sub would be appropriate to capture that idea ? | 17:54 | |
or "from-multi-json" | |||
timotimo | that's also what the original ticket asked for. hmm. | ||
lizmat | the only problem I see with really faulty JSON: when should it stop trying to make sense ? | 17:55 | |
ah, no, this is only additional data at the outer level, right | |||
timotimo | in that case you get a different exception | ||
that's right | |||
lizmat | ack | 17:56 | |
timotimo | though more structured exceptions in general could be good | ||
lizmat | yeah... | 17:58 | |
BTW, I've been trying to get from-json faster, based on a completely Uni based approach | 17:59 | ||
timotimo | when parsing fails, it should be not too difficult and hopefully not too expensive to give a jsonpath-like hint where parsing was when it hit the error | ||
ah, that's good | |||
lizmat | I managed to get it 20% faster for a 5MB JSON file | ||
timotimo | *nice* | ||
lizmat | however, it made small JSON, like "{ foo: true }" slower | 18:00 | |
timotimo | when we have support for non-normalized Uni, that'll allow us to represent strings with arbitrary mixes of normalization and such | ||
lizmat | and I think in general, that is the more common case... | ||
18:00
AlexDaniel left,
AlexDaniel joined
|
|||
timotimo | of course, the program would need to spit out Uni in that case | 18:00 | |
lizmat | I *think* the fact that the whole string gets Uni-fied and then Str-ified again, is the reason for making the small JSON strings slower | 18:01 | |
timotimo | hm. so the "foo" going from Uni to Str could be the issue? | ||
lizmat | well... the profiler was borked until recently :-) | 18:02 | |
I guess I could try that again now :-) | 18:03 | ||
18:04
ravenousmoose joined
|
|||
Xliff | Does anyone know what this error message means: | 18:06 | |
"Type check failed for return value; expected OpenSSL::Bio::BIO_METHOD but got Whatever (*)" | 18:07 | ||
This looks like an OpenSSL::Bio problem. Bug there? | |||
timotimo | a stack trace would be good | ||
but yeah, does look a little bit like a bug | 18:08 | ||
Xliff | Best way to generate one? | ||
Because it is not a gdb crash. | |||
TreyHarris | use fatal? | ||
Geth | ¦ problem-solving: AlexDaniel self-assigned Release process changes github.com/perl6/problem-solving/issues/54 | ||
18:08
jmerelo left
|
|||
timotimo | is something nomming up the exception? | 18:08 | |
Xliff | TreyHarris: The problem is "use Test" | ||
This throws inside a lives-ok | 18:09 | ||
timotimo | oh | ||
then just CATCH { .say } in there | |||
Xliff | I do catch .message.say. Is .say better? | ||
TreyHarris | Xliff: yeah. anything inside a lives-ok is under the no fatal pragma anyway | ||
timotimo | yeah | 18:10 | |
message won't give you a stack trace | |||
Xliff | So can't even do .say. Would have to diag $_ and hope for backtrace. | ||
Geth | ¦ problem-solving: AlexDaniel self-assigned Changelogging takes too much time and effort github.com/perl6/problem-solving/issues/53 | ||
timotimo | how do you mean? | ||
TreyHarris | sorry, I meant "is under the use fatal pragma anyway", thinkod 'no fatal' by mistake. So a CATCH { $*ERR.say } should work if you run it directly rather than through a TAP harness | 18:11 | |
sorry, a `CATCH { $*ERR.say: $_ }` | 18:12 | ||
I forget zero-arg say method prints a newline, not the exterior topic | |||
timotimo | TreyHarris: i didn't know lives-ok could just do that? | ||
actually, doesn't zero-arg say throw an exception at compile time? | |||
m: say | |||
camelia | 5===SORRY!5=== Argument to "say" seems to be malformed at <tmp>:1 ------> 3say7⏏5<EOL> Other potential difficulties: Unsupported use of bare "say"; in Perl 6 please use .say if you meant to call it as a method on $_, or use an … |
18:13 | |
TreyHarris | timotimo: look at Test.pm's code and you'll see | ||
m: $*ERR.say() | |||
camelia | |||
TreyHarris | method, not sub | ||
I guess that's technically unary, not zero | |||
18:14
|oLa| joined
|
|||
timotimo | TreyHarris: i don't see where lives-ok does the "use fatal" thing | 18:14 | |
TreyHarris | m: use Test; sub fails() { fail "oh no" }; lives-ok({ fails; CATCH { $*ERR.say: "oops, $_" } } ) | 18:15 | |
camelia | oops, oh no not ok 1 - # Failed test at <tmp> line 1 # oh no |
||
TreyHarris | timotimo: in Rakudo, every try block has use fatal implicitly | ||
you can 'no fatal' if you want. This is not the spec, but Rakudo deviates from the Perl 6 spec with respect to Failures | 18:16 | ||
timotimo | yes, but that's lexical to my knowledge | ||
TreyHarris | Oh, good point. Then | ||
m: sub fails() { fail "oh no" }; lives-ok({ use fatal; my $out = fails; CATCH { $*ERR.say: "oops, $_" } } ) | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: lives-ok used at line 1 |
18:17 | |
timotimo | "use fatal" works by code-genning a "fatalize" op at specific points that could have given a Failure, so it can't be dynamic without doing more code-gen at run time | ||
TreyHarris | m: use Test; sub fails() { fail "oh no" }; lives-ok({ use fatal; my $out = fails; CATCH { $*ERR.say: "oops, $_" } } ) | ||
camelia | oops, oh no not ok 1 - # Failed test at <tmp> line 1 # oh no |
||
TreyHarris | there | ||
so use fatal and CATCH and print to $*ERR | |||
18:17
|oLa| left
|
|||
timotimo | i've got to be AFK for a bit! | 18:18 | |
o/ | |||
TreyHarris | I keep forgetting we don't have Perl 5 stack-replacement goto-sub. In Perl 5's Test.pm, it would work without doing the pragma again because the scope is replaced (if the pragma were set in Perl 5, which it isn't) | 18:19 | |
Gotta head off to a doctor's appointment myself. & | 18:22 | ||
Xliff: Oh, but in case you were afk yourself, see last camelia--do an explicit 'use fatal' and then $*ERR.say in a CATCH | 18:24 | ||
18:26
pamplemousse left,
lvdb joined
18:30
kybr joined,
sauvin left
18:34
nepugia joined
18:37
reu joined
|
|||
Xliff | TreyHarris++ # Thanks! | 18:42 | |
18:43
ravenousmoose left
18:56
caa51h joined
19:07
natrys joined
19:13
kktt left
|
|||
vrurg | .tell TreyHarris if I'm not mistaken, samewith/nextwith are stack-replacing calls. | 19:18 | |
yoleaux | vrurg: I'll pass your message to TreyHarris. | ||
sena_kun | Woodi, ping? | 19:34 | |
19:45
mniip left
|
|||
sena_kun | .tell Woodi I am going to use Text::LDIF in Cro::LDAP, I wonder if you mind some patches about features and style? | 19:47 | |
yoleaux | sena_kun: I'll pass your message to Woodi. | ||
Woodi | sena_kun: pong ! | ||
yoleaux | 19:47Z <sena_kun> Woodi: I am going to use Text::LDIF in Cro::LDAP, I wonder if you mind some patches about features and style? | ||
sena_kun | oh | 19:48 | |
o/ | |||
Woodi | patches sound good :) | ||
sena_kun | I also instinctively removed some spaces and newlines, I wonder if I shouldn't. :) | ||
I am now going to read the RFC and maybe implement empty lines | 19:49 | ||
TreyHarris | vrurg: I know that's been asserted, but it doesn't seem to be the case: gist.github.com/d65d2ca0d9459aaeae...0b2503bb21 | 19:50 | |
yoleaux | 19:18Z <vrurg> TreyHarris: if I'm not mistaken, samewith/nextwith are stack-replacing calls. | ||
TreyHarris | urgh, why do my gists get de-indented? | 19:51 | |
19:51
molaf left
|
|||
TreyHarris | Weirdly, if you click "Raw" (which shows you the indentation is there) and then click Back in the browser, it's then indented... until you refresh and then it's unindented again | 19:52 | |
timotimo | accidentally shown as HTML, where multiple whitespace get turned into a single whitespace? | 19:53 | |
sena_kun | TreyHarris, .txt is probably should be .p6 | ||
TreyHarris | Oh well. But indentation doesn't matter... nextwith doesn't stack-replace | ||
sena_kun | or, hmm... | ||
timotimo | yeah, we don't have an HLL-accessible mechanism to straight-up replace a stack frame | 19:54 | |
all we have is on-stack-replacement in spesh, which only replaces a regular version of a piece of code with an optimized one, which is a very controlled circumstance | |||
19:55
mniip joined
|
|||
TreyHarris | Well, it isn't a big deal except if you want to create stuff like warnings from perspective of caller or new control flows without additional invisible scoping | 19:55 | |
Woodi | sena_kun: any idea what could be added to Text::LDIF ? some methods ? | ||
TreyHarris | But since two of my Perl 5 modules do those things, it matters to me :-) | ||
sena_kun | Woodi, well, from readme it is not very clear to me if your module supports LDIF that describes modifications or not | 19:56 | |
TreyHarris | Is bare `v6;` preferred over `use v6;` now? | 19:58 | |
Woodi | sena_kun: hmm, you mean what is send via eg. ldap_modify ? if yes then I didn't have this in mind. to me it is not complete entry but maybe it does not matter... | 19:59 | |
MasterDuke | m: v8 #upgrade from a camel to a muscle car! | ||
camelia | ( no output ) | ||
Woodi | sena_kun: and, by now, I realy should consult some RFC... | 20:00 | |
sena_kun | Woodi, yes, this one. well, I want to support it for cro-ldap modify, so would be nice to establish something in this area | ||
Woodi, I also wonder if we want an entry object, or just hash is enough... | |||
s/object/class/ | 20:01 | ||
Woodi | sena_kun: ok, i will check that RFC(s). objects are good when things goes complicated | ||
sena_kun | Woodi, I am going to write modification part myself, if you don't mind | 20:02 | |
Woodi | not a problem for me, if it's usefull then it is super | 20:03 | |
20:04
MasterDuke left
|
|||
TreyHarris | Oh, I see; "v6;" is just something to inform other programs the file is Perl 6, it's just a version object in sink context. So `v6.f;` does nothing different from `v6.d;` while `use v6.f` will fail until 6.f is released | 20:05 | |
20:06
MasterDuke joined
|
|||
vrurg | TreyHarris: the latest available version is v6.e.PREVIEW though there is not much .e specific yet. | 20:11 | |
sena_kun | TIL | ||
Woodi | sena_kun: also not sure about hashes vs creating object per entry... ldif is just list of named hashes/sets so simple iterator looks usefull. for in memory modification hashes are quick too (except for multi-valued attributes). but ldap_modify wants a diff... | 20:22 | |
20:22
lvdb left
|
|||
sena_kun | Woodi, well, I think hashes might be a nice solution | 20:23 | |
so don't think there is a need to change something that works | 20:24 | ||
vrurg | TreyHarris: with regard of stack replacement – I'm not sure it should work as you expect it. It could still be re-using a stack frame. But I need to make sure if it really does. | 20:25 | |
Woodi | sena_kun: not so long ago I wrote invoicing "script" that used hashes... I wish I start with objects for invoices, products and customers :) | ||
night everyone ! | 20:26 | ||
sena_kun | o/ | ||
MasterDuke | UK folks, what is a good way to get to riga? coming from the west, near gloucester | 20:37 | |
20:41
pamplemousse joined
|
|||
Xliff | MasterDuke: v8; # Because, *forehead* I could have had one of those. | 20:54 | |
When is the next US Perl convention? Although I know most of you won't be there, I don't think I will be able to get to Riga in August. | 20:56 | ||
Would like to start demo-ing some of my stuff. | |||
Geth | perl6.org: 1e9eba9b12 | (Steve Mynott)++ | source/index.html 6.d isn't new anymore |
20:59 | |
21:00
Black_Ribbon joined
21:03
mniip left
21:04
mniip joined
21:05
pmurias joined
21:06
natrys left
|
|||
kawaii | If I have a Rat, with a lot of decimal places, $result, how can I cut that down to only 2? i.e. 0.24 | 21:19 | |
timotimo | you can .round(0.01) | ||
kawaii | ooo | ||
timotimo | well, round or ceil or floor | ||
Kaiepi | releasable6, status | ||
releasable6 | Kaiepi, Next release will happen when it's ready. R6 is down. At least 2 blockers. 262 out of 664 commits logged (⚠ 1 warnings) | 21:20 | |
Kaiepi, Details: gist.github.com/33776df3e402678b4b...b2c29516b1 | |||
timotimo | m: say 4.round(pi) | ||
camelia | 3.141592653589793 | ||
21:20
hythm joined
21:22
AlexDaniel left
|
|||
Xliff | m: say 4e-2.round(pi) | 21:29 | |
camelia | 0 | ||
Xliff | m: say 2.round(pi) | 21:30 | |
camelia | 3.141592653589793 | ||
Xliff | m: say π.round(1e-8) | 21:31 | |
camelia | 3.14159265 | ||
Xliff | m: say π.round(1e-20) | ||
camelia | 3.141592653589793 | ||
Xliff | What was the rational behind doing decimals with round rather than specifying number of significant digits? | 21:32 | |
21:32
AlexDaniel joined
|
|||
Xliff | m: sub myround($v, nt $a where * > 0) { $v.round(1e$a) }; (10+rand).&myround( | 21:33 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Invalid typename 'nt' in parameter declaration. at <tmp>:1 ------> 3sub myround($v, nt7⏏5 $a where * > 0) { $v.round(1e$a) }; (10 |
||
Xliff | m: sub myround($v, nt $a where * > 0) { $v.round(1e$a) }; (10+rand).&myround(6).say | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Invalid typename 'nt' in parameter declaration. at <tmp>:1 ------> 3sub myround($v, nt7⏏5 $a where * > 0) { $v.round(1e$a) }; (10 |
||
Xliff | m: sub myround($v, $a where * > 0) { $v.round(1e$a) }; (10+rand).&myround(6).say | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in argument list; couldn't find final ')' (corresponding starter was at line 1) at <tmp>:1 ------> 3myround($v, $a where * > 0) { $v.round(17⏏5e$a) }; (10+rand).&myro… |
||
Xliff | m: my $b = 6; my $e = 10e$b; say $e | 21:34 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3my $b = 6; my $e = 107⏏5e$b; say $e |
||
Xliff | m: my $b = 6; my $e = 10 ** -$b; say $e | 21:35 | |
camelia | 0.000001 | ||
Xliff | m: sub myround($v, $a where * > 0) { $v.round(10 ** -$a) }; (10+rand).&myround(6).say | ||
camelia | 10.292089 | ||
Xliff | ^^ Currently makes a lot more sense | ||
m: sub myround($v, $a where * > 0) { $v.round(10 ** -$a) }; (10+rand).&myround(3).say | |||
camelia | 10.936 | ||
21:42
hythm left
21:49
clarkema left
21:50
AlexDaniel left
21:52
hythm joined
|
|||
japhb | m: 13.round(4).say # Xliff | 21:55 | |
camelia | 12 | ||
japhb | Because you don't always round in base 10. | ||
Xliff | japhb: True enough, but for those of us who mostly do. It would be nice for a sensible shortcut in CORE, so we don't have to deal with overcomplexifying the code. | 21:58 | |
It's done in some places but not in all places. So I was just wondering what the requirement for such would be. | |||
21:59
hythm left
22:09
dolmen joined
22:13
splatt9990 joined
|
|||
kawaii | is the syntax for setting a fallback value in the case of Nil like this? `my $a = ... || 0;`? | 22:18 | |
or is it `//`? | |||
`...` is a DB::Pg query in this case | |||
my application crashes under certain cases though, if the user you request doesn't exist for instance | 22:19 | ||
actually, the specific error I get is ` Invocant of method 'Bridge' must be an object instance of type 'Num', not a type object of type 'Num'. Did you forget a '.new'? | 22:20 | ||
` | |||
jnthn | // is better if it's Nil (or any other type object or Failure) | ||
With || you have the issue that 0 and '' and False are falsey | 22:21 | ||
Basically, it depends what you want to test, which is why we have both :) | |||
kawaii | jnthn: gist.githubusercontent.com/kawaii/...tfile1.txt | ||
would this work? | |||
hm, no it seems | 22:22 | ||
jnthn | That looks odd...I mean, I don't think .prepare could return Nil? | 22:23 | |
22:23
pamplemousse left
|
|||
jnthn | And 0 is not something you can call .execute on :) | 22:23 | |
kawaii | oh ooops | ||
jnthn | If it's the result you want to check against it's $result.value // 0 | 22:24 | |
But... | |||
execute doesn't return a result, I think? | |||
You have to use a fetch method afterwards | |||
kawaii | $result.value // 0 works as expected, thanks jnthn :) | 22:25 | |
22:29
dolmen left
|
|||
kawaii | `Expression needs parens to avoid gobbling block` | 22:30 | |
hm, looks like I broke something else now | |||
gist.githubusercontent.com/kawaii/...tfile1.txt | 22:31 | ||
I'm probably doing this completely wrong | |||
22:31
dolmen joined,
rindolf left
|
|||
timotimo | what does the error point at? | 22:32 | |
kawaii | timotimo: the second to last } | ||
timotimo | the } there? | ||
oh yeah | 22:33 | ||
elsif needs an expression after it | |||
not just the block :)> | |||
kawaii | ah! | ||
I assumed it would just cover all other cases | |||
oh I want else don't I | |||
not elsif | |||
timotimo | yeah :) :) | 22:34 | |
maybe a little check could be put into the grammar to find that | |||
fwiw, i'd also use a "do given" so you can have $risk = do given $result { ... } | 22:35 | ||
kawaii | timotimo: can I do `unless $user-id ~~ / <(\d+)> / { return my $response = "Invalid user."; }` in the middle of my method to just return the invalid message if it's not a number at all? | 22:37 | |
www.irccloud.com/pastebin/3AKaUdzp/ | 22:39 | ||
and you mean 'do given' like that? ^ :) | |||
22:40
dolmen left
22:44
splatt9990 left
|
|||
timotimo | that's one half of it, but you can also leave out the "$risk = " part | 22:48 | |
and yeah, "return" in the middle of a function is fine | |||
kawaii | timotimo: github.com/kawaii/p6-rose/blob/mas...ds.pm6#L28 | 22:52 | |
this is where I'm at so far, the top half of the message seems awfully complicated and verbose for Perl 6, is there some way I can condense those top lines into one regex? :) | |||
method, not message* | |||
22:53
dolmen joined
22:54
imhtrg left
|
|||
timotimo | my $user-id = $cmd-obj.args ~~ / '<@' ... / ?? $/.Str !! $cmd-obj.args; | 22:54 | |
if you rename $user-id to $user, you can use :$user in the toxicity-aggregate method call | |||
kawaii | ooo time to experiment, slowly getting warmed up to p6 regex :) | 22:55 | |
timotimo | the ... there isn't meant literally %) | ||
kawaii | yes, aware :) | ||
timotimo | OK | ||
another way to make it a little shorter: after the first line, $cmd-obj.args is also in $user-id, so you can use that on the LHS of the ~~ for the regex match | 22:56 | ||
also, you could have an alternative in that regex for just \d+ | |||
in that case, you'd always take the true branch of the if (otherwise maybe throw an exception or so) and can just use $/.Str or perhaps $/.Int i guess | 22:57 | ||
kawaii | 🤔 | ||
22:57
sena_kun left
|
|||
timotimo | oh, and the check for <(\d+)> doesn't make too much sense, perhaps you meant ^and $ or ^^ $|$? | 22:58 | |
er | |||
more likely you mean ^ and $ | |||
instead of checking against .0 < * <= .4, you can check against 0 ^.. .4 | 22:59 | ||
for the last one that'd be .7 ^.. * | |||
which also has a *, but isn't actually a WhateverCode | |||
could also use Inf there if you like | |||
kawaii | woah okay these are a lot of micro-optimisations to test, thanks timotimo! | 23:00 | |
timotimo | YW | ||
23:03
dolmen_ joined
|
|||
guifa | If the only implicit variable method calls are used in a block and > 1 arguments are passed, shouldn’t the assumption be that it’s an implicit call on @_ and not on $_ ? | 23:03 | |
p6: sub f { .[0] + .[1] }; say f(1,2) | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Calling f(Int, Int) will never work with declared signature () at <tmp>:1 ------> 3sub f { .[0] + .[1] }; say 7⏏5f(1,2) |
||
guifa | p6: sub f { @_[0] + @_[1] }; say f(1,2) | ||
camelia | 3 | ||
timotimo | guifa: that seems a bit too WATy for the corresponding DWIM | ||
especially since there's $^a, $^b ready to be used | 23:04 | ||
m: sub f { $^a + $^b }; say f(1, 2) | |||
camelia | 3 | ||
timotimo | that's even shorter than using .[0], .[1] | ||
23:04
dolmen left
|
|||
timotimo | also, that would kind of require every sub to be code-genned twice, once with *@_ and once with $_ | 23:05 | |
guifa | I figured it was because there was somehing going on in compiling that required it to be decided at compile time and not a call time | ||
{(@_[0,1],{.[0]+.[1],.[0]-.[1]}...*)[^@_[2]];} is a smidgen longer than {(.[0,1],{.[0]+.[1],.[0]-.[1]}…*)[^.[2]];} hahaha (although both are equally unreadable) | 23:07 | ||
timotimo | m: sub do-it($a, $b) { [$a, $b], { [.head + .tail, .head - .tail] } ... * }; .say for do-it(5, 1)[^10] | 23:09 | |
camelia | [5 1] [6 4] [10 2] [12 8] [20 4] [24 16] [40 8] [48 32] [80 16] [96 64] |
||
timotimo | are you golfing, though? | ||
23:11
pmurias left
|
|||
timotimo | m: sub do-it($a, $b) { $a, $b, { $^a + $^b, $^a - $^b } ... * }; for do-it(5, 1) -> $a, $b { .say; last if $++ > 10 } | 23:13 | |
camelia | (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) (Any) |
||
timotimo | m: sub do-it($a, $b) { $a, $b, { $^a + $^b, $^a - $^b } ... * }; for do-it(5, 1) -> $a, $b { [$a, $b].say; last if $++ > 10 } | ||
camelia | [5 1] [(6 4) (3 -1)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] [(4 0) (4 0)] |
||
timotimo | hm, no, not quite | ||
m: sub do-it($a, $b) { $a, $b, { slip $^a + $^b, $^a - $^b } ... * }; for do-it(5, 1) -> $a, $b { [$a, $b].say; last if $++ > 10 } | |||
camelia | [5 1] [6 4] [10 2] [12 8] [20 4] [24 16] [40 8] [48 32] [80 16] [96 64] [160 32] [192 128] |
||
guifa | I am golfing :-) | 23:14 | |
timotimo | yeah, i'm not making it better | ||
23:33
empee0 left
|
|||
guifa | Actually because of that, doing it assuming an infinite stack is slightly better | 23:35 | |
Actually… is there a recursion limit? | |||
jnthn | RAM | 23:36 | |
guifa | :D | ||
23:37
dolmen_ left
23:38
pecastro left
|
|||
timotimo | games done quick will have "tasbot plays tetris" in a bit | 23:43 | |
oh, hold on | |||
i'm on the wrong day | |||
it's about 24h to go until then | |||
23:44
Aceeri joined
23:45
Aceeri is now known as Guest93083,
Guest93083 left
|
|||
guifa | Oh hot damn | 23:51 | |
23:51
nepugia left
|
|||
guifa | {@_,{.say;.[0]+.[1],.[0]-.[1]}...*} | 23:51 | |
That actually works | |||
timotimo | cool | ||
guifa | But still four more than the recursive =\ | ||
timotimo | d'oh | 23:52 | |
guifa is trying to find a way to golf + show off cool features | |||
timotimo | "golf off" | ||
Itaipu | Hi where there is a good docker image for perl6 so we can have a taste of it, I would like also something on the blead, I tryied docker run -it tonyodell/rakudo-nightly zef install Readline | 23:57 | |
but this image gives error trying to install Readline | 23:58 | ||
Failed to update cpan mirror: raw.githubusercontent.com/ugexe/Pe...ter/cpan1. |