🦋 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.
[Coke] looks like the \K is unneeded, I think. 00:26
Geth doc/split-spell: 88870c79f7 | Coke++ | CONTRIBUTING.md
fix typo
00:46
doc/split-spell: e09360e02a | Coke++ | 2 files
Keep spell check for 'code' separate

  * Also convert to using supply/tap to queue tests
  * more aggressively subst for \n and \t
doc/split-spell: 94a481a30b | Coke++ | 2 files
None of these words are code-only
timotimo raku-advent.blog is having some trouble it seems like?
[Coke] the speedup was a mistake on my part, it's no faster. ah well. :) 00:50
Geth doc: 88870c79f7 | Coke++ | CONTRIBUTING.md
fix typo
00:58
Geth ¦ problem-solving: fecundf assigned to jnthn Issue Introspection for operator precedence, associativity github.com/Raku/problem-solving/issues/222 04:54
Skarsnik Hello, I want a to sub to take Array of Couple of Int, but I am not sure how to type that in the signature Array of List of Int does not really work since List can't be parametred it seems 08:41
tellable6_ 2020-08-11T21:12:32Z #raku <tbrowder> Skarsnik see raku/doc pr #3554
lizmat m: sub a(@a where all(@a) ~~ Int) { dd @a }; a (1,2,3); a <a b c> 09:01
camelia (1, 2, 3)
Constraint type check failed in binding to parameter '@a'; expected anonymous constraint to be met but got List (("a", "b", "c"))
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
Skarsnik m: sub foo(**@a where {$_.all ~~ Array[Int]}) {for [@a] -> ($a, $b) {say $a, "plop", $b}}; foo ((1,2), (1,2)); 09:07
camelia Constraint type check failed in binding to parameter '@a'; expected anonymous constraint to be met but got Array ([((1, 2), (1, 2)),])
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
Skarsnik The expected anonymous contraint message is kinda lta, should probably display the constraint? 09:08
Skarsnik :m sub foo(**@a where {$_.all ~~ Array[Int]}) {for [@a] -> ($a, $b) {say $a, "plop", $b}}; foo ((1,2), (1,2)); 09:14
err
m: sub foo(**@a where all(@a) ~~ List){ {say @a.raku}}; foo ((1,2), (1,2));
camelia [((1, 2), (1, 2)),]
Skarsnik this is a really weird nested list x) 09:15
MasterDuke `(1,2), (1,2)` is just a List of Lists that happen to contain Int. if you constrain to Array[Int] you need to explicitly create them as such 09:19
Skarsnik The issue you can't say List[Int] 09:20
and I am not sure why everything end in @a[]
@a[0]
MasterDuke m: sub foo(+@a where all(@a) ~~ List){ {say @a.raku}}; foo ((1,2), (1,2)); 09:22
camelia [(1, 2), (1, 2)]
Skarsnik Ho because I put a space between foo and ( x) 09:23
MasterDuke ah
Skarsnik m: sub foo(**@a) {say @a.raku; say @a[0];} ; foo 2, (1,2), (1,2); foo (2, (1,2), (1,2)); foo(2, (1,2), (1,2)) 09:24
camelia [2, (1, 2), (1, 2)]
2
[(2, (1, 2), (1, 2)),]
(2 (1 2) (1 2))
[2, (1, 2), (1, 2)]
2
Skarsnik Ok, now I am confused 09:27
m: sub foo(**@a where all(@a) ~~ List<Int>) { say @a[0];} ; foo((1,2), (1,"kdj"));
camelia (1 2)
tbrowder lizmat: hi, will your new allomorph class be in the upcoming release? 11:26
lizmat that entirely depends on whether the PR will be merged :-) 11:27
[Coke] if I am using Proc::Async and writing to its stdin - do I have to do anything to flush it? Is just calling close-stdin sufficient to ensure all the input has been pushed? 12:38
[Coke] I'm seeing some weird failures in this test: github.com/Raku/doc/blob/split-spe...pell.t#L91 just wondering if I can rule that out 12:40
moritz I wouldn't know what else to do 12:57
[Coke] ... wow. I just got a segfault in a very short program. 13:09
... and now it's gone. wtf 13:11
mark[m]5 [Coke]: you're not in a ram-restricted context by any chance? 13:18
[Coke] nope
mark[m]5 I've had segfaults on a raspberry pi (500Mb ram) for that reason before
just a suggestion :)
[Coke] can't do [cmp] @array -- "Cannot reduce with cmp because structural infix operators are diffy and not chaining" - is there a nice short syntax for chaining a sort comparison? 13:20
[Coke] rotor and map? 13:21
m: my @a=<1 2 3 4 6 5>; say [&&] @a.rotor(2 => -1).map({$_[0] < $_[1]}) 13:23
camelia False
[Coke] m: my @a=<1 2 3 4 5 7>; say [&&] @a.rotor(2 => -1).map({$_[0] < $_[1]})
camelia True
tbrowder ref: allomorph class, i hope it will cure my comparison issues with mixed numbers and strings. i haven't been able to figure out why yet but your new class gives me hope. 14:10
lizmat could you add a use case to the PR ?
[Coke] ugexe++ 15:35
thudergnat m: #`[Numeric] say [<] <1 2 3 4 5 7 61>; say [<] <1 2 3 4 5 61 7>; #`[Stringy] say [lt] <1 2 3 4 5 7 61>; say [lt] <1 2 3 4 5 61 7>; 15:47
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/…
15:48
thudergnat hmm.
m: say [<] <1 2 3 4 5 7 61>; say [<] <1 2 3 4 5 61 7>; say [lt] <1 2 3 4 5 7 61>; say [lt] <1 2 3 4 5 61 7>;
camelia True
False
False
True
thudergnat There doesn't seem to be any cmp equivalent to do a generic Alphanumeric order check though. 15:49
[Coke] ^^
[Coke] oh, lt vs. cmp. I'm an idiot. Thank you. :) 16:26
thundergnat++
JJMerelo And it's time again to answer Raku's user survey! Go to docs.google.com/forms/d/e/1FAIpQLS...Q/viewform and register your answers! And thanks! 16:42
tellable6_ 2020-08-23T21:26:12Z #raku <tbrowder> jjmerelo my doc issue #3554 was fixed with a commit to master on 12 aug and i don't see it in the online docs. what did i do wrong?
JJMerelo .tell tbrowder I'll generate and deploy now 16:43
tellable6_ JJMerelo, I'll pass your message to tbrowder
tbrowder t'anks compadre 16:44
JJMerelo tbrowder should be online now
Sorry, I've been busy with... to many things I shouldn't have because holidays 16:45
s/to/too/
tbrowder hm, cache may be causing no see... 16:48
tbrowder jjmerelo: i used the safari browser which i rarely use and still don't see the change on the nativecall page. 16:58
tellable6_ tbrowder, I'll pass your message to JJMerelo 16:59
Geth doc: codesections++ created pull request #3583:
Document the `set` and `unset` SetHash methods
17:49
Juerd raku -I. causes rakudo to stat() everything in cwd, including all subtrees. This takes forever. 17:58
tadzik oh wow
Juerd Especially when running in homedir...
Can someone run raku -I. -e1 with a current version to check if that's still present? I don't have a working build environment atm 17:59
strace raku -I. -e1, probably :)
Oh, it needs a use as well
strace raku -I. -Mtest -e1 18:00
Juerd Also it's a slow implementation. find takes 18 seconds, fd -I takes less than 2 seconds, raku -I. -Mtest -e1 hasn't finished yet while I was running the other two :) 18:03
terminatorul Hello guys ! 18:05
I read in the modules documentation that .pm extension is "supported, but discouraged"
Do you know what's wrong with it ?
And what is going to happen exactly when it gets "obsoleted" in 6.f ? 18:06
terminatorul I mean, could .pm extension be "obsoleted, but will still work" for the foreseeable future ? 18:10
lizmat Juerd: that's a consequence of -I 18:11
it checksums all files in the given dir to be able to track changes that would invalidate precomps 18:12
CIAvash terminatorul: github.com/Raku/problem-solving/bl...extensions
rypervenche terminatorul: The language name has changed from Perl 6 to Raku, so it makes sense for the file extensions to change as well. 18:15
hobbs lizmat: wouldn't it be sufficient to have 1) checksums of files that actually get loaded, and 2) a list of names that were searched for and not found in that directory? 18:16
and an invalidation would be if a checksum that was saved changed, or if a file that previously didn't exist (but could have been loaded) appeared 18:18
lizmat hobbs: this has been debated extensively. If you really would like to see this work better, get yourself versed into the ins and outs of precompilation 18:19
and then suggest a PR :-)
And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/08/24/2020-...rvey-time/ 18:25
terminatorul The language rename link is actually nice: "existing scripts continue to work without change in the foreseeable future" 18:30
and ".pm, ... extensions could be marked as DEPRECATED"
lizmat afk again& 18:31
terminatorul I still think the module extension can not possible affect anyoune, so there is no need to remove it 18:33
Juerd lizmat: I know it's a consequence of -I, but if this is by design, the design is awful :) 18:36
hobbs lizmat: I'm not likely to have time for that in the next... year or so, so feel free to boil it down to "nope, that's wrong", "theoretically it's fine but impractical to implement", "you're breaking something else", or "it's a good idea, just requires a pile of work" :) 18:37
Juerd Scanning an entire directory tree recursively should never be part of the startup of anything ever 18:38
codesections If I have a 'Foo', what's the best way to tell if `::('Foo')` resolves to a Class or a Role? 18:42
timotimo check what its HOW is? 18:46
codesections m: my $name = 'Baggy'; say ?(::($name).HOW ~~ /Role/)
camelia True
codesections timotimo: as a Str with a Regex, like ^^^? 18:47
m: my $name = 'Baggy'; say ?(::($name).HOW ~~ ?(Baggy.HOW ~~ Metamodel::ParametricRoleGroupHOW | Metamodel::ParametricRoleHOW) 18:50
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in parenthesized expression; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> 3GroupHOW | Metamodel::ParametricRoleHOW)7⏏5<EOL>
timotimo m: role TestRole {}; say TestRole.HOW; say Int.HOW eqv TestRole; say Positional eqv TestRole
camelia Perl6::Metamodel::ParametricRoleGroupHOW.new
False
False
timotimo m: role TestRole[T] {}; say TestRole.HOW; say Int.HOW eqv TestRole; say Positional eqv TestRole
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'T' in parameter declaration.
at <tmp>:1
------> 3role TestRole[T7⏏5] {}; say TestRole.HOW; say Int.HOW eqv
timotimo m: role TestRole[$test] {}; say TestRole.HOW; say Int.HOW eqv TestRole; say Positional eqv TestRole
camelia Perl6::Metamodel::ParametricRoleGroupHOW.new
False
False
timotimo m: say TestRole.HOW; say Positional.HOW 18:51
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
TestRole used at line 1
timotimo m: say Positional.HOW
camelia Perl6::Metamodel::ParametricRoleGroupHOW.new
timotimo AFK
but
m: use Perl6::Metamodel:from<NQP>; say Perl6::Metamodel::ParametricRoleHOW
camelia (ParametricRoleHOW)
dvonik hello 19:05
rypervenche dvonik: Hi there.
dvonik Hello, i was coming here to learn how to get started on freebsd 19:06
rypervenche dvonik: You might take a look at this: fluca1978.github.io/2020/01/14/Rak...eeBSD.html 19:07
You'll want to use the latest version of Rakudo, however, not the version in that guide.
dvonik ok
dvonik thank you it built correctly! 19:39
vrurg patrickb: ping? 20:11
patrickb pong 20:12
vrurg patrickb: what do you think about completion by a substring? So that 2020.08 would propose both moar and jvm backends if available, for example. 20:15
patrickb Can you rephrase that? I'm not sure I understand.
vrurg rakubrew ver<tab> -> proposes "version versions rakubrew-version" 20:16
rakubrew switch 2020.08<tab> -> "moar-2020.08 jvm-2020.08"
Something like this. This is what fish does and its often pretty useful.
patrickb vrurg: I think it might be possible to do. Possibly even in the other shells. Do you want to give it a try? 20:19
vrurg patrickb: it's not a big deal. In either case you have a sequence of grep{ substr eq candidate } in almost every branch in get_completions. It worth moving out into a method and then the substring completion can be unified for all places. 20:20
I'm gonna try it.
patrickb vrurg++ 20:21
rypervenche I think I should finally start doing the perl weekly challenges. Is there any point to doing older challenges, or should I just start with 75 and only do the new ones each week? 20:51
Geth doc/split-spell: 00c534d284 | (Nick Logan)++ (committed using GitHub Web editor) | xt/aspell.t
Refactor typo detectiont test

  * Use absolute paths instead of relative paths
  * Use a lock when writing to result hash to future-proof work loop for parallelization
  * Use react/whenever instead of taps
21:21
[Coke] woot! 21:22
lucs rypervenche: The more you do, the more practice you get, eh.
lucs has done none so far, but is tempted with 75. 21:23
codesections Does anyone know if `Routine.candidates` is guaranteed to return the candidates in a particular order? 21:36
Geth ecosystem: 19ffea1312 | (Pawel Pabian)++ (committed using GitHub Web editor) | META.list
Add Metropolis to the ecosystem

Generate a sequence of random samples from probability distribution function. See github.com/bbkr/Metropolis .
22:51