🦋 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.
sjaveed hello folks! 02:00
[Coke] hello
sjaveed so I'm just getting started with Raku - former perl monger that went to ruby but am now interested in falling in love with raku 02:04
i'm running into an issue when attempting to use a regex that's stored in a string - i'm sure i'm doing something wrong 02:05
i've got a gist with a testable script here: gist.github.com/sjaveed/061c743b70...46bcc5c000 02:06
wondering if experienced rakuist has thoughts on what i'm doing wrong
[Coke] if you want to "eval" a regex, I think it's /<$string>/ 02:07
m: my $regex-str = '"/greeting/" $<name> = (.+)'; my $path = "/greeting/bob"; say $path ~~ /<$regex-str>/
camelia 「/greeting/bob」
[Coke] which I only remember because I basically asked the same question this weekend. :)
sjaveed actually yeah my bad - that was an older version
i switched to that
but it's not picking up my capture groups with that syntax 02:08
compare that to
[Coke] m: my $regex-str = '"/greeting/" $<name> = (.+)'; my $path = "/greeting/bob"; $path ~~ /<$regex-str>/ ; say $0
camelia Nil
[Coke] m: my $regex-str = '"/greeting/" $<name> = <(.+)>'; my $path = "/greeting/bob"; $path ~~ /<$regex-str>/ ; say $/
camelia 「/greeting/bob」
sjaveed m: my $path = "/greeting/bob"; say $path ~~ /"/greeting/" $<name> = (.+)/; 02:09
camelia 「/greeting/bob」
name => 「bob」
sjaveed i'm certain it's something trivial and i'm not seeing it
also it's been 20 years since i've been on irc 02:10
i think i've missed the bots :-)
oh lol just saw your comment [Coke] - about having asked the same question recently 02:12
sjaveed do you have an example of where you've used string interpolation in your code? 02:12
wondering if seeing an example might help figure this out
[Coke] question: do you really need to store the regex as a string? 02:13
you could do my $regex = /..../ and then use the regex object.
(assuming you just wanted to pull it out into a separate object, not necessarily as a string)
sjaveed the's a good question - i *think* i need to store it as a string 02:14
let me explain what i'm trying to do and maybe a better alternative will appear
so this is essentially the toy functionality i figured i'd build - a simple routing engine for the web
sjaveed something like that rails has 02:14
so you could provide it a route that looks like e.g. /greeting/:name and it will match against /greeting/bob and give me name as the param 02:15
my initial take on that was to take the route /greeting/:name and convert it into a regex
similar to the one in the gist
do that for all routes specified
and see which one matches any given path
i'm not sure i can do this with a static regex 02:16
[Coke] ... have you seen Cro? 02:17
sjaveed what's that?
[Coke] (someone already built something similar to the thing you're looking for) - but I know that building one is very attractive to the folks that like perl & raku 02:18
sjaveed sorry really new to the ecosystem
oh hmmm
[Coke] cro.services/
sjaveed i'll take a look
sjaveed yeah this is also a bit of a personal challenge really 02:18
nothing like a project to learn a language i think
but maybe there are pointers to using regexes for this there 02:19
thanks for the pointer!
elcaro_ sjaveed: maybe look at the source of HTTP::Server::Router and see how it does it 02:19
github.com/tony-o/perl6-http-server-router
sjaveed oooh 02:20
a pure router
[Coke] elcaro_++
sjaveed ok this might be more interesting
the Cro site's first example seemed to indicate they're solving the problem differently
sjaveed get "greet", $name -> sub {} 02:20
[Coke] anyway, I don't know why your attempt doesn't preserve the captures. :(
sjaveed they're bypassing the problem it looks like
thanks elcaro_! this is promising 02:22
they're also using regexes but differently 02:23
elcaro No probs... you can search for modules at modules.raku.org
even if you're trying to roll your own solution for learning, it's often helpful to look at how others tackled it
sjaveed agreed
the thing i know i'll struggle with for a bit is finding the idiomatic way to raku 02:24
if nothing else, existing modules should help point me in the right direction for that
sjaveed fwiw elcaro and [Coke], this gist works using EVAL gist.github.com/sjaveed/061c743b70...46bcc5c000 02:51
i'd rather not use EVAL of course 02:52
only the first and last examples in there work - the middle example continues to fail
sjaveed hmmm so it looks like github.com/tony-o/perl6-http-server-router is bypassing a regex check as well 03:15
there's a regex check in there which caught my eye but it looks like that's used when the route is defined in terms of a regex 03:16
looks like github.com/moznion/p6-Router-Boost solves it using the EVAL approach 03:21
[Coke] maybe when moritz gets back in the morning (EU) he can figure it out. 03:23
sjaveed nice - yeah this is just weird - i'm glad i have a workaround but a proper solution or a definitive "that's not possible" would be good! 03:27
sjaveed oh nice - moritz as in Moritz Lenz? 03:28
i might come back in EU daylight hours then - thanks! 03:30
elcaro 03:38
[Coke] aye, that one. 03:39
elcaro sjaveed: EVAL might be the only option. another example is jnthn's ECMA262Regex module, which converts a ECMA262 regex to a Raku regex using EVAL 03:40
jnthn has stated that this is something that RakuAST should be able to solve when it lands
sjaveed nice 03:45
ok this is all good info - looks like i have something to look forward to 03:46
i'll take a look at the ECMA262Regex module though - that might be the cleanest approach to this without using EVAL myself
Geth ecosystem: 09cba83206 | Julio++ | META.list
Add BigRoot to ecosystem

See github.com/juliodcs/BigRoot
07:06
ecosystem: 2966a5f591 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Merge pull request #541 from juliodcs/juliodcs-BigRoot

Add BigRoot to ecosystem Thanks!
timotimo m: my $rexstr = "$<first>=<[a..z]> $<rest>=<[a..z]>+"; "hello world" ~~ / \s <blorp=$rexstr> /; say $<blorp> 10:07
camelia Use of Nil in string context
in block <unit> at <tmp> line 1
Use of Nil in string context
in block <unit> at <tmp> line 1
5===SORRY!5===
Unrecognized regex metacharacter = (must be quoted to match literally)
at /home/camelia/EVAL_0…
timotimo m: my $rexstr = "$<first>=<[a..z]> $<rest>=<[a..z]>+"; "hello world" ~~ / \s $<blorp>=<$rexstr> /; say $<blorp> 10:08
camelia Use of Nil in string context
in block <unit> at <tmp> line 1
Use of Nil in string context
in block <unit> at <tmp> line 1
5===SORRY!5===
Unrecognized regex metacharacter = (must be quoted to match literally)
at /home/camelia/EVAL_0…
timotimo m: my $rexstr = '$<first>=<[a..z]> $<rest>=<[a..z]>+'; "hello world" ~~ / \s $<blorp>=<$rexstr> /; say $<blorp>
camelia 「world」
first => 「w」
rest => 「orld」
timotimo sjaveed: i'm not sure if this will help; subcaptures of a regex-as-string interpolated bit can be received like this, by giving the result a name explicitly in the interpolating regex 10:09
Xliff timotimo++ -- I was looking for that! 10:10
It uses EVAL under the hood, yes?
timotimo that's right 10:11
Xliff Thanks. 10:15
lizmat .seen lizmat 12:06
tellable6 lizmat, I saw lizmat 2020-09-09T11:53:15Z in #raku-dev: <lizmat> ugexe: I tried
Roamer` ...were you trying to get the bot to do a double-take?... I don't think it worked... 12:23
Xliff Is there any way to programmatically invoke need statements? 13:01
I would like to run them from a loop.
rypervenche sjaveed: Any reason why you're not just using a named regex though? 13:01
m: my regex blah { '/greeting/' (.+) }; my $path = '/greeting/bob/'; $path ~~ &blah; 13:02
camelia ( no output )
rypervenche m: my regex blah { '/greeting/' (.+) }; my $path = '/greeting/bob/'; say $path ~~ &blah;
camelia 「/greeting/bob/」
0 => 「bob/」
Xliff m: my $a = 'NativeCall'; need $a; 13:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
need used at line 1 (in Raku please use "v" prefix and "use" for pragma (e.g., "use v6;", "use v6.c;") instead)
Xliff m: use v6; my $a = 'NativeCall'; need $a;
camelia Don't know setting RESTRICTED
at gen/moar/ModuleLoader.nqp:249 (/home/camelia/rakudo-m-inst-2/share/perl6/lib/Perl6/ModuleLoader.moarvm:previous_setting_name)
from gen/moar/ModuleLoader.nqp:254 (/home/camelia/rakudo-m-inst-2/share/perl6/lib/…
Xliff HUnh?
That definitely looks LTA
timotimo c: HEAD my $a = 'NativeCall'; need $a 14:08
committable6 timotimo, ¦HEAD(e65466f): «04===SORRY!04=== Error while compiling /tmp/hNU22Qt_gA␤Undeclared routine:␤ need used at line 1 (in Raku please use "v" prefix and "use" for pragma (e.g., "use v6;", "use v6.c;") instead)␤␤ «exit code = 1»»
timotimo yeah, odd. 14:09
sjaveed Thanks for the additional comments timotimo, rypervenche 14:19
I'll take a look as soon as i get a moment to breathe here :-)
but tl;dr on why i can't use a named regex rypervenche: i'm generating these regexes from other strings 14:20
rypervenche Ahh ok 14:23
guifa Xliff: yes 14:29
need ::($a); if I remember correctly
guifa At least, it works with require 14:29
guifa Xliff: actually, need says it runs at compile time, so it probably won’t work. I’d recommend going with require and then using the fully qualified name as a workaround (that’s what I’m using for Intl::X) 14:32
Altreus > Private multi-methods are not supported 14:34
er
why :)
I was sort of relying on it working tbh 14:36
guifa Altres: that’s a good question. Though there’s quite a few workarounds
Altreus I'm using the multi nature of it to halt recursion - I only made it private just now 14:37
doesn't have to be, but erm etc
timotimo private methods something something optimization? 14:39
one important thing about multis is that new candidates can be brought in in different contexts
like, with an inner scope that defines a multi candidate, that is only in there 14:40
Altreus can I define a method like that?
Altreus TIAS
timotimo but private methods are per exact class, so a little more like a sub
actually, with a multi sub you may be better served here?
Altreus shit it worked 14:42
Altreus actually maybe it did, maybe it didn't 14:42
I got excited, hang on
guifa Altreus take a look at this 14:43
rbt Hello. Can anyone explain the difference between Buf derived from WHAT and Buf in the hash lookup?
my %H{Mu:U};
%H{Buf} = method (Buf $val) {'some buf'};
sub lookup(Mu $datum) {
my \type = $datum.WHAT;
dd $datum.WHAT, %H{$datum.WHAT};
dd type, %H{type};
dd Buf, %H{Buf};
}
my Buf $b = Buf.new(^256);
lookup($b);
##### Output
# Buf
# Any element of %H = Any
# Buf
# Any element of %H = Any
# Buf
# Method %H = method <anon> (Mu: Buf $val, *%_) { #`(Method|93826602735792) ... }
moritz rbt: please don't past more than single line of code here; use a pastebin for that 14:44
guifa m: class A { multi sub b(\self,Int $) {‘int’}; multi sub b(\self,Str $) {‘int’}; method a (|c) { self.&bar(|c) } }; say A.new.test(1); say A.new.test(‘a’)
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
bar used at line 1. Did you mean 'bag', 'VAR'?
guifa erp 14:45
rbt moritz: Okay. Will do in the future.
guifa m: class A { multi sub b(\self,Int $) {‘int’}; multi sub b(\self,Str $) {‘int’}; method a (|c) { self.&b(|c) } }; say A.new.test(1); say A.new.test(‘a’)
camelia No such method 'test' for invocant of type 'A'. Did you mean any of
these: 'gist', 'List', 'list', 'Set'?
in block <unit> at <tmp> line 1
guifa okay I really need to stop renaming variables for golfing in irc
Altreus ok so it looks like the methods aren't constrained to the scope so they're still public even though I defined them elsewhere
so it looked like it worked but it was just the original with weird shapes :D 14:46
moritz rbt: I don't have time to dive into it right now, but maybe it's related to Buf being a (parametric) role; if you try to instantiate it, a class will be automatically created for you
Altreus but yeah I can use my multi sub
moritz so Buf could refer to eitehr of these
Altreus or similar
guifa Altreus: 14:47
m: class A { multi sub b(\self,Int) {‘int’}; multi sub b(\self,Str) {‘str’}; method a (|c) { self.&b(|c) } }; say A.new.a(1); say A.new.a('a')
camelia int
str
Altreus ah right
guifa will only add one character when you use (basically .&foo instead of !foo)
Altreus but if it's so easy why not just make private multis do that :)
guifa Could just be a NYI thing
Altreus yeah, pesky 14:48
get to it, unpaid labourers!
also thank you
guifa Also… grrr at whoever made the TWEAK method for X::Method::NotFound
It and three other classes in Exceptions.pm6 require special code for localization =/ 14:49
Speaking of weird things methods too btw 14:50
m: my &why-no-work-grrrrr = method { $:placeholder } 14:51
camelia 5===SORRY!5=== Error while compiling <tmp>
Placeholder variables (eg. $:placeholder) cannot be used in a method.
Please specify an explicit signature, like method <anon> (:$placeholder) { ... }
at <tmp>:1
------> 3my &why-no-work-grrrrr =…
Altreus what the heck is a placeholder
:O
guifa whaaaaa? you don’t know the joys of placeholders??!?!?!??!! 14:52
guifa is only surprised because of how deep of a dive you’ve taken in Raku :-)
Placeholders occupy the happy place between a full block with signature and a whatever code
Altreus deep but not wide
I was going to say aren't they things like $^a, $^b
guifa yes they are :-)
Altreus but this does not match that pattern! 14:53
guifa $^positional, $:named
Altreus oh right hmm
I've not come across a block that uses named placeholders since I've not come across a procedure that's going to pass them
guifa (acutally in all honesty I had completely skimed over $:named until only a few monhs ago )
Altreus is it $: or :$ 14:54
oh
you did $: before and it said please do :$ in a signature and I got confused
helpfully that's recognisably the "embarrased" emoji from before we had proper ones 14:55
timotimo $:blah is one way to declare that your block takes a named argument called "blah"
:$blah is the way to declare it in the signature
Altreus TIL about named placeholders, yay!
guifa It is weird that methods won’t allow them though. You’d think that they would, since self would be implied first positional, and all the rest would follow along from that 14:57
moritz if you can be bothered to writes classes/roles and methods, you can also be bothered to write signatures :D 14:59
guifa moritz: if only you could see the nastiness I’m dealing with trying to create a semi passable localization system for Raku hahaha 14:59
actually
moritz it's mostly meant for really short subs, often anonymous ones; for long ones, signatures help immensly with readabilty
guifa moritz (and timotimo for that matter), y’all are native German speakers yeah? 15:00
moritz ja
guifa iche habe eine Bitte O:-) 15:01
ich*
moritz shoot :D
guifa I wrote a script that parses out the .message for all the exceptions 15:02
I figured out a way to hack them in so that exceptions print out in non-English languages, even for compile time stuff
so…. naturlich, wanna translate ‘em to German? I’m doing Spanish/Asturian/Euro Portuguese, and rypervenche is going to help do Chinese 15:04
moritz I can translate some; probably don't have enough time/motivation to do all 15:05
guifa yay. (and don’t need all of them, that’s the joy of github and pull requests)
moritz so, where do I do that?
timotimo have you considered using the mechanism that also powers getting exceptions as json? 15:06
moritz SCOPE CREEP! :D 15:07
guifa timotimo I hadn’t seen that. Does it return a JSON object like {type: “foo”, message: “really long message here”} ? 15:09
Altreus je peux essayer de faire le français si tu veux
timotimo env RAKU_EXCEPTIONS_HANDLER=JSON perl6 -e 'die "oh no"' 15:10
Altreus «les traduire dans francais», I suppose
timotimo {"X::AdHoc":{"payload":"oh no","message":"oh no"}}???
it's not "a mechanism to get it as json" it's "a mechanism to get the exception and print it however you want" 15:11
guifa timotimo: did not know that that existed. But the messages are unfortunately generated in code, and sometimes through TWEAK methods (looking at you X::Method::NotFound)
Altreus RAKU_EXCEPTIONS_HANDLER=de_DE 15:12
Dede!
guifa: as tu une^W^W^WDo you have a list of error strings somewhere? 15:14
codesections points for using 3 ^Ws instead of 9 ^Hs :D 15:15
guifa timotimo: I’m looking to actually adjust the message string, but it’s programmatically set — fairly simply in most cases, but quite complex in others (so localizers need some basic knowledge of Raku esp if their language does dual/paucal/etc numbers)
Altreus: I should be tonight. The only thing tripping me up from being done this morning was the no placeholders in methods. Debating my best workaround to keep my updater scripts simple 15:16
codesections guifa: If I could submit one minor patch for English, I think it'd be adding dual/paucal numbers 15:17
guifa I think I’ll probs just do __PLACEHOLDER__ and do a subst, since it’s just two of them and they have to have some special handling anyways
Altreus what are these numbers
codesections (a few years ago, I would have said "a gender neutral pronoun" but 'they' seems to have caught on well enough these days)
guifa English has singular and plural (the latter is technically “non-plural” because one has “zero things”)
Arabic, for instance, has singular, DUAL and plural, so that the number 2 gets handled specially 15:18
Altreus aha
I did wonder about that weird feature of Western languages
why is 1 so special
guifa paucal is a weird one, normally for “a few” (with languages determining that definition specially) 15:19
guifa It’s a localizer’s nightmare come true. Determining the correct number is … complex :-) 15:20
codesections imo, it infects thinking by inclining people towards binary divisions (1 vs not-1) in a way that would be less pronounced with a trinary division
but that's total speculation
Altreus we just group everything so it can be 1 again :D 15:29
guifa So there’s still one or two bugs in the generation of this file but …  15:31
gist.github.com/alabamenhu/b2109f1...0125d0e3ab
But it gives a decent enough overview of how an Intl::X::en file might look 15:32
guifa Some of them have a “Note: “ (see X::Adhoc, line 133) which I’m creating bit by bit as I do my own localization 15:34
Altreus 'SORRY!' 15:35
:D 15:36
guifa I gave serious thought to just leaving that one as is haha
and then adding in a Canadian flag next to it ;-)
Altreus DÉSOLÉ! qqc a fait tort
not enough exclamation marks 15:37
The EVAL one has three, a sure sign of a diseased mind
guifa Oh but the Spanish and Asturian get six! 15:38
¡¡¡SIÉNTOLO!!!
Altreus oy!
guifa errr
¡¡¡EVAL ye una función perpeligrosa!!!
Altreus I'm sort of surprised they still use those upside-downey ones
do they even have special names? 15:39
guifa You have to have them.. “It’s easy” and “Is it easy” use the same words, in the same order, but different intonation
Altreus I'm mildly upset that they render differently
Well that's true of French too, but the one at the end is enough
C'est facile. C'est facile? 15:40
guifa For a long question, it might not be obvious that something is a question until you get to the end
so it’s kinda nice
Altreus Well that's OK, the Germans put all their useful words at the end and cope perfectly well
It's a language of suspense
guifa But they just call them opening and closing marks, same model they use for ( ) or « »
Altreus oya
is fun 15:41
I was just chatting on twitch today about the way we English use the exact same words for like 5 different meanings depending on how you say it
But we completely refuse to use any sort of punctuation or accents to explain which one it is
guifa yeah 15:42
guifa . o O ( indeed | for real? | go English! | meh )
Altreus we need punctuation that means this wasn't enough of a sentence to deserve a full stop 15:46
.
sjaveed how about elipses...
Altreus that's three! 15:47
How did we get to the point where repeating punctuation makes it less effective? :|
[Coke] 15:48
Altreus
[Coke] m: say 2÷6
camelia 0.333333
guifa` oh, I also totally forgot 16:14
Altreus: lizmat had made a proposal a while back to make ¿? and ¡! valid syntax in Raku. IIRC she was thinking of them as quotation marks, but if they could be used as a substitue for ?( ... ) and !( ... ) that would be kinda cool :-) 16:15
Altreus ah and I can type them easily so bonus 16:29
does `my sub` close over `self` (not $self)? 16:30
[Coke] does my sub even have a self? 16:30
Altreus as in method foo() { my sub bar { ... } } 16:31
I've used self.&bar for now
plus the relevant signature 16:32
guifa` subs explicitly reject the use of self 16:38
although maybe in a method block's lexical scope? 16:39
m: class A { method B { self #`(works okay here); my &c = sub { self #`(here though?) } } } 16:40
camelia WARNINGS for <tmp>:
Useless use of self symbol in sink context (line 1)
guifa` m: class A { method B { self.say #`(works okay here); my &c = sub { self.say #`(here though?) } } }
camelia ( no output )
guifa` seems to allow it, if you've got it in method's scope 16:41
Altreus I finally got to the position where I can TIAS :) 16:45
now I can TIAS
Altreus what function does try have over just using a block? 16:52
[Coke] legibility? 16:55
it also turns on "use fatal" 16:56
docs.raku.org/language/exceptions#...try_blocks
Altreus ah, implicit catch! of course 16:57
Is there a way to tell installations that a file has been deleted? That was a common issue with cpan 16:58
And I've just done it again :D
[Coke] Please consider casting a ballot for the RSC if you're eligible and haven't voted yet 17:19
El_Che until when can one vote? 18:47
[Coke] 20th 18:53
but please don't wait until the end to vote, as I have to click buttons to process each vote. 18:54
(and would rather not get 100 votes at the end of the run)
Juerd [Coke]: Do people who vote get a confirmation that it was received?
rypervenche guifa`: Does the ?? in your script allow for variants? 18:55
lizmat Juerd: they don't, afaik, but you can ask [Coke] here whether they received it 18:59
Juerd lizmat: It's fine, if the assumption is that email works then I'll assume the same :) 19:01
El_Che and to think that voting by mail is somewhat controversial in some countries :)
lizmat well, we'll see whatever the RSC will come up with for the next election 19:02
[Coke] Juerd: I'm not replying to the emails, no. 19:03
Juerd [Coke]: ok, thanks :) 19:04
[Coke] I will post a list of email addressess that voted as part of the results.
(but not who they voted for)
Juerd Please obfuscate those a little because of address harvesting bots
[Coke] Sure, but in general that ship has sailed. 19:06
Juerd: patches welcome to github.com/Raku/Raku-Steering-Coun...tally.raku 19:07
Juerd In case of my own address, certainly, and it might be true for most. But you don't want to be responsible for someone's first, I think :)
[Coke] or just tell me what you want done: how would you want "Will Coleda [email@hidden.address] (@coke)" to appear?
mine's been out the mid 90s. :) 19:08
*since
just s/@/ -at-/ ? 19:09
Juerd Simple substitution of the '@' for something uncommon goes a long way, such as s/'@'/ nospam~at /
guifa` rypervenche: that's actually one fo the advantages of messages being methods 19:10
Juerd Just the word 'at', with or without punctuation, will work for many but not most bots, while anything else will fool most (but still not all of course)
El_Che $whatbeforemail+domain@owndomain.com
guifa` rypervenche: oh, actually, you mean in terms of language codes. Yes, absolutely. Although it's not smart about it yet
Juerd [Coke]: Thanks :) 19:11
guifa` My Portuguese translation wil be Intl::X::pt-PT for instances, so that SmokeMachine can do Intl::X::pt-BR ;-)
Geth Raku-Steering-Council/main: 7e6800a260 | Coke++ | scripts/tally.raku
Add simplistic ranking output
19:12
Raku-Steering-Council/main: 0049ee5653 | Coke++ | scripts/tally.raku
Obfuscated reported email address

  Juerd++
[Coke] Done. 19:13
SmokeMachine guifa`: I'm in! How should I start?! :)
[Coke] btw, I am not doing a great job with mime encoding of non-ascii. "Christian =?utf-8?Q?Bartolom=C3=A4us?=" 19:14
Juerd That's rfc2047 but I haven't done anything with in it Raku 19:16
It's in Perl's Encode.pm as MIME-Header 19:17
guifa` SmokeMachine: I should have the finalized template sometime tonight. Still have a small bug in one of my scripts to fix before it's usable 19:18
bartolin [Coke]: oops. sorry for causing trouble there 19:28
[Coke] bartolin: :) 19:32
bartolin has (marginally) messed up the commit history in nfs-utils recently as well: git.linux-nfs.org/?p=steved/nfs-uti...09;hb=HEAD But then someone else managed to get an Umlaut in there ... 19:37
maybe I should stop doing that ;) 19:38
[Coke] wonders where he should report bartolin's email address as a bug. Email::MIME? 19:42
lizmat remembers the day a new guy named Ævar started working at $work, and broke quite a few of the internal systems :-) 19:55
guifa` Ævar was the first name or was he one of those mononymic types? 19:56
(or both, and if so, which broke the system?) 19:57
lizmat the fact that there was no extended ASCII representation for Æ (if I remember correctly :-) 19:59
codesections Ah, good old #9 on the list: www.kalzumeus.com/2010/06/17/false...out-names/ 20:00
lizmat yup 20:01
[Coke] codesections: I would hope that #11 at least is getting closer to true. 20:29
guifa [Coke]: the only real hold back now is no clear consensus on how to handle ideographic description sequences and any of the (now very few) writing systems not encoded 20:37
codesections I recently released 2 distributions, A and B. A relies on B and names B in its META6.json file. I discovered a bug in B that prevents A from working, and fixed the bug, but A is still not working, and I'm trying to figure out if A is using the new version of B or the old one. 21:07
I've installed the new version of B with `zef install . --force-install`. Is that all I need to do to get A to use the new B?
codesections (for those of you who are curious, A here is Pod::Weave and B is Pod::Literate, but that's not really relevant) 21:08
I have not incremented B's version in its META6 file. Do I need to do so in order to get A to use the new B? 21:09
timotimo zef will usually not fetch a "new version" unless the version number also changes 21:17
since it's "already installed"
codesections yeah, but I thought the --force-install overrides that 21:18
rypervenche Did you also --force-install A? 21:22
codesections yeah 21:23
hmm, yeah, no combination of --force-install'ing A and B worked. But bumping B's version did. Odd 21:24
Geth doc/gc-dup: b8e1ad7a3e | (Stoned Elipot)++ | doc/Type/MixHash.pod6
Remove duplicated section
21:29
doc: stoned++ created pull request #3626:
Remove duplicated section
21:30
guifa rypervenche: I think I finally worked out all of the kinks 21:38
weekly: github.com/alabamenhu/IntlX 21:39
notable6 guifa, Noted! (weekly)
guifa ^^ rypervenche take a look there under resources/template.rakumod 21:39
rypervenche guifa: Nice! I'll check it out. (also typo in README "dobule") 21:43
guifa (also don’t look at my ugly processing code lol. But of course someone will come along now and tell me how I can get a Match result for parsing an entire raku file and my life would have been much easier :P 21:45
rypervenche My eyes are closed ~_^ 21:53
Xliff guifa: Thanks. Unfortunately run-time is way too late for my purposes. 22:52
Xliff m: sub weird-test ($scalar is rw) { say $scalar.VAR.nbame }; my $apapapa = 'WTF'; weird-test($apapapa) 22:53
camelia No such method 'nbame' for invocant of type 'Str'
in sub weird-test at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub weird-test ($scalar is rw) { say $scalar.VAR.name }; my $apapapa = 'WTF'; weird-test($apapapa) 22:54
camelia $apapapa
Xliff m: sub weird-test (\scalar is rw) { say scalar.VAR.name }; my $apapapa = 'WTF'; weird-test($apapapa)
camelia 5===SORRY!5=== Error while compiling <tmp>
Can only use 'is rw' on a scalar ('$' sigil) parameter, not 'scalar'
at <tmp>:1
Xliff m: sub weird-test (\scalar) { say scalar.VAR.name }; my $apapapa = 'WTF'; weird-test($apapapa)
camelia $apapapa
Xliff sub (*%o) { %o.gist.say }; my $a = 'key'; o( $a => 'a' ); 23:08
m: sub (*%o) { %o.gist.say }; my $a = 'key'; o( $a => 'a' ); 23:09
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
o used at line 1
Xliff m: sub o (*%o) { %o.gist.say }; my $a = 'key'; o( $a => 'a' );
camelia Too many positionals passed; expected 0 arguments but got 1
in sub o at <tmp> line 1
in block <unit> at <tmp> line 1
Xliff m: sub o (*%o) { %o.gist.say }; my $a = 'key'; ($a => 'a').gist.say
camelia key => a
Xliff m: sub o (*%o) { %o.gist.say }; my $a = 'key'; o( |Pair.new($a, 'a') ); 23:10
camelia {key => a}