🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
00:05 tejr joined 00:08 reportable6 left 00:10 reportable6 joined 00:26 coleman joined
drakonis ah, debian already offers rakudo 2022.03 on experimental 00:54
12 days 00:56
not too bad
01:09 grondilu left 01:27 coleman left, coleman joined 01:58 coleman left 02:53 Xliff left 03:35 ggoebel left 04:00 Sgeo left 04:04 Sgeo joined 04:23 zacts joined
drakonis i'm actually impressed that raku shows up on every rosetta code page 04:34
04:46 p6steve__ joined 04:48 p6steve left, p6steve_ left 04:50 p6steve joined
Voldenet it's not that surprising, rosetta code really is rich database 04:57
04:57 zacts left 05:17 frost joined 06:08 reportable6 left 06:09 reportable6 joined 06:39 jjido joined 07:39 nativecallable6 left, greppable6 left, unicodable6 left, benchable6 left, shareable6 left, statisfiable6 left, bisectable6 left, reportable6 left, linkable6 left, bloatable6 left, coverable6 left, notable6 left, sourceable6 left, committable6 left, evalable6 left, releasable6 left, quotable6 left 07:40 coverable6 joined, sourceable6 joined, shareable6 joined, statisfiable6 joined, linkable6 joined, reportable6 joined, releasable6 joined, greppable6 joined 07:41 notable6 joined, bisectable6 joined, unicodable6 joined, benchable6 joined, evalable6 joined 07:42 committable6 joined, quotable6 joined, bloatable6 joined, nativecallable6 joined 07:57 clarjon1 joined 08:07 n1to joined
moritz Larry Wall supplied some of the initial raku examples, back when it was still called Perl 6 08:45
09:07 linkable6 left, evalable6 left, evalable6 joined 09:09 linkable6 joined 09:25 Sgeo left 09:37 bartolin left, bartolin joined 10:02 Xliff joined 10:17 zacts joined 10:48 ggoebel joined 10:54 frost left 11:52 sena_kun left 11:53 ggoebel left, sena_kun joined 11:59 ggoebel joined 12:08 reportable6 left, reportable6 joined 12:17 dogbert11 left 12:33 frost joined 12:34 lichtkind joined 12:37 nebuchadnezzar joined 13:11 sena_kun left 13:15 sena_kun joined 13:26 jjido left 13:35 jjido joined 14:10 monkey_ joined 14:24 ggoebel left 14:31 jjido left 14:32 monkey_ left 14:43 neither joined
Geth doc: cc93b85cc5 | (Richard Hainsworth)++ (committed using GitHub Web editor) | doc/Language/filename-extensions.pod6
correct the description of the table
14:50
linkable6 Link: docs.raku.org/language/filename-extensions
15:04 frost left 15:15 jgaz joined 15:26 coleman joined 16:02 hesh307 joined 16:03 jjido joined 16:24 lichtkind left, sena_kun left 16:30 sena_kun joined 16:41 jgaz left 16:44 jjido left 17:06 p6steve left 17:07 coleman left, p6steve__ left, coleman joined 17:55 jjido joined 18:00 p6steve_ joined, p6steve joined 18:07 reportable6 left 18:08 reportable6 joined 18:14 grondilu joined
grondilu How do I compare blobs? &infix:<eq> seems to work but I thought blobs are not supposed to be cast into Str? 18:15
also ~~ does not seem to work 18:17
I guess I need to find an counterexample 18:19
moon-child normalisation
grondilu nevermind it seems that ~~ does work in the end. I may have made a mistake when trying it. 18:26
:w 18:28
lizmat m: Blob.new(1,2,3) eq Blob.new(1,2,3)
camelia WARNINGS for <tmp>:
Useless use of "eq" in expression ".new(1,2,3) eq Blob.new(1,2,3)" in sink context (line 1)
lizmat m: say Blob.new(1,2,3) eq Blob.new(1,2,3)
camelia True
lizmat grondilu ^^
m: say Blob.new(1,2,3) eq Blob.new(1,2,4) 18:29
camelia False
grondilu so using eq is safe even though Blob.Str raises an error? 18:30
m: Blob.new(1,2).Str
camelia Stringification of a Blob is not done with 'Str'. The 'decode' method
should be used to convert a Blob to a Str.
in block <unit> at <tmp> line 1
grondilu notice that I don't mind, it's just a bit confusing considering the doc for eq says it stringifies. 18:31
docs.raku.org/routine/eq : "Coerces both arguments to Str (if necessary); returns True if both are equal." 18:32
I suppose with Blob it's a case when coercion is precisely not necessary. 18:33
makes sense, my bad.
lizmat yeah.. it feels a bit counterintuitive at first 18:35
I guess you could also see a blob as a giant Int... in which case == would make more sense
however, that already had a meaning
m: say Blob.new(1,2,3) == Blob.new(1,2,4)
camelia True
18:35 Sgeo joined
lizmat that just compares number of elements 18:35
18:47 hesh307 left
grondilu I'm fine with that semantic for ==. A blob is more akin to a Str than to an Int anyway. 18:50
IMHO
lizmat thing was that when the discussion was there about how to compare blobs, == already had the meaning of counting number of elements 18:51
so I guess one chose the easy way out there
19:09 sena_kun left, coleman left 19:18 Sgeo left 19:20 Sgeo joined
Xliff m: say Blob.new(1,2,3) eqv Blob.new(1,2,3) 19:23
camelia True
Xliff m: sub a { my $a = Blob.new(1,2,3) eqv Blob.new(1,2,3) }; }; a x 10,000,000; say now - INIT now 19:24
camelia ===SORRY!=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> Blob.new(1,2,3) eqv Blob.new(1,2,3) }; ⏏}; a x 10,000,000; say now - INIT now
Xliff m: sub a { my $a = Blob.new(1,2,3) eqv Blob.new(1,2,3) }; a x 10,000,000; say now - INIT now
camelia ===SORRY!===
Undeclared routine:
x used at line 1

Other potential difficulties:
Leading 0 has no meaning. If you meant to create an octal number, use '0o' prefix; like, '0o00'. If you meant to create a string, please add quota…
Xliff m: sub a { my $a = Blob.new(1,2,3) eqv Blob.new(1,2,3) }; a for ^10,000,000; say now - INIT now
camelia Potential difficulties:
Leading 0 has no meaning. If you meant to create an octal number, use '0o' prefix; like, '0o00'. If you meant to create a string, please add quotation marks.
at <tmp>:1
------> 33) eqv Blob.new(1,2,3) }; a …
Xliff m: sub a { my $a = Blob.new(1,2,3) eqv Blob.new(1,2,3) }; a for ^10000000; say now - INIT now
Hmmm... maybe too much? 19:25
camelia (timeout)
Xliff m: sub a { my $a = Blob.new(1,2,3) eqv Blob.new(1,2,3) }; a for ^100000; say now - INIT now
camelia 0.346323012
Xliff m: sub a { my $a = Blob.new(1,2,3) eqv Blob.new(1,2,3) }; a for ^1000000; say now - INIT now
camelia 3.055390325
19:26 sena_kun joined
Xliff m: sub a { my $a = Blob.new(1,2,3) == Blob.new(1,2,3) }; a for ^1000000; say now - INIT now 19:26
camelia 2.835100357
Xliff m: sub a { my $a = Blob.new(1,2,3) eq Blob.new(1,2,3) }; a for ^1000000; say now - INIT now
camelia 3.007381087
Xliff So looks like '==' performs the best.
m: sub a { my $a = Blob.new(1,2,3) == Blob.new(1,4,3) }; a for ^1000000; say now - INIT now 19:27
camelia 2.821660389
lizmat Xliff: == on Blobs just checks # elements 19:29
19:33 Sgeo left 19:37 Sgeo joined
Geth Documentable/search-categories-streamlined: d6e4c2ac50 | Altai-man++ | 3 files
Streamline search categories processing

  - For Index, just follow the simple "Take first meta as category"
   or report an error heuristic
  - For Primary, allow to overload header processor with something custom
   ($*HEADING-TO-ANCHOR-TRANSFORMER-ACTIONS)
  - Streamline Search generation: prefer primary pages over secondary ones,
   detect duplicate search anchors, be better at calculating categories
19:39
Documentable/search-categories-streamlined: 22f6bbc9f5 | Altai-man++ | 10 files
Update tests to match new implementation
20:00 linkable6 left 20:02 linkable6 joined 20:29 coleman joined 20:41 neither left 20:43 grondilu left 21:28 n1to left 22:11 jjido left 22:59 Xliff left 23:27 zacts left 23:43 zacts joined 23:45 Manifest0 left 23:58 coleman left