🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:00 finsternis left, tyil left, tyilanmenyn joined, tyilanmenyn left, tyilanmenyn joined 00:01 libertas left 00:02 pecastro left, finstern1s is now known as finsternis 00:08 mniip_ is now known as mniip 00:11 uzl[m] joined
uzl[m] perl6.party/ doesn't seem to be available anymore :-(. 00:11
00:12 Itaipu_ joined 00:13 Itaipu left 00:40 hungrydonkey joined 00:45 mahmudov left 00:51 Tirifto left 01:05 aborazmeh joined, aborazmeh left, aborazmeh joined 01:17 mowcat left 01:19 leont left
farcas82regreg hello 01:23
i'm new to raku (and perl in general), what would the most idiomatic way would be to generate a random phrase? I have about 100 probabilistic grammars describing random company names, i'm basically doing the random company name generator part of the stock market simulator 01:24
basically i have a separate probabilistic grammar for each company sector/industry 01:25
the engine must generate company names first
what would be the idiomatic way?
also do you ppl happen to know a good raku online forum? i might need to post my questions for wider audience 01:26
01:32 sena_kun left 01:39 samebchase left
rypervenche farcas82regreg: Hang around for an answer. Some of the ones who could answer this have gone to bed for the night, but will be around tomorrow morning, if they don't answer tonight. 01:40
01:40 samebchase- left
farcas82regreg rypervenche, ok 01:40
01:41 samebchase- joined, samebchase joined 01:48 sena_kun joined 02:11 aborazmeh left 02:12 ufobat_ joined 02:16 ufobat__ left, Xliff joined
Xliff o/ 02:16
Does Raku have a decent gettext implementation with something that can properly handle .po files? 02:17
rypervenche Xliff: modules.raku.org/dist/POFile:cpan:JNTHN ? 02:19
Xliff I looked at this earlier... the docs didn't make much sense. 02:21
02:22 NODE joined
rypervenche What are you trying to do exactly? 02:22
Xliff Port this to perl6: github.com/dniku/shutter/blob/mast...Toolbar.pm
All entries to $d are from the Perl5 Locale module, I think. 02:23
PO files are here: github.com/dniku/shutter/tree/mast...po/shutter 02:26
And I know I need to handle LANGUAGE and LANG environment vars, too...
Was hoping there was something out there that could handle it all for me so I can focus on the porting. Not re-inventing Locale. 02:27
02:34 molaf left, titsuki joined
Xliff rypervenche: Well, thanks for the suggestion. I may have to take another look at POFile. Was kinda put off by the interface, I guess. 02:37
02:46 molaf joined 02:52 Doc_Holliwood joined, Doc_Holliwould joined 03:07 Benett joined 03:14 dominix_ joined 03:18 dominix left 03:25 farcas82regreg left 03:29 farcas82regreg joined 03:32 sena_kun left 03:42 Doc_Holliwood left, Doc_Holliwould left 03:48 reach_satori left, sena_kun joined 03:49 farcas82regreg left 04:21 titsuki left 04:26 Xliff left 04:32 stoned75 left 04:44 Benett left 04:46 hungryd83 joined 04:50 NODE left, hungrydonkey left 05:02 NODE joined 05:04 daxim left 05:08 Benett joined 05:09 daxim joined 05:25 holyghost left 05:34 sena_kun left 05:44 [Sno] left 05:46 [Sno] joined 05:48 sena_kun joined 05:49 wamba joined 05:51 Benett left, Benett joined 06:08 NODE left 06:10 NODE joined 06:14 NODE left 06:16 NODE joined 06:20 jmerelo joined, rindolf joined 06:24 [Sno] left 06:32 Doc_Holliwould joined, Doc_Holliwood joined
jmerelo Apparently, perl6.party is down, right? 06:37
.tell uzl[m] we seem to have discovered it at the same time... 06:38
06:38 Summertime left
jmerelo Some URLs still seem to work... tpm-regex.perl6.party/#/47 06:38
06:40 Summertime joined 06:49 Benett left 06:51 domidumont joined
Geth doc: f37792ebf3 | (JJ Merelo)++ | doc/Type/Str.pod6
Clarification on synthetic numerics and No values

Refs #2632
06:51
linkable6 Link: docs.raku.org/type/Str
doc: 4a590756ab | (JJ Merelo)++ | doc/Type/Int.pod6
polymod acting on lazy lists added

Refs #2632
linkable6 DOC#2632 [open]: github.com/Raku/doc/issues/2632 [Hacktoberfest][RFE][big][docs][good first issue][help wanted][new][⚠ Top Priority ⚠] Checklist for 6.d
Link: docs.raku.org/type/Int
doc: df4c29982f | (JJ Merelo)++ | doc/Type/Int.pod6
Changed to other similar URL, more permanent (probably)

Refs #3212
linkable6 DOC#3212 [open]: github.com/Raku/doc/issues/3212 [site] Substitute perl6.party URLs
06:53 Benett joined 07:02 [Sno] joined 07:06 domidumont left 07:07 wamba left 07:17 dominix_ left 07:20 holyghost joined 07:29 molaf left, reach_satori joined 07:30 jmerelo left 07:33 sena_kun left 07:34 Doc_Holliwood left, Doc_Holliwould left
rba . 07:47
rindolf rba: ..
moon-child ... 07:48
07:48 sena_kun joined 08:04 kensanata joined 08:16 tyilanmenyn is now known as tyil 08:27 zakharyas joined 08:31 hungrydonkey joined, hungryd83 left 08:44 moon-child left
lizmat weekly: www.noudaldenhoven.nl/wordpress/?p=288 08:49
notable6 lizmat, Noted! (weekly)
08:50 scimon joined 08:51 moon-child joined 09:10 domidumont joined
SmokeMachine hi guys! I’m playing with this: github.com/FCO/EventExpressionLanguage this is the think I was asking a few days ago… would someone like to play with that? 09:15
(far from be working yet...)
lizmat SmokeMachine: a readme would be nice in github.com/FCO/EventExpressionLanguage ? 09:28
SmokeMachine lizmat: sure! I’ll do that as soon as possible… (sorry) 09:29
lizmat then it would be RWN worthy :-)
SmokeMachine lizmat: sorry, what RWN means? 09:30
lizmat Rakudo Weekly News :-) 09:31
SmokeMachine :)
lizmat fka P6W
09:31 sena_kun left
SmokeMachine lizmat: I think it’s too early stage to that… it isn’t even working yet... 09:32
lizmat but I understand you want feedback about the idea, no ? 09:33
SmokeMachine yes
lizmat so, I'd present it as a discussion piece, not as a new module :-)
SmokeMachine But there is something a little bit more readable here: gist.github.com/FCO/ae6f90cec5e0ba...cb3f1af120 (I don’t think it’s good enought yet for RWN) 09:34
lizmat afk for a few hours&
09:36 Doc_Holliwould joined, Doc_Holliwood joined 09:38 rindolf left
SmokeMachine foo222: this is how thet thig we were discussing is going: github.com/FCO/EventExpressionLanguage and gist.github.com/FCO/ae6f90cec5e0ba...cb3f1af120 09:42
09:44 domidumont left 09:48 sena_kun joined 09:49 domidumont joined 09:53 rindolf joined 09:54 pecastro joined 10:08 moritz_ is now known as moritz
scimon So today I found that if I use a regex in the where clause in a signature $0 and so forth are available in the sub... is this a lucky accident or just more Raku awesomeness? 10:13
jnthn Well, only really works out well if you have one such regex :) 10:19
scimon True. 10:20
jnthn But it falls naturally out of the routine's $/ being in dynamic scope at that point.
scimon :D
10:20 molaf joined 10:22 Doc_Holliwould left, Doc_Holliwood left 10:23 kensanata left 10:34 kensanata joined 10:38 jc_atikon joined, jc_atikon left 10:40 abraxxa left, abraxxa joined 10:41 hungrydonkey left 10:53 zakharyas left 10:56 zakharyas joined 11:08 domidumont left
abraxxa I can't find infos regarding newline matching in Grammars 11:09
I want to match a multiline comment
11:14 wamba joined
moritz what kind of info do you want? 11:17
\n matches a newline
. matches anything, including newlines
11:19 libertas joined 11:31 Doc_Holliwould joined, Doc_Holliwood joined 11:33 sena_kun left
abraxxa moritz: I'm currently matching each comment line as a separate token using token comment { \N* } and rule option:sym<comment> { ' '*'#'<comment>)>\n } 11:35
11:35 aborazmeh joined, aborazmeh left, aborazmeh joined
abraxxa I was wondering if something like the Perl 5 m regex modifier is active or not 11:35
I think it's safer to match each line and combine them like token comment-line { <.ws> '#' \N* \n }, token comment-lines { <comment-line>+ } 11:37
or would you solve it differently?
jnthn Depends if I actually want the comments or just want to ignore them 11:38
abraxxa I ignore them currently in the action class
jnthn In the latter case I tend to stick parsing of them in my <.ws>
abraxxa but want to attach them to the 'option'/
I though I'll define a new token comment-with-option { <comment-lines>?<option> } 11:39
jnthn Ah, then I'd have to think about it a bit more, though Rakudo's grammar does actually parse Pod declarator comments in the <.ws>, and then uses dynamic variables to stash 'em and have 'em attached :)
11:40 mowcat joined
jnthn Which works nicely enough there, but may not be convenient for all situations. 11:40
abraxxa and instead of token TOP { <option>+ } use token TOP { <comment-with-option>+ }
s/comments/comment-lines/ 11:41
and the first file I try to parse fails because it only has a comment :_) 11:47
11:47 wamba left 11:48 sena_kun joined
abraxxa so how to handle that... 11:48
11:50 wamba joined, zakharyas left 11:51 wamba left, molaf left
timotimo greppable6: ignorecase 11:52
greppable6 timotimo, 71 lines, 5 modules: gist.github.com/ba95ce5e8eb325db14...2fbd5ca5ee
timotimo greppable6: :i\b 11:55
greppable6 timotimo, 1378 lines, 139 modules: gist.github.com/75c5bb3cb6b621daf9...b2f72b2625 11:56
11:57 leont joined
timotimo i sense a desire / need for "BLAH".starts-with("blah", :ignorecase) and friends 12:00
12:00 Guest4508 joined
timotimo eq with :i is probably already served just fine with .match 12:00
m: say "BLAH".match(:i, "blah")
camelia Nil
timotimo m: say "BLAH".match(/:i blah/)
camelia 「BLAH」
timotimo hum. or not.
lizmat timotimo: same for contains and substr-eq I guess 12:02
timotimo yeah 12:03
lizmat fwiw, I implemented .contains(/foo/) last week
timotimo of, match with :i is a contains, not an eq
oh*
lizmat timotimo: no, it returns a Match, not a Bool 12:04
which is *much* heavier
timotimo that also
but i mean in terms of anchoring
lizmat .contains(Regex) returns a Bool without creating a Match object
12:06 stux|RC-only left
timotimo contains(Regex, :i) is not going to work, same reason as .match(Regex, :i) 12:06
12:08 stux|RC-only joined
timotimo alternatively, implement Regex.make-ignorecase 12:08
good luck with that, that would be gnarly 12:09
if the regex contains code blocks or lexicels 12:10
lizmat timotimo: lcing the string before doing the contains ? 12:12
12:13 aborazmeh left
abraxxa I need a token that can match either comment, comment with option, or just option 12:18
token comment-with-option { <comment-lines>?<option>? } doesn't work because it matches nothing successfully too which means the TOP rule never stops
12:36 rindolf left
timotimo lizmat: well, fc. but i do believe we have a bunch of i / im / m nqp ops for many of the string ops 12:37
lizmat yeah: github.com/perl6/nqp/blob/master/d...kdown#eqat 12:38
and github.com/perl6/nqp/blob/master/d...down#index 12:39
won't work on the JVM backend though :-(
12:40 Doc_Holliwould left, Doc_Holliwood left
timotimo could be registered as a desugar that just calls fc on both arguments before doing anything 12:41
was fc of ẞ and ß still Ss and ss?
lizmat no idea
moritz I think so, yes 12:42
lizmat ask daxim, he did a lightning talk on it once :-)
moritz upper-case ß never really caught on
and there are stability promises in Unicode that means they can't simply change the rules for existing characters
12:47 patrickb joined 12:48 mowcat left, rindolf joined
timotimo could be ok if you do substr before eqic 12:49
er
fc
12:56 ccamel joined, camelCaser left 13:04 finsternis left 13:06 finsternis joined 13:10 xinming left 13:11 xinming joined 13:19 lichtkind joined 13:21 gunnar97 joined
gunnar97 Recently my installed zef has become dead slow: Hours to install a package and this is what I got when asking for help: 13:24
$ time zef --helpZef - Perl6 Module ManagementUSAGE zef [flags|options] command [args]COMMANDS install Install specific dependencies by name or path [ ... ]real62m52.027suser4m11.913ssys1m22.005s
Any ideas how to fix it?
13:25 zakharyas joined
abraxxa I think I've asked this before but can't remember the answer: how can I undefine a variable? 13:25
jnthn gunnar97: Just zef or any module loading? What does `echo $PERL6LIB` say? 13:26
abraxxa: For saclars, at least, assign Nil
abraxxa jnthn: thanks! 13:27
gunnar97 All stuff. The variable just contain '.', curr dir
jnthn Try clearing it. :) 13:28
I think having . in there means it'll go scanning everything beneath the current directory for modules, which could get quite time consuming if there's a lot to search. 13:29
gunnar97 That made the trick! Hmm, but this is a new phenomenon and i've had '.' there for almost all my perl6/raku life. 13:30
SmokeMachine lizmat: a first draft of an attempt of a README... github.com/FCO/EventExpressionLang...ree/master
13:32 zakharyas left
lizmat SmokeMachine++ 13:33
weekly: github.com/FCO/EventExpressionLang...ree/master
notable6 lizmat, Noted! (weekly)
13:33 _jrjsmrtn joined 13:34 sena_kun left, __jrjsmrtn__ left 13:35 titsuki joined, gunnar97 left 13:37 zakharyas joined 13:44 daxim left 13:47 sena_kun joined 13:49 daxim joined 13:54 hungrydonkey joined
cpan-raku New module released to CPAN! Operator::dB (0.0.96) by 03ALLSOPP 14:02
New module released to CPAN! HTML::BoreDOM (0.0.7) by 03ALLSOPP
SmokeMachine lizmat: did that make any sense?
lizmat on casual glance, yes... some minor spello's, but other than that nothing stood out to me as being wrong 14:03
14:03 kensanata left 14:05 veesh_ joined 14:06 veesh left, veesh_ is now known as veesh 14:08 molaf joined 14:09 SqrtNegInf joined
SqrtNegInf m: sub t ($s) { srand($s); say (^100).rand}; t(1) for 1..3 14:14
camelia 30.8302962221659
30.8302962221659
30.8302962221659
SqrtNegInf m: sub t ($s) { srand($s); say (^100).roll}; t(1) for 1..3
camelia 3
87
73
SqrtNegInf The varying results for .roll bisect to the libtommath update 14:15
14:17 dansolo42 left 14:20 dansolo42 joined
lichtkind has jj a new handle? 14:23
lizmat SqrtNegInf: please make an issue ! 14:26
SqrtNegInf Yep, on the way... 14:28
14:28 lucasb joined
lizmat SqrtNegInf++ 14:29
bisectable6: srand(1); ^100 .rand.say # who knows this will actually give useful info 14:30
bisectable6 lizmat, On both starting points (old=2015.12 new=cfe2cdc) the exit code is 0 and the output is identical as well
lizmat, Output on both points: «30.8302962221659␤»
lizmat SqrtNegInf: ^^^ looks like it's been like that a long time ?
bisectable6: srand(1); ^100 .rand.say for ^3
bisectable6 lizmat, Bisecting by output (old=2015.12 new=cfe2cdc) because on both starting points the exit code is 0
lizmat ah, the first value is being kept 14:31
14:31 AlexDaniel` joined
AlexDaniel` 6c: srand(1); ^100 .rand.say for ^3 14:31
bisectable6 lizmat, bisect log: gist.github.com/13838b712d01bb39ad...ce305e283f
lizmat, (2018-03-25) github.com/rakudo/rakudo/commit/a2...bf10bc1d11
committable6 AlexDaniel`, gist.github.com/e78fed785f57e9c138...1e4bb2c2a3
lizmat m: srand(1); ^100 .rand.say for ^3 14:32
camelia 30.8302962221659
66.93476443244059
78.20976054058401
lizmat hmmm...
SqrtNegInf I'm seeing the srand interaction with .roll and .pick just since Rakudo version 2020.01-76-ge1faa704e
lizmat m: srand(1); (^100).rand.say for ^3
camelia 30.8302962221659
66.93476443244059
78.20976054058401
lizmat aaah.... it's resetting the srand every time 14:33
there is no bug...
the weird thing is that .roll is not predictable
lizmat finally gets it 14:34
I think
rypervenche lizmat: Would you have time to look at my grammar question? I have added some example code and file text in my gist: gist.github.com/rypervenche/2a42fb...df93369d08 14:38
lizmat rypervenche: currently working on the weekly, will look at it some time after that
rypervenche Take your time. I do love the weeklies <3 14:39
14:39 veesh_ joined 14:41 veesh left, veesh_ is now known as veesh
jnthn rypervenche: I'm not sure TOP needs to be a regex. If yoiu just want to ignore lines that don't match, completely, you could have `token TOP { [<line> || \N*]* % \n }` or some such 14:44
14:45 domidumont joined
rypervenche Ahh! Let me try that. 14:47
moritz don't forget to match the final \n if there is one 14:49
jnthn Ah, indeed...%% I think? 14:51
14:51 kensanata joined
rypervenche Will do. 14:51
[Coke] jnthn++ 14:52
14:58 molaf left
rypervenche Oh! That looks to be working correctly now with this. Is my \N*? all right or is there something smarter to use there in "token line"? (updated gist.github.com/rypervenche/2a42fb...df93369d08 ) 15:02
jnthn rypervenche: I did consider you could make line a proto and then have variants for line with identifier and line without, but I suspect it's not so useful since 1) you don't really need the LTM, 2) you probably want to ignore lines that don't match, and this way you won't need to discard them in actions. 15:03
So I think the way I suggested is probably the better solution overall 15:04
(Unless you do want the lines without identifiers too.)
15:06 dansolo42 left
rypervenche I was thinking of making a proto, but as there are only two options and, as you said, the unwanted lines, I guess this works. I just wanted to make sure that I wasn't doing anything wasteful or inefficient with the \N*? in line. I keep wanting to use .*? in everything. Thanks for helping with this. 15:06
jnthn If you've made TOP a token, then there's no backtracking to worry about anyway 15:08
.*? is sensible in the other case, and probably essential for correctness
rypervenche Using \N* didn't work, as I'm assuming it would skip over <entry> and go straight to the end of the line. \N*? looks to have worked. 15:11
(in token line, that is)
Glad it's finally working. :)
15:18 xelxebar left 15:22 xelxebar joined 15:24 sarna left 15:25 sarna joined 15:27 abraxxa left, abraxxa joined 15:33 sena_kun left 15:36 foo222 joined 15:37 Doc_Holliwould joined, Doc_Holliwood joined
lizmat fwiw: upping the number of threads to 64 makes it a lot slower, and I haven't seen it crash yet 15:42
(running for ~ hour now)
oops, wrong channel
15:43 reach_satori left 15:47 scimon left 15:49 sena_kun joined
abraxxa how can I call the method of a Grammar ActionClass? 15:55
or access one of its attributes? 15:56
15:56 domidumont left
Geth doc: uzluisf++ created pull request #3214:
Minor rewording and ...
16:02
16:06 libertas left 16:08 patrickb left
nine abraxxa: action classes are plain classes, so it works like everywhere else? 16:09
16:10 molaf joined
nine abraxxa: perhaps I'm missing some context for your question 16:10
abraxxa nine: I only get a match object when i call parse
no idea how to access the Action object
nine access it where?
abraxxa the methods aren't defined on the match object
nine The Match object has an actions attribute: docs.raku.org/type/Match#method_actions 16:11
abraxxa yes! 16:13
thanks!
Altreus I have an architecture question I'm not sure I'm going to explain very well but here goes 16:15
The Discord API has a habit of sending back partial objects, especially when the request was for a different object. E.g. maybe it sends back a bunch of users in a channel when you request a channel 16:16
16:16 pecastro left
Altreus I don't want to send a request for every single one of those users just to populate the channel object fully; and I don't want to discard the data either 16:16
Grinnz Twitter does similar things 16:17
Altreus What I think I want is for the object to know it's a partial object and to fetch itself later on if the user requires it, but I don't know how to do that
Also it might not be what I want to do
16:17 SqrtNegInf left
Altreus I sense the answer lies in the metaclass, but here be dragons 16:17
Geth doc: coke assigned to stoned Issue Invalid example in doc/Type/Cool.pod6 github.com/Raku/doc/issues/3213
a4c562c2ef | (Luis F. Uceta)++ | 2 files

  * Wrap language constructs with C<> where appropriate.
16:18
Altreus The alternative I could think of would be to have a property that runs in parallel to @.users, @.users-partial
but that seems nasty
Well it's a % I think 16:20
Grinnz my twitter api mechanism is intentionally dumb, but twitter comes back with a partial user object when you get a tweet, and a partial last-tweet object when you get a user, i just fill in the object with whatever's there 16:21
Altreus I thought of having something along the lines of «%users{$id} = User.new but Partial» but then I'd have to remove Partial later, and it seems to me that a complete object is just a Partial one with no missing parts
Grinnz up to the user to have requested what they need
Altreus But can the user request what they need?
Grinnz sure, get_user if you need the full user 16:22
Altreus I guess that could be idempotent
So if you pass it a complete user it just returns it
16:22 mowcat joined
Altreus Then you don't need to know if it's a full user 16:22
colon thinking colon 16:23
Grinnz mainly i just wanted to avoid doing unnecessary requests
because in 100% of cases so far i havent actually needed to request further
Altreus It seems more likely in my case that this will be necessary 16:24
Possibly
It's more likely to be the Message object, honestly
$message.author will probably be a partial object
I guess what I /really/ want is a sort of central cache of each object type 16:25
So it doesn't matter how I come by the User object - I either already know about it, or I get it
The other concern is I can't just swap objects out with a complete version of them
Or I'd do that
Grinnz i guess the most i can suggest is to determine what kind of tradeoff you want to make between DWIM and explicit managing of how many requests are made
16:27 cpan-raku left, cpan-raku joined, cpan-raku left, cpan-raku joined
Altreus yes ... the eternal tradeoff 16:33
I will consider
16:44 zakharyas left
doc: 1424d9e9fd | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 2 files
Merge pull request #3214 from uzluisf/master

Minor rewording and ...
16:51 aborazmeh joined, aborazmeh left, aborazmeh joined 16:58 SqrtNegInf joined 17:01 jmerelo joined 17:03 kensanata left
lizmat it's that time of the week again: another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/02/10/2020-...r-brewing/ 17:09
Geth doc/master: 4 commits pushed by (JJ Merelo)++ 17:10
jmerelo lizmat++ 17:11
Doc_Holliwould m: sub roman( RomanIntStr $r is copy .= uc ) { } 17:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'RomanIntStr' in parameter declaration.
at <tmp>:1
------> 3sub roman( RomanIntStr7⏏5 $r is copy .= uc ) { }
Doc_Holliwould booh, I say
booh
;-)
m: sub roman( Str $r is copy .= uc ) { } 17:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3sub roman( Str $r is copy7⏏5 .= uc ) { }
expecting any of:
constraint
Doc_Holliwould Is there a way to do that? Transforming an argument in the within the sig. 17:16
Altreus sounds side-effecty 17:20
lizmat Doc_Holliwould I guess you could put it in a where block ? 17:24
but yuck ? 17:25
17:29 chloekek joined 17:32 sena_kun left 17:34 [Sno] left
Geth doc: 03badf9cbc | (JJ Merelo)++ | doc/Language/variables.pod6
Converts an inline-note in a real note refs #3215
17:41
linkable6 Link: docs.raku.org/language/variables
doc: 36191c3771 | (JJ Merelo)++ | doc/Language/variables.pod6
Adds new indexing term refs #3215
linkable6 DOC#3215 [open]: github.com/Raku/doc/issues/3215 [RFE] Improve (including better indexing) of dynamically scoped variables
jmerelo Camelia has apparently stopped working in #whateverable 17:42
Also, this
m: say $foo // 3
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$foo' is not declared
at <tmp>:1
------> 3say 7⏏5$foo // 3
jmerelo So far so good
But
m: say $*not-defined // 3
camelia 3
jnthn Why the "but"? 17:43
jmerelo Do dynamic variables get an out-of-not-defined-hell-card free?
Geth doc: 3b8f9fe964 | (Elizabeth Mattijsen)++ | doc/Type/Cool.pod6
Fix example

Since I was the one who merged this faulty example.
linkable6 Link: docs.raku.org/type/Cool
jmerelo jnthn: so is that spec?
jnthn jmerelo: The failed lookup produces a Failure
jmerelo: Sure
You're then disarming the failure with // 17:44
jmerelo m: $*not-defined = 33; say $*not-defined
camelia Dynamic variable $*not-defined not found
in block <unit> at <tmp> line 1
jnthn They're dynamic; we can't reason about them lexically (that is, at compile time).
jmerelo jnthn: which is why they behave differently to static variables 17:45
jnthn Yes.
jmerelo should we maybe document that?
jnthn I'm sure there's quite a lot of code doing the $*maybe-exists // 'default' thing
jmerelo: For sure; I'd assumed it already would be :) 17:46
If it's missing, totally worth documenting.
jmerelo jnthn: don't be sure about anything in the documentation...
jnthn :)
True; I tend to use the documentation almost entirely for standard library reference, not for language reference. 17:47
17:47 sena_kun joined
jmerelo jnthn: in this case, that's not the case: it's documented 17:47
jnthn: "a dynamic variable can be used undeclared as long as it's checked for definedness or used in a boolean context before using it for anything else"
m: say $*not-defined or "Bust" 17:48
camelia WARNINGS for <tmp>:
Useless use of constant string "Bust" in sink context (line 1)
Dynamic variable $*not-defined not found
in block <unit> at <tmp> line 1
jmerelo m: say $*not-defined || "Bust"
camelia Bust
17:48 lichtkind left
jnthn jmerelo: Yes, I just went looking and found exactly that :) 17:49
lizmat m: say "bust" without $*FOO
camelia bust
jnthn Though searching for "dynamic variable" or "dynamic scope" in the search box didn't lead me to it
Dunno if we try to index such terms
jmerelo jnthn: yep, that's the thing. I just created an issue for that: D#3215 17:50
linkable6 D#3215 [open]: github.com/Raku/doc/issues/3215 [RFE] Improve (including better indexing) of dynamically scoped variables
jmerelo jnthn: please add that if you think they should be found through those terms too. 17:51
17:55 foo222 left 17:59 lichtkind joined
lichtkind jmerelo: thank you 17:59
18:01 pecastro joined
jnthn jmerelo: Done so :) 18:01
jnthn goes home, hopes the wind isn't too high
18:02 hungrydonkey left 18:10 titsuki left 18:11 nosqrt joined 18:13 mahmudov joined
jmerelo jnthn: thanks! 18:17
lichtkind: no problem, my pleasure
18:18 Kaiepi left 18:23 Kaiepi joined 18:26 Kaiepi left, [Sno] joined 18:29 Kaiepi joined 18:31 Kaiepi left, Kaiepi joined 18:39 ZZZzz joined
cpan-raku New module released to CPAN! Gnome::Gtk3 (0.23.1) by 03MARTIMM 18:39
18:45 ZZZzz left 18:46 Ven`` joined 18:48 aborazmeh left 18:50 leah2 left 18:59 vrurg left 19:00 vrurg joined 19:04 vrurg left 19:07 leah2 joined 19:14 Ven`` left 19:19 domidumont joined 19:24 sauvin left 19:28 bartolin joined, bartolin left 19:29 bartolin joined 19:31 kensanata joined 19:32 sena_kun left 19:34 guifa joined
guifa o/ 19:35
19:42 xinming left, xinming joined 19:46 sena_kun joined 19:51 jmerelo left 19:55 reach_satori joined
veesh \o 19:58
20:10 vrurg joined 20:12 domidumont left, vrurg_ joined 20:13 melezhik joined 20:15 vrurg left, vrurg_ left 20:16 Kaiepi left 20:17 vrurg_ joined 20:18 Kaiepi joined 20:20 wildtrees joined, Kaiepi left, Kaiepi joined 20:33 daxim left 20:38 daxim joined 20:50 rindolf left
Geth ¦ old-issue-tracker: AlexDaniel assigned to Kaiepi Issue Specifying the source address of an outgoing connection using IO::Socket::* github.com/Raku/old-issue-tracker/issues/6399 21:01
21:05 stoned75 joined 21:07 aborazmeh joined, aborazmeh left, aborazmeh joined 21:08 vrurg_ left 21:09 pecastro left 21:10 Ven`` joined 21:32 sena_kun left 21:34 imcsk8 left 21:35 imcsk8 joined
Geth doc: c18229e558 | (Stoned Elipot)++ | doc/Language/compilation.pod6
Fix xref links
21:40
linkable6 Link: docs.raku.org/language/compilation
21:47 sena_kun joined 21:53 kensanata left 22:07 chloekek left 22:13 Kaiepi left 22:14 Kaiepi joined 22:15 Kaiepi left 22:20 Kaiepi joined 22:30 Kaiepi left 22:31 Kaiepi joined 22:33 NODE left 22:35 NODE joined 22:38 aborazmeh left, foo222 joined 22:41 [Sno] left, lichtkind left 22:45 NODE left 22:46 NODE joined 22:55 stanrifkin joined
stanrifkin I upgraded to moar-2020.01 with rakudobrew but there is no perl6 executable. I just build it with rakudobrew build moar and switched to it. 22:56
22:57 NODE left 22:58 NODE joined 23:00 NODE left 23:02 NODE joined 23:04 Ven`` left 23:06 NODE left, Ven`` joined 23:07 NODE joined 23:08 Ven`` left, El_Che left 23:09 El_Che joined
cpan-raku New module released to CPAN! Getopt::Long (0.1.4) by 03LEONT 23:18
23:18 stanrifkin left 23:29 Black_Ribbon joined 23:33 sena_kun left 23:34 hungrydonkey joined 23:46 vrurg joined 23:47 sena_kun joined 23:48 aborazmeh joined, aborazmeh left, aborazmeh joined 23:51 vrurg left