🦋 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.
codesections m: my %h = %{key => ${inner-key => 'value'}}; say %h<key>.WHAT 00:01
camelia (Hash)
00:01 oneeggeach left
codesections this ^^^ declares a hash-of-hashes. What's the equivalent syntax for declaring a Map of Maps? 00:02
m: my %m is Map = %{key => ${inner-key => 'value'}}; say %m<key>.WHAT
camelia (Hash)
codesections That ^^^ is a Map of Hashes, which is halfway there… 00:03
m: my %m is Map = %{key => Map.new('inner-key', 'value')}; say %m<key>.WHAT 00:07
camelia (Map)
codesections that ^^^^ gets the result I'm looking for, but gives up on having a literal syntax. Is there a way to get the same result with a literal syntax, or do I need to stop being lazy and just call `Map.new()`? 00:08
00:16 patrickz left 00:25 sena_kun joined 00:26 Altai-man_ left 00:28 marcusr left 00:29 marcusr joined
SmokeMachine m: my %m is Map = key => Map.new: { inner-key => “value” }; say %m<key>.^name 00:39
camelia Map
SmokeMachine codesections: ^^
01:29 linkable6 left, evalable6 left 01:31 evalable6 joined, linkable6 joined 01:45 Noisytoot left 02:02 linkable6 left 02:03 linkable6 joined 02:07 squashable6 left 02:08 linkable6 left, squashable6 joined 02:11 rockxloose left, releasable6 left, releasable6 joined 02:12 rockxloose joined
guifa2 codesections: what SmokeMachine said. MAybe you could do my %foo is Map[Map] in the declaration or similar, but I dunno if the literal hash will auto coerce in that case 02:13
02:13 sergot_ left 02:14 sergot joined 02:24 Altai-man_ joined 02:26 sena_kun left 02:31 dataangel left
[Coke] it won't 02:35
IIRC
02:38 gnufr33dom joined
guifa2 that said 02:49
you could always make your own map operator
codesections :D thanks all 02:50
02:55 aborazmeh left
guifa2 oh 02:56
apparently Map can't be parameterized, which kind of makes sense since it's immutable
but how is this? 02:57
m: multi sub circumfix:<;( )> (*@p) { Map.new: |@p }; my %a is Map = ;( b => ;( c => 'd'), e => ;( f => 'g', h => 'i') ); say %a 02:58
camelia Map.new((b => Map.new((c => d)), e => Map.new((f => g, h => i))))
guifa2 codesections: ^^ I tried using <m( )> but the default precedence is off and it reads it first as a method call
codesections That's pretty nifty
02:59 dataangel joined
guifa2 I only thought about that because I actually had my first realworld use of a signature literal 03:00
and that's defined as :( … )
codesections The unhappy cousin of the Type Smiley 03:02
rockxloose The other day NYT had an article from the Go Team explaining their effort to fit 59 million objects within the memory of a 16Gb laptop. The examples given, complicated and simple, can based on that theme or use case; a newspaper's archie from 1800s to now. 03:05
codesections Although, as nifty as that is, I'm realizing (after coming back to this) that I was suffering from a bit of an XY problem: I don't *really* want a Map of Maps – what I really want is to limit the interior mutability of a hash when passing it around. Which…requires a bit more thought/reading
03:05 linkable6 joined
guifa2 codesections: in what way? Asking because I did all sorts of crazy stuff to try to preserve internal mutability of the CLDR database while preventing end-users for touching it 03:08
Actually ended up with a pretty nice solution
codesections well, to take a simple case: if I have something like 03:12
m: my %h = %{outer1 => %{inner1 => 'val'}, outer2 => %{inner => 'other val'} }; say %h; sub fn(%hash) { %hash<outer2> = 'new' }; fn(%h); say %h;
camelia {outer1 => {inner1 => val}, outer2 => {inner => other val}}
{outer1 => {inner1 => val}, outer2 => new}
codesections I'd like to ... not be allowed to do that :)
i.e., to have a way to ensure that the inner hash can't be modified by the function `%h` is passed to 03:13
Without making it fully immutable in the scope it's declared in
(similar to how a scalar variable can't be modified in the function without `is rw`) 03:14
guifa2 github.com/alabamenhu/Intl-CLDR/bl...s/Base.pm6
^^ a bit overkill for what you want, but achieves the same result, jsut a lot of extra stuff I needed
Basically, I made a class that had an internal hash. You can give it the Associative role although it's not strictly necessary 03:16
the { } and < > shorthands called the ASSIGN-KEY, BIND-KEY with = and := respectively, and so you can toss an exception there with a nice warning to not meddle with your internals
(or you could have it not error and just skip the assignment) 03:17
codesections "a nice warning" aka the text «Foo :(» :D 03:18
03:18 skids left
guifa2 haha I've got a big update for that module coming with a more awesome error message 03:19
codesections :D But yeah, that looks like the way to do it if I'm being more serious about it. But, like you said, a bit overkill for what I'm doing. I'm really just trying to get a feel for what Raku provides/what the right mental model for mutability is 03:20
guifa2 oh right 03:22
there was the better messages
github.com/alabamenhu/Intl-CLDR/bl...bility.pm6
but there's a lot of old code in there from when I was playing around with a bunch of different ways 03:23
protip: backtrace checking is a cool idea, doesn't work as well in practice :-)
guifa2 . o O ( I probably need to go beef up Carp) 03:27
codesections (I guess what's really going on is that I'm missing this pattern from Rust, where I can tell that a complex data structure I pass to a function won't be mutated, because I passed it with an & reference and not an `&mut` reference: play.rust-lang.org/?version=stable...e2de14892b
guifa2 That would be a good use of Maps / Lists over Hashes / Arrays. But there's no easy way to quickly protect one and nest it 03:31
Although… I wonder. It might be possible to mix in a role right before sending it
03:32 aborazmeh joined, aborazmeh left, aborazmeh joined
codesections Yeah. The nice thing about the Rust idiom is that you can have something like `let mut foo = …` and then pass `&foo` to a function – and the reference the function gets does *not* allow mutation, even though the variable does 03:32
But ¯\_(ツ)_/¯ managing mutable state is one of Rust's main features, so I shouldn't expect to be able to replicate *everything* in Raku (just, you know, 90% :D) 03:34
guifa2 ooh 03:35
Got it
codesections: how about this? 03:43
bit.ly/31iZeE6
(TIO link)
codesections OOooh, that's really nice 03:45
I almost wonder if that should be built in, maybe with the name `Mappy` (to match `Baggy` and `Mixy`) 03:46
03:46 cpan-raku joined, cpan-raku left, cpan-raku joined
codesections "that" = the Role. As nice as the operator is (and as much as I'd use it!) I'm not sure it should be built in – the burden for new operators is pretty high 03:47
guifa2 That role only really works when shipping out the object. But you would never want to apply in internally, because then you run into the problems that I had with CLDR where you still want to be able to manipulate it. 03:49
codesections Yeah, fair point. But it doesn't become *harder* to manipulate than a Map 03:51
guifa2 For internal stuff, you could even add a SECRET-ASSIGN-KEY method that does what you really want, and create a postcircumfix like < >! and { }! that allow them to actually be done. 03:56
But definitely appropriate for module space
codesections yeah, agreed 03:58
guifa2 remind me never to touch old C programs again. The spaghetti code used to handle 15023234023 different configurations is mindboggling 04:02
codesections Wait, are we overthinking this? 04:05
m: sub foo(%h) { say %h; %h<a> = 5 }; my %x1 = :1a, :2b, :3c; foo %x1.Map
camelia Map.new((a => 1, b => 2, c => 3))
Cannot change key 'a' in an immutable Map
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
codesections doesn't that do the same thing as your `Can'tTouchThis` Role, guifa2?
guifa2 .Map will only apply to the outer 04:06
And not the inner
codesections yeah. But I guess you could deepmap the Map?
guifa2 oof
I feel like applying a role is easier at that point :-)
codesections haha, fair 04:07
guifa2 I'm really annoyed that core took the "timezone" attribute as an alias for gmt-offset
greppable6: .timezone 04:08
greppable6 guifa2, 1562 lines, 54 modules: gist.github.com/904c0f92e0e0d85319...5a7ef3dd81
guifa2 yikes, that's a lot of them 04:09
ooh I know, I could make the named parameter accept both Str and Int 04:10
that'd be backwards compatible for construction at least
codesections that sounds good
guifa2 Whateveer I end up with I'm sure I'll tweak it 04:13
04:23 aborazmeh left 04:28 Kaeipi left, Kaeipi joined 05:10 lucasb left 05:22 xelxebar_ left 05:23 xelxebar joined 05:25 sena_kun joined 05:26 Altai-man_ left 05:44 bocaneri joined 05:59 leont joined 06:16 samcv left, aluaces joined 06:46 ambs left 06:53 JJMerelo joined 06:54 sjm_uk joined 06:55 samcv joined 06:59 ambs joined 07:09 ab5tract joined 07:17 kensanata joined
Geth_ doc: beb441ce45 | (JJ Merelo)++ | doc/Type/Iterator.pod6
Shows ambiguous behavior of IterationEnd, closes #3147
07:22
linkable6 Link: docs.raku.org/type/Iterator
doc: 6de783d005 | (JJ Merelo)++ | doc/Language/traps.pod6
Documenting LEAVE trap, closes #3148
linkable6 DOC#3147 [closed]: github.com/Raku/doc/issues/3147 [trap] silence of IterationEnd failures
Link: docs.raku.org/language/traps
linkable6 DOC#3148 [closed]: github.com/Raku/doc/issues/3148 [trap] LEAVE block skipped when die is called
07:32 dakkar joined 07:39 rindolf joined 07:45 phogg left, phogg joined, phogg left, phogg joined 07:54 domidumont joined 07:57 ab5tract left, ab5tract joined
Geth_ doc: acfbf324ec | (JJ Merelo)++ | doc/Language/objects.pod6
Adds documentation for object equality

It's actually another example of the documentation already in the eqv description. Anyway, closes #2004
07:57
linkable6 Link: docs.raku.org/language/objects
linkable6 DOC#2004 [closed]: github.com/Raku/doc/issues/2004 [docs][update] Object Equality Documentation
08:24 Altai-man_ joined 08:26 sena_kun left
Geth_ doc: 8d8b3014f0 | (JJ Merelo)++ | doc/Type/Collation.pod6
Minor revision of Collation.pod6

This would close #2434 again, although the bulk of the issue was solved already.
08:26
linkable6 Link: docs.raku.org/type/Collation
linkable6 DOC#2434 [closed]: github.com/Raku/doc/issues/2434 [docs] LTA placement of collation docs
08:26 andinus left 08:28 BuildTheRobots left, BuildTheRobots joined, BuildTheRobots left, BuildTheRobots joined 08:29 manj-gnome_ joined, manj-gnome_ left 08:30 dominix joined
dominix hi everyone 08:30
Altai-man_ o/
dominix I would like to know what platform is raku ported to ? 08:31
is there a list ?
08:32 bocaneri left 08:33 andrzejku joined
dominix I know most linux distro are able to compile rakudo, win and mac, but what about *bsd ? and other OS like QNX 08:33
08:33 bocaneri joined 08:34 bocaneri left 08:35 bocaneri joined 08:36 Sgeo left
Altai-man_ dominix, some people are using BSD here, so there is a nice chance of it to work, not sure about QNX though. 08:36
dominix can I stand that platform that run JVM are supported ? (I guess no) 08:38
Altai-man_ dominix, build.opensuse.org/project/monitor...rakudo-git <- here is the matrix of recent Rakudo builds, it includes ARM, PowerPC, s390x.
dominix nice
08:39 bocaneri left, bocaneri joined
dominix however, some can't run nqp, so it may not be usable ... 08:40
Altai-man_ dominix, re JVM - it won't be oe too much help for you unless you intent to develop it. 08:41
s/oe/of/
dominix Altai-man_ u right 08:44
we have a personnal project, some coworker would like to use another language just because it supported on lot's of platform
08:44 dominix left 08:46 dominix joined
dominix I am willing to list all platform that can run raku programs, so they may be willing to use raku 08:47
Altai-man_ Sadly, I don't think it is ensured right now. More so, JIT does not work on ARM, so you can expect performance issues there, for example. 08:51
dominix i guess I can not stand that perl5 support help for raku as well
Altai-man_ So "a lot of platforms" is not the selling point for Raku. E.g. Java would be more solid choice. 08:52
dominix anyway, it may end ups in a docker or K8 container platform 08:53
moon-child random idea for anyone working on raku: case insensitivity for typo detection. E.g. 1.what should suggest 1.WHAT, instead of the completely useless Rat and flat 09:01
Altai-man_ moon-child, the problem with WHAT is that it is a compiler hook, not a real "method", so if you want nice type detection, use officially supported `^name`. :) 09:02
m: say 1.^name;
camelia Int
Altai-man_ m: say 1.^namE;
camelia No such method 'namE' for invocant of type
'Perl6::Metamodel::ClassHOW'. Did you mean 'name'?
in block <unit> at <tmp> line 1
moon-child m: say 1.flat; say 1.FLAT 09:04
camelia (1)
No such method 'FLAT' for invocant of type 'Int'
in block <unit> at <tmp> line 1
moon-child Altai-man_: looks like in that example it's just doing fuzzy match and noticing namE is one character off from name. I think it should just be case-insensitive
Altai-man_ m: say 1.^NAME; 09:05
camelia No such method 'NAME' for invocant of type 'Perl6::Metamodel::ClassHOW'
in block <unit> at <tmp> line 1
Altai-man_ Hmm, it apparently stops working after certain difference threshold, you are right.
09:10 dominix left 09:54 Noisytoot joined
cpan-raku New module released to CPAN! Abbreviations (0.0.1) by 03TBROWDER 09:57
10:10 andinus joined
tbrowder .tell Thundergnat thanks for auto-abbreviate on rosettacode.org 10:23
tellable6 tbrowder, I'll pass your message to thundergnat
tbrowder g'day raku ppl 10:35
anyone know who manages the m: REPL here? 10:37
m: use JSON::Fast; 10:38
camelia 5===SORRY!5=== Error while compiling <tmp>
Could not find JSON::Fast in:
inst#/home/camelia/.raku
inst#/home/camelia/rakudo-m-inst-2/share/perl6/site
inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor
inst#/home/cameli…
tbrowder it would be very useful to get modules installed for use here. then i/we could advertise our handiwork 10:40
who knows what "perls" are hiding in the bulrushes!
10:50 Altai-man_ left, sena_kun joined 10:51 markoong joined
Geth_ doc: e7ce74e555 | (Tom Browder)++ (committed using GitHub Web editor) | doc/Type/Signature.pod6
Add example of parameter multiple type constraint

Satisfies doc issue #3548.
10:55
linkable6 Link: docs.raku.org/type/Signature
linkable6 DOC#3548 [open]: github.com/Raku/doc/issues/3548 [docs] Need example and words on constraint of an arg in a sub parameter to one of multiple types
10:59 cpan-raku left 11:06 cpan-raku joined, cpan-raku left, cpan-raku joined 11:12 smash left 11:13 Altai-man_ joined, JJMerelo left 11:15 sena_kun left 11:16 dakkar left 11:37 Black_Ribbon left, Black_Ribbon joined 11:42 rcyu joined 12:13 Celelibi left 12:17 dolmen joined 12:21 aborazmeh joined, aborazmeh left, aborazmeh joined 12:22 Black_Ribbon left 12:25 rcyu left 12:57 _jrjsmrtn joined 12:59 __jrjsmrtn__ left
codesections Lists and Maps are both immutable data types. However, they seem to mean somewhat different things by "immutable". Compare: 13:02
13:03 dolmen left
codesections m: my $l List.new(1,2,3); $l[1] = 42; 13:04
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my $l7⏏5 List.new(1,2,3); $l[1] = 42;
expecting any of:
infix
infix stopper
statement end
statement modifie…
13:04 finanalyst joined
codesections er, wait, never mind. I think I'm just getting tripped up by sigils again… 13:05
finanalyst hi. I'm looking at Pod::Block::Declarator. The raku compiler seems to deliver these for sub/method, but not variables. Comma picks up #| comments for variables. 13:07
Where to ask about this?
codesections github.com/rakudo/rakudo/issues/3804 13:08
It's Not Yet Implemented™ but Declarator blocks *should* eventually be applicable to variables 13:09
13:13 dolmen joined 13:16 aborazmeh left 13:19 andrzejku left
codesections Today in «Codesections attempts to understand Raku's semantics for nested Maps»: 13:41
m: my %m := Map.new(%{outer => Map.new(%{ :0inner})}); say %m.WHAT; say %m<outer>.WHAT; say %m<outer><inner>.WHAT; %m<outer><inner> += 1; say %m
camelia (Map)
(Map)
(Int)
Map.new((outer => Map.new((inner => 1))))
codesections That ^^^ describes itself as a Map (%m) containing a Map (outer) which contains Ints. And so each layer should be immutable 13:42
Yet the inner value gets mutated without an error. 13:43
What am I misisng? 13:44
*missing
13:50 squashable6 left
finanalyst @codesections: Thanks. That's the response I was looking for. 13:50
codesections Glad I could help :) 13:51
finanalyst @codesections: You quoted and AST in the above issue. Did you generated the whole AST tree and cut/paste the bit you needed, or is there a more precise way to get the bit you need? 13:52
13:52 squashable6 joined
codesections No, that was the whole AST for that minimal example 13:53
(I actually don't know QAST/Rakudo internals well enough to be confident that I would have copied the right bit, if I'd copied some) 13:54
14:08 domidumont left 14:12 patrickb joined 14:13 Noisytoot left 14:14 Noisytoot joined, sena_kun joined 14:16 Altai-man_ left
ab5tract So I'm curious whether we (that is, Raku) has collected examples where `Rational` vs `Float` makes a significant difference in an otherwise harmless looking bit of math? 14:18
tellable6 2020-08-03T08:35:02Z #raku <JJMerelo> ab5tract how are you doing with your article?
2020-08-04T08:20:23Z #raku-dev <JJMerelo> ab5tract how's your article for the 20th anniversary going?
ab5tract (working on it ;) ) 14:19
I've just had a hell of a time arguing the utility of rationals to a bunch of computer science minded folks :/
codesections Wow. I would have thought anyone who'd spent time in the debugging trenches wouldn't take much convincing! 14:22
jast well, for one thing, doing financial stuff in floating point is a big no no 14:26
14:30 wamba joined
ab5tract jast, yup. My argument is that finance is the one place where the numbers are most scrutinized. Therefore we should take a great deal more heed at the fact that we use a form of representation for "regular" calculations that we find unusable "when it counts" 14:31
14:32 |Sno| left 14:34 sno joined
ab5tract Because to me the argument that "we know FP is fine" isn't really based on any actual data -- the data we _do_ have (whether it works when there is money on the line) does not bode well for FP 14:34
codesections ab5tract, I came across a post that goes into the gymnastics MATLAB does with ranges, all because of floating-point nonsense possiblywrong.wordpress.com/2020/0...for-loops/ 14:37
just saw that the other day, but it seems relevant
ab5tract thanks, I'll have a look! at first glance at your description it definitely sounds relevant :) 14:38
14:42 wamba left 14:55 gnufr33dom left 15:02 Sgeo joined
Altreus It perplexes me that the solution "stop representing floats like that then" wasn't used 15:08
jast I believe Matlab has a single number type only 15:09
and once you have huge matrixes, using arbitrary precision numbers can make a huge difference for performance
codesections Yeah, floats definitely have valid use cases. But so does ASCII. Imo, both should be opt-in 15:10
Altreus I bet it does, but that seems like one of those things that is just ... the case 15:11
jast anyway there's an entire branch of math about making algorithms more resilient to rounding errors
Altreus Solving problems teaches us about numbers! 15:12
jast see e.g. numerical analysis 15:13
Altreus I'm all for theoretical mathematics and problem solving but sometimes problems are solved by not having them :D 15:14
jast some algorithms get extremely expensive if you use arbitrary precision (or even symbolic computation)
so sometimes using floating point and tuned algorithms is your best choice under the circumstances 15:15
Altreus this implies that floating point is computationally better, for reasons other than we've been using them for a long time and have got good at it
codesections Yeah, I don't think anyone is arguing that languages shouldn't *have* floating point numbers 15:16
Altreus Which is a reason I'd be interested in learning about
codesections My only claim is languages should have them but, generally, shouldn't use them as the default
which is also how I feel about ASCII, null-terminated strings, and 8-byte numbers 15:17
s/byte/bit
15:42 skids joined
Altreus Raku has null-terminated strings available? 15:55
sena_kun Altreus, NativeCall? 16:01
codesections That was my assumption too. I just checked the doc page for nativetypes, and it doesn't *say* that NativeCall creates a C-string from a Str. But it must, right? 16:03
Oh, here it is: 16:06
m: my $string = "FOO"; my $c-string = CArray[uint8].new($string.encode.list, 0); say $c-string;
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
CArray used at line 1. Did you mean 'Array', 'array'?
Altreus oh yeah that makes sense 16:07
codesections m: use NativeCall; my $string = "FOO"; my $c-string = CArray[uint8].new($string.encode.list, 0); say $c-string;
camelia NativeCall::Types::CArray[uint8].new
Altreus but if we didn't have nativecall would we need C strings?
codesections Probably not? I mean, the advantage of C strings is that they're smaller. But anything that is *that* memory constrained **might** not be the best fit for Raku even before the size of your strings is factored in :D 16:08
How are our strings represented, anyway? 16:09
Altreus I was just trying to gently challenge your assertion that they were as useful as floats in a language :)
codesections hey, I never said they were *as* useful :) 16:10
But they're both things I'm glad to have, but wouldn't want to have as a default
Altreus pretty sure I'd be happy never to see one again :D
16:10 JJMerelo joined
codesections ha 16:10
fair
Altreus mind you, I'm happy at the high level. If I don't know whether it's a float or otherwise, I'm in my zone 16:11
:)
JJMerelo We still need authors for the 20th anniversary calendar github.com/Raku/advent/tree/master/20th
7 slots to go...
codesections I like being able to hop up or down in levels :) 16:12
[Coke] JJMerelo: how many left until you run out? 16:13
JJMerelo [Coke] quite a few indeed. I'm already thinking about writing one to have it as a backup 16:14
I mean, there are 3 written now, so three days to go.
[Coke] eyes raku.org/archive/rfc/28.html 16:17
I imagine that would be a decent one to have, though I don't think I can do it justice. 16:18
... fine, I'll do one.
Geth_ advent: 1188efcb99 | (Will Coleda)++ (committed using GitHub Web editor) | 20th/README.md
Update README.md

claim an article
16:19
16:21 lizmat left 16:24 lizmat joined
[Coke] JJMerelo: I'll try to get this one done before your current supply runs out. 16:26
ab5tract [Coke]++ (and me too) 16:27
[Coke] It might work better as the *last* one, given the nature of the RFC, but I leave it to you to schedule it when it's written.
JJMerelo That would be awesome, thanks [Coke] and ab5tract
16:29 zacts joined
guifa2 bisectable6: (1|2|3).eigenstates 16:52
bisectable6 guifa2, Will bisect the whole range automagically because no endpoints were provided, hang tight
guifa2, More than 4 changes to bisect, please try a narrower range like old=2017.01 new=HEAD 16:53
guifa2, Output on all releases: gist.github.com/060f1207d482ad7415...61a7a0f8a3
guifa2 is 2015 as far back as bisectable goes?
[Coke] guifa2: you mean, the first release? :) 16:56
guifa2 ssssssh
I'm trying to dig into history!
haha
Trying to figure out when the eigenstates method was removed
rypervenche How is it that you can assign something to $/ if you do: $/=get ? That seems odd to me. Is there logic behind this?
guifa2 In 2009 is was still planned for junctions
$/ is just a variable, there's nothing special about it 16:57
rypervenche But one can't assign to it directly. I get: Unsupported use of $/ variable; in Raku please use the filehandle's .nl-in attribute 17:00
17:01 JJMerelo left
guifa2 m: $/ = %( :a<hello>, :b<world> ); say "$<a> $<b>" 17:01
camelia hello world
guifa2 there shouldn't be any problem assigning to $/, can you give a larger sample of what you're trying to do? 17:02
17:02 dolmen left 17:03 dolmen joined
rypervenche Oh, I'm just trying to understand some code golf is all. repl.it/@theangryepicbanana/Indian...#main.raku 17:04
I was mostly just curious why I couldn't assign a string to $/.
guifa2 Oh, that's left over from the P5 -> P6 17:05
guifa2 really feels we can get rid of some of those protecting-yourself-from-yourself errors
In Perl, $/ was the record separator, so the compiler probably assumes if you're assigning a string to it you're trying to use it for that purpose 17:06
m: $/ = 'foo' 17:07
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of $/ variable; in Raku please use the filehandle's .nl-in attribute
at <tmp>:1
------> 3$/7⏏5 = 'foo'
guifa2 ^^errors but…
m: my $a = 'foo'; $/ = $a; say $/
camelia foo
guifa2 :-)
raku-bridge <theangryepicbanana> (hey that's my code!) 17:08
17:09 skids left
raku-bridge <theangryepicbanana> (the @ in the link pinged me on the discord bridge lol) 17:09
codesections re: protecting-yourself-from-yourself: I'm all for safety, but I do kind of wish there was a "I was never a Perl5 programmer, so I'm not going to make *those* mistakes" mode :)
guifa2 To be honest, even a Perl programmer wouldn't make some of them I don't think. 17:10
The one that gets me is 'y'
try making a sigil-less y and have fun ;-)
codesections On functional programming idiom that's pretty common is to declare a new variable with the same name as an existing immutable variable, thereby shadowing it 17:11
m: my $a = 0; my $a = $a + 1; say $a 17:12
camelia 5===SORRY!5===
Cannot use variable $a in declaration to initialize itself
at <tmp>:1
------> 3my $a = 0; my $a = $7⏏5a + 1; say $a
expecting any of:
term
Other potential difficulties:
Redeclaration of symbol '$a…
codesections however, this is not *supper* easy to do in Raku ^^^
17:13 skids joined
codesections Is that error («Cannot use variable $a in declaration to initialize itself») a design choice, or an inherent limit? 17:13
17:13 Altai-man_ joined
codesections and, in either case, does anyone know why? 17:13
(not a big deal, just curious)
guifa2 codesections: you could probably use temp for that 17:14
m: my $a = 5; { temp $a = $a + 5; say "In the block A is $a"; }; say " but after the block it's $a " 17:15
camelia In the block A is 10
but after the block it's 5
17:15 dogbert11 joined 17:16 sena_kun left
guifa2 you could also use OUTER 17:16
m: my $a = 5; { my $a = OUTER::<$a> + 5; say "inside A is $a }; say " but outside $a" 17:17
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3 "inside A is $a }; say " but outside $a7⏏5"
expecting any of:
infix
infix stopper
postfix
statement end
guifa2 err
17:17 dogbert17 left
codesections re: temp but not with a bound variable. So it doesn't really let you shadow immutable variables: 17:19
m: my $a := 5; { temp $a = $a + 5; say "In the block A is $a"; }; say $a
camelia Can only use 'temp' on a container
in block <unit> at <tmp> line 1
guifa2 m: my $a = 5; {my $a = OUTER::<$a> + 5; say "Inside is $a" }; say " but outside is $a"
camelia Inside is 10
but outside is 5
codesections interesting/cool :) And that *does* work with bound variables 17:20
tobs m: say for 1..10 # this is the perlism that I am rightfully scolded for the most 17:21
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of bare "say". In Raku please use: .say if you meant
to call it as a method on $_, or use an explicit invocant or argument,
or use &say to refer to the function as a noun.
at <tmp…
guifa2 And because of OUTERS …
you could even make a prefix :-)
codesections haha
If I took all your advice about creating operators, I'd be programming in a language that isn't Raku anymore 17:22
and it would be wonderful. And take about 30 seconds to load "hello world!" :D
guifa2 I forgot about how to get a symbol's, um, symbol, though 17:23
oh right
although it doesn't work for bound items. weird 17:26
m: sub prefix:<·> (\i) { i.VAR.name}; my $a = 1; my $b := 2; say ·$a; say ·$b 17:27
camelia $a
No such method 'name' for invocant of type 'Int'. Did you mean any of
these: 'base', 'none', 'note', 'take'?
in sub prefix:<·> at <tmp> line 1
in block <unit> at <tmp> line 1
17:28 demostanis joined
codesections Oh, maybe the "use this variable to redefine itself" use case is what `supersede` is (/will be) for 17:30
NYI
guifa2 supersede is more for replacing something wholesale
codesections yeah, true 17:31
demostanis Hello everyone, I've finished the first version of a program called "HubToDate", written in Raku. It is used to fetch automatically pre-defined releases from GitHub repositories using rules. I know the code is uncommented and its structure isn't good and that may restrict future code motifications, which is why I will be changing it for sure in the next few days. But would you guys rate it if I publish it on
GitHub?
17:31 ab5tract left
guifa2 augment is great for adding new stuff, but sometimes you need to just rip out the old and replace, and taht's what supersede is going to be for 17:32
demostanis: I can probably take a look at it later this afternoon
demostanis I need to write a small README 17:33
codesections m: {my $a := 0; our $a := 5; say $a} 17:35
camelia Potential difficulties:
Redeclaration of symbol '$a'.
at <tmp>:1
------> 3{my $a := 0; our $a7⏏5 := 5; say $a}
5
codesections ^^^ slightly hacky 17:36
oh, wait, that doesn't actually work 17:38
m: {my $a := 0; our $a := $a + 5; say $a}
camelia 5===SORRY!5===
Cannot use variable $a in declaration to initialize itself
at <tmp>:1
------> 3{my $a := 0; our $a := $7⏏5a + 5; say $a}
expecting any of:
term
Other potential difficulties:
Redeclaration of symbo…
17:39 kensanata left 17:44 dogbert17 joined 17:46 dogbert11 left
[Coke] m: my $a; our $a; 17:47
camelia Potential difficulties:
Redeclaration of symbol '$a'.
at <tmp>:1
------> 3my $a; our $a7⏏5;
Geth_ advent: alabamenhu++ created pull request #57:
Create RFC233
17:48
guifa2 ^^ my draft for the advent calendar
codesections Well, anyway, I don't actually need to shadow anything. Just curious about why Raku is the way it is (which is also why I'm looking forward to reading these advent posts :) ) 17:50
guifa2 One thing I love about Raku: it's written in (basically) Raku. So when I want to make a brand new DateTime method and mirror how it parses datetimestrings, I can just go in and copy the actual literal regex it uses 17:54
vrurg++ 18:00
18:00 veesh left
demostanis Hereeee: github.com/demostanis/hubtodate 18:01
guifa2
guifa2 demostanis: first thing that jumps out at me would be github.com/demostanis/hubtodate/bl...LI.pm6#L11 18:05
idiomatic Raku would say "die 'This program does not work without root.' unless $*USER == 0"
if you still want to log it, I'd have the log function do the "die" 18:06
18:13 veesh joined
guifa2 demostanis: (…get-release(|@($owner, $name)), "$owner-$name") <-- also a little weird. 18:13
In Raku, () don't actually make something a list or array 18:14
It's actually the comma that does that.
so you can do just 18:15
…get-release($owner,$name), "$owner-$name";
most of the internals of your code is fine AFAICT, just little accents from foreign (programming) languages here and there ;-) 18:16
18:19 MasterDuke left
tbrowder any way to keep #raku repl reasonably updated with published modules? 18:21
18:24 mowcat joined 18:27 bocaneri left
codesections m: use Test; say (1 + 1).&is(2) 18:36
camelia ok 1 -
True
codesections tbrowder, I think it'd just be a matter of getting the modules installed in the container/host camelia is running on 18:37
Not sure how to do that. Maybe a PR to the bot, but I don't see where it lives right off
(we can already `use` installed modules, which is what I was checking with the `use Test` test) 18:38
tbrowder thnx 18:45
maybe moritz or AlexDaniel` know 18:46
18:47 andrzejku joined
moritz there's a star target that comes with the R* modules 18:52
star-m: use JSON::Tiny; say to-json { a => [2 => "förn"]} 18:53
camelia { "a" : [ { 2 : "f\u00f6rn" } ] }
18:54 MasterDuke joined
moritz I don't want camelia's build process to get any more complicated; feel free to fork and run your own, I can switch off camelia for that to avoid duplicating the bots 18:54
tbrowder what would be cool is to have new modules announced here by some bot be installed here soon thereafter. just in case the author would like to show it off );-) 18:55
codesections Fork from where? I mean, where does camelia's src live 18:56
tbrowder m: say "see what my new module X can do!!"
camelia see what my new module X can do!! 18:57
tbrowder codesection: i think somewhere in ge
Germany
codesections haha 18:58
tbrowder oh, source? not sure (i was thinking about the server)
moritz codesections: used to be perl6/evalbot on github. No idea if it's been moved to raku/ by now 18:59
codesections yeah, source. Sorry, I thought you were just being funny
Thanks
tbrowder i think i did see it in raku repo a while ago.... 19:01
info in github:Raku/infrastructure-doc 19:03
ok, as moritz said, github:perl6/evalbot... 19:09
19:10 ab5tract joined
tbrowder with all the neat docker stuff around these days that could become dockerized and take requests for module installation... 19:11
moritz if I'd built evalbot today, I'd likely use something dockerish as well 19:12
tbrowder actual host is named in the infrastructure-doc
moritz problem is, if it's supposed to change, someone must actually do it :D
tbrowder yup
moritz and not just implement it once, but also keep it running 19:13
tbrowder that's the kind of thing jj likes to do
19:14 sena_kun joined, perlmonk joined
perlmonk Hi everyone 19:15
tbrowder howdy
perlmonk New to Raku 19:16
19:16 Altai-man_ left
tbrowder welcome! 19:16
perlmonk Looking for a starting point from perl5 background
Thanks tbrowder
tbrowder have you looked at our docs for perl 2 raku 19:17
moritz docs.raku.org/language/5to6-overview
tbrowder ^^^
i haven't been at perlmonks since about 2015 when they weren't happy hearing about then p6...some crabby ppl there 19:19
mostly ok, but some screamers 19:20
kind of like twitter screamers
moritz: have you visited the evalbot server lately to see its state raku-wise? 19:23
and debian-wise?
moritz tbrowder: I don't think it runs on a Debian right now 19:24
tbrowder i was just looking at docs...
moritz those might be *very* out of date
tbrowder probably... 19:25
working on the host would be a lot more fun than steering council
maybe we ought to have an "infrastructure council" 19:26
w/ you or AlexDaniel` or JJmerelo as chair 19:27
19:27 perlmonk left 19:29 holyghost left 19:32 jnthn joined 19:34 kensanata joined
moritz shouldn't hold any official positions within the raku community in the forseeable future 19:34
19:37 MasterDuke left
AlexDaniel` tbrowder: I don't understand your question. According to github.com/Raku/problem-solving#la...sible-devs currently rba and maettu are taking care of the infrastructure 19:44
and from what I've seen rba is doing excellent job
why does everything need a council, I don't understand
sena_kun AlexDaniel`, hi! Do you have a bit of time to give some feedback on the UI question we discussed a month or so ago? 19:45
AlexDaniel` timotimo: I think I'm going mad, send help :D
guifa moritz: did something happen? 19:46
timotimo hold on, i've just got to get one of the cats into a box
tellable6 2020-08-04T23:30:23Z #raku-dev <patrickz> timotimo I'd like your opinion on github.com/rakudo/rakudo/pull/3838 You were a bit critical about adding more stuff, but that's what I did. So tell what you think!
AlexDaniel` sena_kun: oh, a new iteration? Sure, if you find my feedback useful
timotimo ok that was easier and faster than i thought
sena_kun AlexDaniel`, very much so! Ok, sending a link...
moritz guifa: life happened, that's all
I don't have the energy and/or time to read through all those long threads that are relevant to raku 19:47
guifa Ah, it sounded more nefarious ha. Totally understandable
moritz and so I feel that if I must make some decisions, I'm ignoring those that don't scream loudest, and then I do a disservice to the community
also, I noticed that if I feel I have to do something around raku, it's far less fun than if I just want to, even if it's the same thing in the end 19:48
guifa also, not sure if it was sena_kun or jnthn that added the declarator pod while typing but…. ++ It took me a bit to find the setting to have it popup almost instantly and it’s *really* nice.
rba From my point of view the council as it’s currently proposed is to offload responsibility from a single persons shoulder and give this in hands of a group. To provide final decisions and guidance on strategic language evolvement. The real work has still to be done. 19:52
19:57 moon-child left
moritz aye 19:57
19:58 moon-child joined, wamba joined 20:00 moon-child left 20:03 andrzejku left 20:11 moon-child joined 20:15 MasterDuke joined 20:18 moon-child left 20:19 moon-child joined 20:23 dolmen left
rypervenche By the way, since guifa mentioned that not being able to assign a string directly to $/ is a P5->P6 thing, is that something we should change? 20:27
tbrowder well, we were just talking looking at things like Raku/evalbot docs and wondering who was taking care of hardware. forgot or didn't know about problem solver location. we need to put old/out-of-date docs in an "old" or "archive" directory somewhere. the reference to "infrastructure" was a bit tongue-in-cheek. 20:29
20:31 vike left
demostanis guifa2: Thanks for your tips! I'm currently changing the code a little bit, and I've got to the part where the log ERROR should die without having to call it after logging... the log subroutine is defined with one proto and 3 multi, which return value depends on the first argument passed which should be an enum Level... The return value is done in the subroutine signature using -->, however it doesn't work with 20:31
arrays, erroring with "Malformed return value"... How may I return arrays using -->? Or do I have to put it inside the brackets>
?
enum Level <VERBOSE WARN ERROR>; proto log(Level $level, ...) {} multi log(VERBOSE --> <trying to pass an array here>) {} 20:34
20:34 moon-child left
moritz m: enum Level <VERBOSE WARN ERROR>; mult log VERBSE --> Array) { } 20:36
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3l <VERBOSE WARN ERROR>; mult log VERBSE 7⏏5--> Array) { }
expecting any of:
argument list
postfix
statement end
state…
moritz m: enum Level <VERBOSE WARN ERROR>; multi log VERBSE --> Array) { }
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3um Level <VERBOSE WARN ERROR>; multi log7⏏5 VERBSE --> Array) { }
expecting any of:
new name to be defined
moritz m: enum Level <VERBOSE WARN ERROR>; multi log(VEROBSE --> Array) { }
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'VEROBSE' in parameter declaration. Did you mean
'VERBOSE'?
at <tmp>:1
------> 3 <VERBOSE WARN ERROR>; multi log(VEROBSE7⏏5 --> Array) { }
moritz m: enum Level <VERBOSE WARN ERROR>; multi log(VERBOSE --> Array) { }
camelia ( no output )
moritz works if you omit all the typos :D
20:37 moon-child joined
demostanis Yep but I'm trying to return an array like <hello world>, not the type itself 20:40
Like how you can do sub f(--> 3) {}; f # OUTPUT: 3
AlexDaniel` rba: I've been trying to understand it but I'm completely failing. What kind of decisions and guidance and why do you need a council for that? Hiyaaa… 20:41
anyway I hope it works for you
20:41 moon-child left
rypervenche What's wrong with my subset regex here? gist.github.com/rypervenche/03fa63...c00dcdab58 20:46
Oh....nevermind. I wasn't quoting the string on the command line. 20:48
guifa2 .timezone --> Int but Str. I'd totally forgotten about that doing mixins like that for backwards compatibility 20:49
demostanis I guess I'll just put the value inside the brackets... 20:50
tbrowder .ask maettu is it possible to install a large chunk (preferably all) of the published raku modules onto the camelia host so the #raku repl has access? 20:52
tellable6 tbrowder, I'll pass your message to maettu
tbrowder rba: i would have asked you too but your name didn't show active when i was composing... 20:59
cpan-raku New module released to CPAN! LibXML (0.5.7) by 03WARRINGD
21:00 vike joined
rypervenche How might one use ** in a regex if I want to say "3 or 6 of this character"? I've tried using a junction on the number and that seems to allow numbers in between the two. 21:00
Example regex: / ^ '#' <xdigit> ** 3|6 $ / 21:01
tbrowder now, ideally, camelia's host should get that newly-announced module installed (under control of one the bots if feasible).
rypervenche m: "#abcde" ~~ / ^ '#' <xdigit> ** 3|6 $ /; 21:03
camelia ( no output )
rypervenche m: say "#abcde" ~~ / ^ '#' <xdigit> ** 3|6 $ /;
camelia 「#abc」
xdigit => 「a」
xdigit => 「b」
xdigit => 「c」
guifa2 rypervenche: thats being interpreted as / [ ^ '#' <xdigit> ** 3] | [6 $] /
rypervenche Ahhh. 21:04
guifa2 it should be something like / ^ '#' <digit> ** { 3 | 6 } $ / 21:05
but for some reason that's not working
rba AlexDaniel`: I find it difficult to express it in words on IRC. Maybe it‘s the move from kindom/sole leader to a democratic elected executive council. I see similarities the swiss federal council. (en.wikipedia.org/wiki/Federal_Coun...tzerland)) Or at least I hope it goes this direction... 21:09
tbrowder: Got it. I will most of the time „be“ away. Yet if all works fine I get notified. 21:10
rypervenche guifa2: Ahh, not a huge deal I guess. I wanted to keep it all on a single line, but now I have my first use of using | at the start of a line for multiple "or"s :) 21:11
Thanks.
guifa2 heh
Although if it's for hex codes
AlexDaniel` rba: what I see right now is an absolute failure to delegate and let people do the work. PS#217 is a good example, and it's pretty clear to me that the council won't be able to help with that issue
linkable6 PS#217 [open]: github.com/Raku/problem-solving/issues/217 [language] Uncertain status of tests in the roast
guifa2 it can sometimes be nice to break them out into separate tokens so that actions can handle them separately
because you would calculate the three digit separate from the six 21:12
rba tbrowder: I see the need. Yet I see the danger too. We have a host which is used for Blin testing and for rakudist CI. Yet we need to be careful as this would allow to execute arbitrary code. 21:13
21:13 Altai-man_ joined 21:14 dolmen joined 21:16 sena_kun left
tbrowder ok, thnx, forgot. how about a docker instance for camelia? could that be made more secure? 21:17
rypervenche guifa2: You mean using named regexes for each? 21:21
rba tbrowder: Encapsulate it in docker is one part. Still think about network restrictions too...
guifa2 oh wait, you're probably doing this inline instead of in a grammar
rypervenche Yeah, I'm just doing a very short script to convert the hex to decimal, and also allowing for the short version of the code. So I'm just using a ternary (may change to if/then) to then do the conversion. 21:23
21:24 molaf joined
rba AlexDaniel`: I know that I have not enouth background to answere languate design questions. Though I think having more than just jnthn to take final decissions and have more than one voice agreeing to change roast - the raku spec - is something I don‘t see as a disadvangate. 21:24
21:27 mowcat left
AlexDaniel` rba: that's precisely what I don't understand. jnthn previously said he's not OK with sharing the responsibilities for the `language` label, but a council doing something like that is fine? Hmmm… Also, it doesn't seem like the people who will end up being in the council will be those who do the language decisions regularly, so what is this all about… 21:28
rba: it's a bit weird, everyone is acting like this is precisely what we need, yet I'm failing to see how it improves the situation regarding the problems that we actually have 21:29
maybe it'll help with other things, alright
21:29 wamba left
AlexDaniel` but… yeah… weird. 21:29
codesections I'm running into an odd error with a GENERATE-USAGE multi for a CLI: unsupported arguments are throwing the error «Cannot resolve caller split(Any:U, Str:D); Routine does not have any candidates. Is only the proto defined?» instead of falling through to the `multi GENERATE-USAGE(&main, |capture) {USAGE}` block like I'd expect 21:30
Has anyone run into this one before?
(Since it's a CLI issue, I can't post a particularly useful clip to eval here) 21:31
AlexDaniel: I don't see anything inconsistent/odd about saying 1) "I don't want to add more people to the language label, which could allow them to approve changes to the language" and 2) "I'd like an elected body that can make some/many of the decisions that currently require input from the lang team" 21:33
er, AlexDaniel` (didn't see the `) 21:34
especially considering that Johnathan will (almost certainly) be part of that elected group, which will act only after having meetings (which he'll presumably be at). It seems (imo) like a way to delegate *some* while also making sure he stays in the loop 21:35
guifa2 rypervenche: another option 21:36
codesections and/or that no decisions get made without him having the chance to bring up countervailing reasons
guifa2 m: say "#129339" ~~ / ^ '#' <xdigit> ** 3..6 <?{ $¢.chars == 4|7 }> $ /
camelia 「#129339」
xdigit => 「1」
xdigit => 「2」
xdigit => 「9」
xdigit => 「3」
xdigit => 「3」
xdigit => 「9」
guifa2 m: say "#12939" ~~ / ^ '#' <xdigit> ** 3..6 <?{ $¢.chars == 4|7 }> $ / 21:37
camelia Nil
21:39 moon-child joined
Geth_ ecosystem: 1a886753b0 | thundergnat++ (committed using GitHub Web editor) | META.list
Add Text-Sorensen to the ecosystem

Calculate the Sorensen-Dice or Jaccard similarity coefficient. Similar usage as the Levenshtein or Jaro edit distance.
See github.com/thundergnat/Text-Sorensen
21:42
21:53 Murilo joined
Murilo hello it is possible to create an raku class extending an javascript class on rakudo js? 21:55
22:05 rindolf left, kensanata left 22:06 lucasb joined 22:11 MasterDuke left
demostanis Good night everybody 22:12
22:12 demostanis left
AlexDaniel` codesections: it is odd. If previously we were dependent on a single person to make decisions, now we'll be dependent on… the council? So more people will be spending (lacking) time to make good decisions. It's weird in that it is other way around. If, however, the intention is to just let others also make the decisions, then that's precisely what was proposed before, but jnthn wasn't okay with that. Hmmm. 22:20
Altreus can I mix a role onto self? i.e. mutate it, rather than using but? 22:21
I have a custom constructor that uses bless directly, and I'd like to apply a role based on logic 22:22
AlexDaniel` codesections: it's confusing when you try to describe it in words, but it's a bit clearer when you approach the question with a practical problem at hand. For example, how will the council make things like PS#217 go easier/faster ? 22:24
linkable6 PS#217 [open]: github.com/Raku/problem-solving/issues/217 [language] Uncertain status of tests in the roast
AlexDaniel` my proposal is basically this: it seems like some people are ready to spend time to make well-informed decisions, and they've been doing things right in the past, so let's just let them do the work they want to do (without the need for every little thing they propose to go through jnthn) 22:26
the problem-solving process basically suggests that if there's a disagreement about any of the changes, then fine, go through the slow process then. But for anything else there's no need 22:27
22:27 wamba joined
AlexDaniel` anyway, that's a bit unrelated. The question is how the council will make that particular ticket get resolved faster 22:28
Altreus I just realised my statement was a return value so 'but' is correct :D
codesections AlexDaniel` It just doesn't seem odd to me. There are a lot of decisions that I wouldn't feel comfortable trusting any one person to make (potentially without my input). For many of those decisions, I *would* feel comfortable trusting a group of people to make the decision by majority vote – *especially* if I new that group would meet regularly and that I'd have a chance to at least share my
point of view on any issue before the group made a decision.
s/I new/I knew/
AlexDaniel` that's wonderful talk, now tell me about that particular ticket 22:29
codesections I don't know the technical details of that ticket. But, since you asked…: 22:30
AlexDaniel` I can give you another one? Point is that generic words about how the idea make sense are not useful when we try to apply it to reality 22:32
codesections Right now, there's an ongoing, async discussion about how best to resolve the status of tests. That may go on for a long time, and anyone who has an opinion could chime in. It's unclear when a resolution will be reached. If Raku had a council, and that group decided this ticket was a high priority, I think they'd schedule a time to talk about it at their next meeting. They'd set aside some time 22:33
(~30 minutes?) to discuss it, with everyone in the room (er, virtually) and then they'd make a decision
AlexDaniel` no no
it's very clear, the resolution will be reached when jnthn says so 22:34
codesections That would demand a fairly high but – crucially! – *fixed* time investment from all involved, and would prevent interminable conversations from dragging on
AlexDaniel` so currently anyone can chime in but it doesn't matter much
now, instead of jnthn spending time on taking a look at the ticket and saying “ah yeah, these look outdated to me” you want 7 people (including jnthn) to do the same 22:35
this is a common misunderstanding that I noticed in this whole debate
codesections I mean, I don't know the people involved. I tend to think that whoever is selected for the counsel will be reluctant to do something Johnathan thinks is a bad idea. But they'll have the ability to do so if they choose to 22:36
AlexDaniel` we don't have a problem of not knowing when a resolution is reached, we have the reviewers and the problem-solving repo
what we need is somebody saying “yeah, this solution feels right, let's go for it”
codesections Well, from experience in past projects, my opinion is that async conversations can drag on in a way that sync ones don't 22:37
AlexDaniel` currently jnthn is doing that for everything, and the proposed council is… completely unrelated to that problem :(
codesections: I don't get it. What do you mean something jnthn thinks is a bad idea? The problem is that we need jnthn to spend time to look through the tickets to even have an opinion on them 22:38
so… I mean this is a completely different issue :(
codesections Well, that's only true if *both* 1) Johnathan doesn't trust the council enough to defer to decisions they've come to on issues Johnathan hasn't studied in detail *and* 2) the council doesn't ever overule Johnathan (which they have the votes to do) 22:39
It seems likely that neither of those things is true, and very unlikely that both are
AlexDaniel` so by 1) you mean that jnthn will not participate in the council meetings? 22:40
codesections No, just not study an issue closely, and defer to the thoughts of people who have looked more closely
AlexDaniel` isn't this what I was suggesting in the first place?
codesections anyway, I've got to go – time for dinner! Thanks for sharing your thoughts 22:41
AlexDaniel` to delegate decisions to those who want to look more closely
22:41 finanalyst left
AlexDaniel` yeah, whatever, back to square one :( 22:41
for my understanding of the whole situation, that is 22:56
22:57 leont left 23:03 dolmen left 23:10 dolmen joined 23:11 jast left 23:12 jast joined, Murilo left, Murilo joined 23:14 sena_kun joined 23:16 Altai-man_ left 23:19 patrickz joined 23:23 patrickb left 23:33 dolmen left 23:39 Black_Ribbon joined
lucs How can I make an alias to a module name in my code? Example: 23:51
use PainfullyLongModuleName; my $x = PainfullyLongModuleName.foo + PainfullyLongModuleName.bar; 「I'd like to have an alias, like 'P' for example」 my $y = P.foo + P.bar;
23:51 patrickz left, Murilo left
guifa I think you should be able to bind, but I haven’t tested 23:52
lucs I'll try that. 23:53
Yep: my \P := PainfullyLongModuleName 23:55
Thanks