🦋 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:07 reportable6 left 00:08 clarjon1 left 00:09 reportable6 joined 00:14 rbt left, rbt joined 00:27 Guest35 left 00:32 lichtkind left 00:41 londoed_ left, londoed left 00:42 londoed_ joined, londoed joined 00:53 rir left 00:59 rbt left, rbt joined 01:04 rbt left 01:06 guifa joined
SmokeMachine u: element of 01:27
unicodable6 SmokeMachine, U+2208 ELEMENT OF [Sm] (∈)
SmokeMachine, U+2209 NOT AN ELEMENT OF [Sm] (∉)
SmokeMachine, 13 characters in total (∈∉∊⋲⋳⋴⋵⋶⋷⋸⋹⟒⫙): gist.github.com/1c28a0131096aa0b8e...0dd3c5bcc7
01:28 melezhik joined
melezhik . 01:29
tellable6 2022-04-16T23:06:08Z #raku <SmokeMachine> melezhik it seems it's not being able to connect to PG...
2022-04-16T23:10:17Z #raku <SmokeMachine> melezhik sorry, it seems I misunderstood the message: `stderr: initdb: warning: enabling "trust" authentication for local connections`
2022-04-16T23:11:26Z #raku <SmokeMachine> melezhik I'm not finding what the error is on this log: sparrowhub.io:2222/report/132\
2022-04-16T23:12:35Z #raku <SmokeMachine> melezhik the truth is I can't see it running the tests...
01:30 melezhik left, melezhik joined
melezhik .tell @SmokeMachine to see test report you need to open "report" tab 01:32
tellable6 melezhik, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Tellable
01:32 leedo left 01:33 melezhik left, melezhik joined
melezhik .tel SmokeMachine  to see test report you need to open "report" tab 01:34
Uploaded file: uploads.kiwiirc.com/files/8e9ec06e...2%20PM.png 01:38
^^ SmokeMachine
also init section creates all required red db user with password as well as test database 01:40
stderr: ++ sudo -u postgres psql -c 'create user testuser with password '\''testpass'\'''
 sudo -u postgres sh -l -c 'createdb redtest'
sudo -u postgres psql -c 'grant all privileges on database redtest to testuser;'
RED_DATABASE=Pg host=localhost port=5432 user=testuser password=testpass dbname=redtest
I also increase timeout to 1000 sec per build hopefully it will solve the problem of timeout for long running builds ... 01:46
01:57 melezhik left 02:04 frost joined 02:16 hhcryfqnut joined
hhcryfqnut this was tripping me up``` 02:18
[0,1] == [1,1]
before i realized it was comparing the lengths (i see that i need to use `eqv`)
also, as someone who has never done perl, i find the `@` sigil very tricky. (i think i'm getting the hang of it tho) 02:19
moon-child fwiw @ works differently than in perl 02:24
hhcryfqnut ah. i'm less alone then. lol 02:26
are these the same `(1,1).Array eqv [1,1].Array`   `(1,1) ~~ [1,1]`
02:44 melezhik joined 02:48 leedo joined, melezhik left 03:24 melezhik joined
melezhik . 03:24
03:30 melezhik left 03:35 rbt joined
guifa (1,1).Array becomes [1,1] 03:40
tellable6 2020-08-04T08:17:00Z #raku-dev <JJMerelo> .tell guifa can you upload your artlcle to the WP site as a draft? Let me schedule it when it's more convenient.
2020-08-06T08:20:00Z #raku-dev <JJMerelo> .tell guifa2 OK, great, thanks. That date is probably OK, I'll check.
guifa ummmmm
tellable6 you are drunk
AlexDaniel A little bit! 03:45
It was down for some time, I had some restoring to do 03:46
For some messages it doesn't know if it delivered them or not, sorry
guifa haha it's fine, that was just a bit hilarious
AlexDaniel :) I just made double sure that it delivers what it promised to deliver, in this case I guess I was too pessimistic 03:47
guifa I mean, I don't know. It might not have delivered that ever 03:51
I don't hop on raku-dev often, so if it used to go per channel, it might not have had the chance 03:52
04:22 hhcryfqnut left 04:35 zacts joined 04:47 xinming left 04:49 xinming joined 05:06 zacts left 05:40 rbt left, rbt joined 05:46 frost left 06:07 reportable6 left 06:08 reportable6 joined 06:56 rbt left, rbt joined 07:06 clarjon1 joined 07:18 guifa left 07:32 jjido joined 07:46 rbt left, rbt joined 07:51 rbt left, rbt joined 08:15 lichtkind joined 08:26 grondilu joined
grondilu m: class { has $.foo; multi method new($foo) { LEAVE say $.foo; self.bless: :$foo } }.new: "bar" 08:29
camelia Cannot look up attributes in a <anon|1> type object. Did you forget a '.new'?
in method foo at <tmp> line 1
in method new at <tmp> line 1
in block <unit> at <tmp> line 1
grondilu 🤔
should't the blessed instance be accessible in the LEAVE phaser? 08:30
nevermind I think I should use a BUILD submethod 08:33
lizmat grondilu: nowadays I would almost always recommend using TWEAK 08:37
problem with your code is that "self" inside "new" is still a type object, and $.foo is just short for "self.foo" 08:38
grondilu looked at the doc for TWEAK 08:47
yeah it looks more like what I need
09:22 rbt left, rbt joined 09:52 rbt left, rbt joined 10:23 zacts joined 10:30 Sgeo left 10:58 zacts left 11:00 djerius left 11:25 discord-raku-bot left, discord-raku-bot joined 11:31 xinming left 11:32 xinming joined 11:33 ProperN[out] joined 11:34 ProperNoun left 11:36 jjido left 11:51 sena_kun left 11:53 sena_kun joined 11:59 euandreh joined 12:02 euandreh_ left 12:04 euandreh left 12:07 rbt left, rbt joined, reportable6 left 12:10 reportable6 joined 12:34 frost joined 12:53 rbt left, rbt joined 13:08 razetime joined 13:55 razetime left 14:08 rjbs left 14:09 zacts joined 14:10 rjbs joined 14:23 rbt left, rbt joined 14:34 zacts left 14:42 melezhik joined 14:46 melezhik left 14:53 rbt left, rbt joined 15:06 [Coke] left 15:10 [Coke] joined 15:21 zacts joined 15:44 [Coke] left, frost left, [Coke] joined 15:52 zacts left 16:52 evalable6 left, linkable6 left 16:53 linkable6 joined 16:54 evalable6 joined
Tirifto m: /<( [ Q[\] . || <-["]> ] * )>/ 17:07
camelia ===SORRY!=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<[ ]>; couldn't find final ']' (corresponding starter was at line 1)
at <tmp>:1
------> /<( [ Q[\] . || <-["]> ] * )>⏏/
expecting any of:
Tirifto m: raku -e '/<( [ Q[\\] . || <-["]> ] * )>/' 17:08
camelia ===SORRY!=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> raku -e⏏ '/<( [ Q[\\] . || <-["]> ] * )>/'
expecting any of:
infix stopper
statement end
Tirifto m: /<( [ Q[\\] . || <-["]> ] * )>/
camelia ( no output )
Tirifto ^ Is this a bug in Raku, or did I miss something? According to the documentation, Q quoting notation does not allow for backslash escapes, but it seems like backslash escapes are used anyway, since the first expression above throws an error, but the third one (where the backslash is escaped in ‘Q[\\]’) compiles just fine. (The second expression was a bad copy.) 17:10
17:14 rbt left, rbt joined
Geth doc: 30206e44bb | (JJ Merelo)++ | xt/check-signatures.t
Minor doc changes #3871
17:18 linkable6 left 17:20 linkable6 joined
Geth doc: 15ec823039 | (JJ Merelo)++ | xt/check-signatures.t
Prints the error to make it a bit more informative #3871
17:31 linkable6 left 17:32 linkable6 joined 17:36 grondilu left 17:44 [Coke]_ joined, [Coke] left 18:00 jjido joined 18:07 reportable6 left 18:09 sena_kun left, reportable6 joined 18:10 sena_kun joined 18:44 rbt left, rbt joined 18:54 rbt left, rbt joined
gfldex Tirifto: You are just matching for Q followed by a backslash. 19:00
Tirifto gfldex, Q doesn’t work as a quoting construct inside regexes? :o 19:02
gfldex indeed
Tirifto Ahh, I see. 19:03
Thank you!
19:37 sena_kun left 19:39 sena_kun joined 19:54 Sgeo joined 20:10 Oshawott joined 20:14 archenoth left 20:20 p6steve joined
Tirifto If I’m writing a parser for a document language, are there best practices to naming the module? 20:21
I see that there is a namespace for some languages that some modules/parsers use as their parent (XML::Parser::Tiny, XML::Actions, JSON::Fast, JSON::Tiny, JSON::Pretty), while others use it directly (XML, TOML), while others don’t use it at all (LibXML, YAMLish). This leaves me wondering what pattern should I follow if I would like to write and publish some modules and make them convenient for everyone. 20:26
gfldex It's clear that XML and JSON need parsing. So if the default action is parsing, there is no need to point out your module is a parser. 20:34
p6steve I would say that there are several (competing) conventions: (i) wrapping a perl5 cpan module or native C lib ?? LibXML is a wrapper of libxml, (ii) closely related modules may share a lib file tree conceptually (I am not sure that this is how they are installed anymore - but orginally in perl5 then you knew that XML::Actions would be in folder something like site/lib/XML, (iii) if you set out to write or 20:43
tellable6 2020-08-07T08:37:00Z #raku-dev <JJMerelo> .tell p6steve you ready to upload your article, or you want me to upload it for you?
hey p6steve, you have a message: gist.github.com/382ec639cdfd2d866d...7c6d881186
p6steve somehow define a "world" of interacting modules (like Cro) then it may not be obvious the best way to define and reuse code in a class structure - but as you work out the design this will become clear (for you) and you can then name the higher levels accordingly
Tirifto Thank you. I guess I may as well just use the language name then, and see if that works alright in practice. :-) 20:49
20:53 monkey_ joined 21:26 lichtkind_ joined 21:28 lichtkind left 21:35 rbt left, rbt joined 21:40 rbt left, rbt joined 22:01 juanfra__ joined 22:10 mexen left 22:17 lichtkind_ left 22:18 londoed left, londoed_ left
japhb Tirifto: If you're writing a parser *only*, and not a serializer, then having Parser in the name is reasonable. If you're doing both directions, then the main name shouldn't include it, but it's reasonable to have submodules that do (e.g. DocLang containing DocLang::Parser and DocLang::Writer). 22:28
I tend to use ::Tiny if the *implementation* is minimalist, ::Simple if the *API* is minimalist 22:29
I personally feel that data codecs should be well optimized anyway, so I generally prefer ::Simple over ::Fast if I think both names might apply; as far as the caller is concerned, ::Simple is an API design decision, but ::Fast is baseline. ::Tiny usually means that either the implementation is the smallest thing that could reasonably work at all, or that it's designed to favor small, easy-to-read code over 22:31
any other factor.
JSON::Tiny, for instance, is a showcase for how much of a difference Grammars can make in terms of implementation clarity. 22:32
23:18 linkable6 left, evalable6 left 23:19 evalable6 joined 23:21 linkable6 joined 23:25 rbt left, rbt joined 23:30 jjido left 23:36 rbt left 23:49 monkey_ left 23:56 rbt joined