🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 6 September 2022. |
|||
00:00
reportable6 left
00:01
Henry151 left,
reportable6 joined
00:09
Aozen joined
00:10
Aozen left
|
|||
[Coke] | Looks good on a quick read | 00:29 | |
Please consider converting to rakudoc and submitting a PR. | 00:30 | ||
01:10
evalable6 left,
linkable6 left
01:11
evalable6 joined
01:12
linkable6 joined
01:58
razetime joined
02:13
ToddAndMargo joined
02:33
swaggboi joined
03:12
swaggboi left
03:19
ToddAndMargo left
03:45
swaggboi joined
04:45
squashable6 left,
linkable6 left,
nativecallable6 left,
notable6 left,
quotable6 left,
unicodable6 left,
reportable6 left,
bloatable6 left,
sourceable6 left,
greppable6 left,
bisectable6 left,
releasable6 left,
committable6 left,
statisfiable6 left,
benchable6 left,
evalable6 left,
tellable6 left,
coverable6 left,
shareable6 left,
statisfiable6 joined
04:46
unicodable6 joined,
evalable6 joined,
linkable6 joined,
coverable6 joined,
committable6 joined,
squashable6 joined
04:47
bisectable6 joined,
tellable6 joined,
shareable6 joined,
bloatable6 joined,
notable6 joined,
nativecallable6 joined,
reportable6 joined,
greppable6 joined,
benchable6 joined,
releasable6 joined
04:48
quotable6 joined,
sourceable6 joined
05:48
squashable6 left,
bisectable6 left,
linkable6 left,
bloatable6 left,
sourceable6 left,
releasable6 left,
quotable6 left,
evalable6 left,
greppable6 left,
benchable6 left,
unicodable6 left,
coverable6 left,
nativecallable6 left,
statisfiable6 left,
reportable6 left,
committable6 left,
notable6 left,
benchable6 joined
05:49
reportable6 joined,
committable6 joined,
sourceable6 joined,
releasable6 joined
05:50
bloatable6 joined,
squashable6 joined,
nativecallable6 joined,
statisfiable6 joined,
quotable6 joined,
notable6 joined,
unicodable6 joined
05:51
greppable6 joined,
linkable6 joined,
bisectable6 joined,
evalable6 joined,
coverable6 joined
06:00
reportable6 left
06:01
reportable6 joined
06:03
derpydoo joined
06:20
razetime left
06:21
kjp left
06:25
kjp joined
06:38
jpn joined
06:43
jpn left
07:08
grondilu joined
|
|||
grondilu | Hi all | 07:08 | |
If I have a parametrized role A[::Type], can I access Type from an other parametrized role B[A]? | 07:09 | ||
I suppose I could make an accessor method in A or something. method type { Type } | 07:10 | ||
But what I really want is do something like `has Type $.x;` inside B. | 07:11 | ||
`role B[A[::Type]]` is not valid syntax apparently. | |||
07:13
kjp left,
kjp joined
07:14
ProperNoun left
07:45
sena_kun joined
|
|||
lizmat | grondilu: it's not possible to do role B inside the lexical scope of role A ? | 07:53 | |
grondilu | m: role A[::T] { role B[::T] { } } | 08:38 | |
camelia | ===SORRY!=== Error while compiling <tmp> Cannot declare our-scoped role inside of a role (the scope inside of a role is generic, so there is no unambiguous package to install the symbol in) at <tmp>:1 ------> role A[::T] { role B[::T… |
||
grondilu | m: role A[::T] { role B[T] { } } | ||
camelia | ===SORRY!=== Error while compiling <tmp> Cannot declare our-scoped role inside of a role (the scope inside of a role is generic, so there is no unambiguous package to install the symbol in) at <tmp>:1 ------> role A[::T] { role B[T]… |
||
lizmat | meh | ||
m: role A[::T] { my role B[::T] { } } | 08:39 | ||
camelia | ( no output ) | ||
lizmat | but I guess that doesn't help you | ||
grondilu | hum maybe it does | ||
though there will be no way to access B outside of A, so I'm not sure that will work. | 08:40 | ||
I'm not even sure both ::T refer to the same thing here in fact. | 08:41 | ||
m: role A[::T] { my class B { has T $.x } } | 08:42 | ||
camelia | ( no output ) | ||
grondilu is confused as he thought he had tried that | |||
oh well | |||
why can't we have our-scoped packages inside roles, exactly? | 08:43 | ||
moritz | the role body runs each time it's applied, that's kinda not really compatible with our-scopes, afaict | 08:44 | |
08:45
linkable6 left,
evalable6 left
|
|||
lizmat | right. The other day I found out that roles are actually codegenned into a subroutine with the signature of the role, and which returns the meta-object and the lexpad at the end | 08:46 | |
this allows basic multi-dispatch to be used as the role selector :-) | 08:47 | ||
08:48
linkable6 joined,
evalable6 joined
|
|||
lizmat | twas a bit of an eye opener to me :-) | 08:48 | |
08:53
Sgeo left
|
|||
grondilu | noted | 08:56 | |
FWIW I was trying to improve upon rosettacode.org/wiki/Elliptic_Curv..._Algorithm | 08:57 | ||
I've never managed to have an elegant, yet generic way to implement that kind of structure. | |||
like I wanted to have something like `role EC[::Field] { has Field ($.a, $.b); }` but then I didn't see how to implement Point in a way that would be connected to EC. | 08:58 | ||
grondilu often deplores how OOP is not quite appropriate to model common math structures. | 09:00 | ||
(or set theory for that matter) | |||
Like a group is a set, but OOP uses classes and instances, not sets. So if I define a group as a class, an instance is not quite an element of the group. It gets messy quick. | 09:02 | ||
lizmat | yup :-( | ||
09:53
linkable6 left,
evalable6 left
09:54
linkable6 joined,
evalable6 joined
|
|||
exp | grondilu: if you could express these concepts analogous to mathematics then you'd have a 'compiling problem', does it compile forever or halt and produce a binary? :-p | 09:57 | |
also if you know of any good resources for someone with frankly poor algebra skills to understand the maths behind EC i'd appreciate it | |||
i understand the concept of multiplying the point on the curve over the field to a reasonable degree | |||
but i don't understand 'HD-Wallets', a key derivation scheme using ECC | |||
grondilu | what is it you don't understand? I mean we all understand some things up to some degree. Few understand fully. | 09:59 | |
exp | grondilu: i don't understand how the same derivation process can be carried out on private/public key and produce a new pair | 10:01 | |
is this analogous to homomorphic encryption? i don't think so but it feels that way | 10:03 | ||
grondilu | not really, but there is an homomorphism involved, if I'm not mistaken. | ||
exp | i have designed an identity system for use online which is better than all existing systems i'm aware of | 10:04 | |
grondilu | basically the private and public keys have homomorphic operations on them. that's why you can derive the same key from each of them. | ||
exp | but it relies on this process being rigorous | ||
ie that a third party can issue a derived pubkey for a client without holding the privkey and without revealing any sensitive information | |||
grondilu | well yead that is the point in bip32 | 10:05 | |
exp | right, and it makes some sense to me, but with the greatest respect to the crypto community | ||
assuming their take on cryptography is accurate is a potentially fatal mistake! | |||
grondilu | have you looked at learnmeabitcoin.com/? It's pretty good IMHO. | ||
exp | i have, i'm confident i understand both the standard blockchain and lightning etc | 10:06 | |
but it's the ECC concepts i can't find a gentle introduction to | |||
(my proposal is unrelated to blockchains fwiw) | |||
grondilu | you just need to see an elliptic curve as an additive group parametrized by a Galois field. | 10:07 | |
exp | ah yes, a monad is an endofunctor | ||
:) | |||
grondilu | well, I'm not familiar with that terminology (which I assume is from category theory) | 10:08 | |
exp | it's a meme | ||
it's how you badly explain haskell | |||
because anyone who asks for help is instantly blinded by category theory and told to go do an 8 year degree course | |||
i don't know what an additive group is, or a galois field | |||
and the wikipedia page for both will confuse me further as wikipedia's maths policy is: haha go do an 8 year degree course | 10:09 | ||
grondilu | well you need to know at least these : groups, fields, rings and so on. | ||
exp | right, but trying to investigate any of them is an exercise in frustration | ||
grondilu | otherwise any serious documentation about EC will be obscure to you. | ||
exp | people who already understand it, writing explanations only accessible to those who already understand it | ||
exactly | |||
i'm going to have to resort to paying someone to tutor me in this because the internet is so utterly awful for learning | 10:10 | ||
grondilu | algebra is hard, but it all depends how deep into the rabbit hole you want to go. I don't think you have to go very deep to understand cryptography, but you have to enter. | 10:11 | |
exp | i would love to go quite deep, but it's the gatekeeping i can't manage to pass | 10:12 | |
grondilu | So get a textbook about algebra or follow a course. | ||
I think there are pretty good free lessons on YouTube too. | |||
exp | a textbook is a fine approach but of course they are £100+ each once you get to even reasonable levels | 10:13 | |
grondilu | It's not "gatekeeping", it's just that accurate vocabulary is necessary to discuss thinks with rigor, which is crucial in crypto. | ||
exp | it's definitely gatekeeping, no other topic works like this | ||
(not that i am trying to insult you, you're not responsible lol) | 10:14 | ||
i picked up a book that promised to explain the concepts of a maths topic without getting into heavy maths | 10:15 | ||
there was a triple intergal on page 8 | |||
grondilu | well, integrals are part of analysis, not algebra. | ||
so there is no reason to get into them for crypto | 10:16 | ||
exp | perhaps not, but the exact same applies i'm afraid | ||
the wikipedia page for Field for example becomes impossibly ambiguous at word 6 | 10:17 | ||
grondilu | Wikipedia is not great for math. | ||
exp | yes their policy is literally 'as many facts as possible' | 10:18 | |
making them readable or understandable isn't a part of that policy | |||
but yes, to get past the first sentence i must understand set theory | |||
grondilu | A field is an invertible ring. Simple ;-) | 10:19 | |
exp | right, in most disciplines you could go look those terms up and have a chance of understanding | ||
in mathematics it's just opaque words all the way down | |||
grondilu | Well, you need a textbook that define them all. | 10:20 | |
exp | well that's the definition of gatekeeping | ||
anyway i've said my part, i don't mean to bitch at you | |||
you're not responsible | |||
just frustrates me that the knowledge is there but only if you pay certain people and waste months of your life just trying to illuminate the corners left dark intentionally | 10:21 | ||
the difference between academic computer science and practical computer science is the same | |||
grondilu | free resources do exist : mathworld.wolfram.com/Ring.html | 10:22 | |
exp | the academics can't even explain their concepts to the people doing it day to day, so we end up with 40 years of critical security issues | ||
at least it's not hyperphysics | |||
but how understandable do you think that is grondilu | |||
grondilu | that is just one example. some textbooks can be downloaded for free too. | ||
exp | they can, but how useful do you think a series of statements like that actually is? | ||
i don't understand what a set is, i don't understand what a binary operator is, so cool now i have a vague list of things i won't remember that relate to concepts that are all just explained in the same way | 10:23 | ||
grondilu | exp: there are a lot of definitions to know in math. You have to learn them in order. If you do, it all makes sense. I was taught this at uni in the correct order but I understand that if you weren't all this can appear obscure. | 10:24 | |
exp | right, that's exactly how i feel | ||
grondilu | basics are set theory and logical operators, IIRC. | 10:25 | |
exp | set theory is truly insane though | ||
2 is S(1) | |||
3 is S(S(1)) | |||
years of this, just to understand the definition of something | |||
grondilu | well, it makes sense though, don't you think? | 10:26 | |
exp | not to me | ||
grondilu | I mean I like this notion of integers defined in terms of successors. | 10:27 | |
exp | i don't do well with being told "X is Y", "Y is Z", "Z is A" and so on | ||
i want to understand the mechanics, the architecture, the infrastructure | |||
not "it just *is*" | |||
grondilu | well, in math the "infrastructure" is set theory. | 10:28 | |
along with predicate logic. | 10:29 | ||
exp | right, but set theory itself is a multi year topic | ||
grondilu | nah | ||
a few months at most | |||
exp | you don't see that as rather insane? it seems quite insane to me | 10:30 | |
a few months of work to understand the infrastructure to understand how to add numbers together? | |||
grondilu | I was taught just enough set theory to go on with further math. It didn't require years. | ||
exp | to me it doesn't feel like i am learning anything when i try and read up on this | ||
grondilu | I'm even generous. It could have been a few weeks, I don't quit recall. | 10:31 | |
exp | just getting a bunch of unrelated facts thrown at you | ||
learning something means i can do something new or achieve something i couldn't | |||
grondilu | exp: you are learning the vocabulary that is required for what's coming next. | ||
exp | i feel that argument supports my argument more though | 10:32 | |
months of work to learn the vocabulary? | |||
is this a science or a language? | |||
anyway i did say i'd shut up | |||
i do apologise for the mini rant | |||
i have a very busy job and a lot of personal things to attend to, and it frustrates me that maths is one of the only disciplines i simply can't learn | |||
grondilu | I understand your complaint. Let me find a relevant quote I have in mind right now. | ||
exp | because i don't have weeks or months to learn the basics of set theory | ||
and i'm incredibly sceptical that this isn't just a form of cult (not in the religious / suicidal fashion) | 10:33 | ||
grondilu | lately I bought an algebra textbook, and in the first line the author summarises your issue well: | 10:34 | |
"This part introd uces the basic notions of algebra, and the main difficulty | |||
for the beginner is to absorb a reasonable vocabulary in a short time." | |||
it really is that : absorbing vocabulary. | |||
exp | i think the depth is a different factor too | 10:35 | |
like if i ask you what a pointer is | |||
grondilu | it's a cognitive barrier of entry, that is for sure. But it is necessary. | ||
exp | it will take one or two levels of explanation before we get to the actual hardware | ||
well, i'm sceptical it's necessary too | |||
obviously mathematicians do very well | |||
but computer scientists have done extremely poorly | |||
the subset of languages that are remotely safe is tiny, and very few people write code in them | 10:36 | ||
everything academia has been trying to promote has failed because they can't make it understandable | |||
we end up with "a monad is a monoid etc etc" | |||
grondilu | Mathematica is pretty good, though. | ||
exp | the proprietary software? | 10:37 | |
grondilu | It's my favorite non FOSS program. | ||
exp | understood | ||
from my perspective grondilu, the argument that the vocab is required is no different than teaching in latin and saying that's required too | 10:38 | ||
i do understand your point, and i appreciate there are differences between english/latin and set theory | |||
grondilu | When you think about it, yes it's proprietary, but it's also conceptually simple and very well documented. One could argue it's almost as if it's open source because there is no hiding how it works. | ||
exp | but the fact that for every single topic i want to understand it only refers back to another topic explained in the same way is intensely frustrating | ||
and most people just give up | |||
imagine trying to learn french when every article was already in french | |||
and the only viable approach was to pay people to teach you the basics of french so you could understand the rest | 10:39 | ||
grondilu | Well, the difference is that there is no alternative to math, when there are alternatives to latin. | ||
exp | that's not true, the alternative to rigorous mathematics is ad-hoc calculation | ||
and that's the solution the vast majority of people use | |||
when i want to design an algorithm, i can't approach the level of a formal proof | 10:40 | ||
grondilu | are you refering to so-called constructive mathematics? | ||
exp | so i bodge it so it seems right | ||
i'm not sure, because that's another vocabulary i'm missing :) | |||
lizmat | also: S(S(1)) is just a notation for a mathematical concept, is it not? And if so, then it's a "sort of latin", is it not ? | ||
exp | lizmat: yes that is the point i'm making | ||
that it's like trying to learn french when the only authors write in french | |||
lizmat | exp: that I disagree with | 10:41 | |
it's like learning to cook in french, when you don't know french | |||
exp | anyway i keep promising to shut up, i'll take some time to reply to any comments while i have a coffee | ||
lizmat: hahaha Oui :) | |||
grondilu | well there are variations in the notations, but the concepts behind them are the same. S(S(1)) is "the successor of the successor of 1" | 10:42 | |
lizmat | exp: and a croissant! | ||
grondilu | unless you mean S as singleton, which is an other way to define integers IIRC | ||
lizmat | grondilu: just like there is more than just latin :-) | ||
grondilu | point taken | ||
exp | grondilu: is it "le" or "la" croissant? | ||
grondilu | huh? | 10:43 | |
exp | the concept of gendered words doesn't exist in English | ||
grondilu | oh | ||
exp | when someone says "a ring is a set with binary operators" it is virtually impossible to visualise what that *actually* means | 10:45 | |
because the vocabulary is introduced before the concepts | |||
because they only know how to explain the concepts in french | |||
grondilu | well there is no semantics behind gendered words for non-animated objects. They are linguistically useful as they differentiate words, especially when using pronouns. There is no such usage in math. I don't think so anyway. Math concepts must have an actual meaning. | ||
exp: I disagree. A ring has a meaning. What I can understand is that it's hard to see it's *use*, but that is different. | 10:47 | ||
*use* or *purpose*. | |||
exp | grondilu: there's meaning behind both types of statements | ||
grondilu | but that purpose becomes clearer as you go on further. | ||
exp | my point is that introducing the vocabulary before nailing down the concepts leads to this sort of gatekeeping / intractability | ||
grondilu | it's basically as the saying goes "it all makes sense eventually" | 10:48 | |
exp | right, that's something i've been told a lot, and i hate with a passion | ||
i feel like everything i know and understand makes sense immediately, from the lowest possible level | |||
grondilu | it's like when I learned quantum mechanics. It's like suddenly I realized what linear algebra is good for. | 10:49 | |
exp | that is probably not true, but i certainly feel more confident in explaining it than anything to do with mathematics | ||
when i learned electronics, i did not spend 3 years being taught quantum theory | |||
even though that is the underlying reality | |||
imagine trying to understand what a resistor is but first you have to understand the many worlds interpretation lol | 10:50 | ||
grondilu | Well for math, there's certainly a "trust us, it will make sense later" aspect to it. | ||
exp | if i could summarise my argument in a sentence it would be: "Trust is, it will make sense" hasn't worked, has lead to billions in economic losses and is part of the reason almost nothing actually functions properly these days | 10:51 | |
big claims :-p | |||
mostly directed at computer scientists than pure maths ;) | |||
grondilu | there are certainly many people who try to vulgarize math with various degrees of success. This approach is useful, but it never manages to teach math in a way that provides true proficiency. | 10:52 | |
exp | another analogy: imagine you wanted to know how a radiator worked, but first you were told you had to be able to write a navier stokes solver | 10:53 | |
10:55
linkable6 left,
evalable6 left
|
|||
grondilu | you don't have to know set theory to do all math. But you do for some subjects, like crypto. | 10:55 | |
10:55
Vyrus left,
BabyLoveWoodrose joined
|
|||
grondilu | there is no known way around it. | 10:55 | |
10:56
linkable6 joined
|
|||
exp | i don't have any argument against that, just that i feel it's the method of teaching that's the problem | 10:56 | |
i do want to explore the concept i worked on to a much deeper level | |||
but i am just stuck, i can't afford years of study to publish a whitepaper | |||
and i don't know who to trust to pay to help | |||
10:56
BabyLoveWoodrose left
|
|||
grondilu | you should have to pay, that is for sure. | 10:57 | |
10:57
evalable6 joined
|
|||
grondilu | Altough to be honest I don't know if I would be capable of learning math by myself, had I not been taught it at uni | 10:57 | |
exp | i was taught to basic calculus level then dropped out | ||
my biggest regret | 10:58 | ||
but i don't see why i should have to pay | |||
grondilu | you should *NOT* have to pay, that is for sure. <-- correction | ||
exp | oh lol | ||
well i don't mind paying | |||
but there's no way to gauge if the person teaching you is a quack or accurate | |||
grondilu | exp: there isn't, indeed. In fact, I studied math mostly during two years. Two different teachers. The first one was awesome and it got me hooked. The second one was terrible and it got me discouraged. | 10:59 | |
s/it/he/ | 11:00 | ||
exp | perhaps i can just publish a bunch of rough descriptions with diagrams and rely on crowdsourced mathematics :D | 11:01 | |
11:01
Vyrus joined
|
|||
exp | the tldr is: if you can indeed derive pubkeys and privkeys separately, you can give a derived pubkey to a public organisation to attest on your behalf | 11:01 | |
if you do that as part of regular account signup, then you have a network of attestations as to your identity | 11:02 | ||
if you get messaged by "exp" on any software, i can pass an arbitrary list of attestations, you can then contact that organisation and ask for a derived key which you then encrypt a message to me and supply the derivation path | 11:03 | ||
i reply with a similarly encrypted copy of the cleartext, proving our identities to each other | |||
this can be extended to prevent reusing passwords between accounts, and will mean any compromise bisects that identity into the compromised account and the legitimate accounts | 11:04 | ||
i need to put this on a sound theoretical footing | |||
grondilu | yeah you need to put this in more details because it's hard to follow as you wrote it there | ||
what is it you want to achieve again? | 11:05 | ||
exp | a privacy preserving system for online identity proof | ||
grondilu | a decentralized one? | ||
exp | it would better be described as federated i think | ||
for example, you can ask nickserv if i am actually 'exp' | 11:06 | ||
grondilu | ever heard of DIDs? | ||
exp | yes but i can't remember offhand the implementation | ||
oh this is a W3C thing, i was thinking of something Mozilla worked on | 11:07 | ||
grondilu | well, reading the w3c spec is still on my TODO list, so I can't quite tell how it works. | ||
exp | anyhow i've been talking about this since 2017 so i claim prior art :-p | ||
back to the example quickly, so i'm exp here, but am i exp on say the Perl IRC? | 11:08 | ||
grondilu | I don't know, again I need to read the w3c DID spec one of these days. | 11:09 | |
from what I know though, I think they're up to something good close to what you're looking for. | 11:10 | ||
exp | so i could give you a pubkey here, you could encrypt something with that and send it to me on the Perl irc | ||
and if i can decrypt it, then it's me | |||
what if instead i gave you a 'root' pubkey, and a derivation path, same thing right? | |||
grondilu | well that would be susceptible to a 3rd party attack. | 11:11 | |
exp | how so? we're assuming you've checked nickserv attests that i'm identified as the 'exp' account | ||
grondilu | then you put your trust in the IRC server admins, no? | ||
exp | yes absolutely | 11:12 | |
but the concept is still roughly valid | |||
grondilu | well, that defeats the purpose, doesn't it? | ||
exp | you can get a root pubkey, do the same derivation, encrypt a message, send it to the potential identity | ||
right? | |||
grondilu | I dunno. Again, I need to read this spec. | ||
exp | this isn't DID related | ||
this is me trying to quickly go over my proposal :p | 11:13 | ||
grondilu | it's the same objective. | ||
exp | i don't think it is exactly | ||
grondilu | anyway, gotta go. | ||
exp | no worries, thank you for the discussion | ||
sorry to bore this channel :) | |||
lizmat | exp: no worries | 11:25 | |
12:00
reportable6 left
12:02
reportable6 joined
12:27
abhinav left,
abhinav joined
12:52
grondilu left
13:52
evalable6 left,
bisectable6 left,
reportable6 left,
nativecallable6 left,
coverable6 left,
statisfiable6 left,
sourceable6 left,
squashable6 left,
releasable6 left,
committable6 left,
notable6 left,
shareable6 left,
bloatable6 left,
linkable6 left,
quotable6 left,
benchable6 left,
greppable6 left,
tellable6 left,
unicodable6 left,
committable6 joined,
squashable6 joined
13:53
benchable6 joined,
unicodable6 joined,
greppable6 joined,
bloatable6 joined,
quotable6 joined,
coverable6 joined,
evalable6 joined,
bisectable6 joined
13:54
statisfiable6 joined,
releasable6 joined,
nativecallable6 joined,
linkable6 joined,
shareable6 joined,
reportable6 joined,
sourceable6 joined
13:55
tellable6 joined,
notable6 joined
14:11
bigdata joined
14:12
bigdata left
14:13
Aozen joined
14:28
abhinav left,
abhinav joined
14:34
derpydoo left
|
|||
Geth | Raku-Steering-Council/main: 52d92b871f | (Nick Logan)++ (committed using GitHub Web editor) | minutes/20230401.md Add RSC meeting minutes for 2023-04-01 |
15:09 | |
15:09
an3223_ left
16:09
tellable6 left,
reportable6 left,
sourceable6 left,
unicodable6 left,
nativecallable6 left,
quotable6 left,
committable6 left,
shareable6 left,
squashable6 left,
bloatable6 left,
benchable6 left
16:10
bloatable6 joined,
sourceable6 joined,
unicodable6 joined
16:11
shareable6 joined,
tellable6 joined,
squashable6 joined,
reportable6 joined
16:12
committable6 joined,
benchable6 joined,
quotable6 joined,
nativecallable6 joined
16:33
teatime joined
|
|||
Aozen | is raku stable can we build actual applications or software with it? ( i am a beginner so please bear that in mind) | 17:15 | |
lizmat | yes: note the list of companies at raku.org (scroll down to the bottom) that use Raku in production | 17:20 | |
Aozen | oh cool ^^ | 17:29 | |
so i am planning to go all out on raku | |||
basically i wanted perl but then i learned about perl 5 and 6 and | |||
well i want to learn raku after hearing larry wall | |||
perryprog | anyone wants anything after hearing larry wall | ||
Aozen | and if i need to go back to perl 5 i will but i want to get good at one thing | ||
XDD oh perry that that is nice | 17:30 | ||
he really is very cool and i appreciate the thing he gave us | |||
i spent 2 years just deciding on a language and i ended up picking perl | |||
and brain damage from wiki and the list of all programming languages XD | |||
17:33
linkable6 left,
evalable6 left
17:35
linkable6 joined,
evalable6 joined
17:37
Guest66 joined
|
|||
Anton Antonov | Is there any "standard" way -- i.e. programmatically -- of converting a grammar rule into a grammar regex? I can, of course, make some string manipulations (e.g. replacing the "correct" spaces with " \h* ", etc.) but there might an existing solution. | 17:39 | |
lizmat | in RakuAST that would be trivial | 17:40 | |
17:40
Guest66 left
|
|||
lizmat | as at the RakuAST level, the only difference between a rule and a regex, is really the name | 17:41 | |
they're all RakuAST::RegexDeclaration objects | |||
Anton Antonov | @lizmat Well, rule { [dark | milk] kit kat} should be come regex { [dark | milk] \h+ kit \h+ kat}, so I would assume it is not just the name... | 17:43 | |
lizmat | but it is :-) | ||
Anton Antonov | @lizmat Great! I will look into RakuAST::RegexDeclaration then. | 17:44 | |
lizmat | m: say Q|my rule foo { a b }|.AST.statements.head.expression | 17:45 | |
camelia | RakuAST::RuleDeclaration.new( scope => "my", name => RakuAST::Name.from-identifier("foo"), body => RakuAST::Regex::Sequence.new( RakuAST::Regex::WithWhitespace.new( RakuAST::Regex::Literal.new("a") ), RakuAST::R… |
||
lizmat | m: no worries; say Q|my regex foo { a b }|.AST.statements.head.expression | ||
camelia | Potential difficulties: Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing). ------> my regex foo { a⏏ b } RakuA… |
||
lizmat | meh, please compare the AST of these two | ||
apart from the name of the class, they are the same | 17:46 | ||
I guess I could add a "transmogrify" method that would take the class you want, and clone everything else | 17:51 | ||
18:00
reportable6 left
18:02
reportable6 joined
18:18
linkable6 left,
linkable6 joined
18:20
an3223_ joined
18:27
an3223_ left
18:33
an3223_ joined
18:40
guifa_ joined
18:42
an3223_ left
18:43
guifa left
18:54
an3223_ joined
|
|||
Anton Antonov | @lizmat Thank you for your clarifications! | 19:28 | |
lizmat | you're welcome: I happened to be deep into that in the past weeks, delaying the application of significant whitespace until QAST time | 19:29 | |
see github.com/rakudo/rakudo/commit/6a...b9584e3922 for the actual commit | 19:30 | ||
19:35
Sgeo joined
19:54
squashable6 left
19:55
squashable6 joined
20:05
japhb left
20:06
japhb joined
20:07
an3223_ left
20:08
an3223_ joined
20:10
an3223 joined
20:11
an3223_ left,
an3223 left,
an3223_ joined
21:11
squashable6 left,
bloatable6 left,
tellable6 left,
quotable6 left,
unicodable6 left,
linkable6 left,
sourceable6 left,
shareable6 left,
releasable6 left,
notable6 left,
reportable6 left,
benchable6 left,
statisfiable6 left,
bisectable6 left,
nativecallable6 left,
committable6 left,
greppable6 left,
releasable6 joined,
committable6 joined,
quotable6 joined
21:12
squashable6 joined,
nativecallable6 joined,
tellable6 joined,
unicodable6 joined
21:13
shareable6 joined,
statisfiable6 joined,
benchable6 joined,
reportable6 joined,
linkable6 joined,
bloatable6 joined
21:14
notable6 joined,
greppable6 joined,
bisectable6 joined,
sourceable6 joined
21:45
sena_kun left
|
|||
PipStuart | Greetings. Is there any decent way to write Raku code to use ncurses? | 22:27 | |
perryprog | There's github.com/azawawi/raku-ncurses | 22:28 | |
PipStuart | perryprog: Thanks! | ||
perryprog | Yup! | 22:29 | |
22:45
linkable6 left,
evalable6 left
22:46
evalable6 joined
22:48
linkable6 joined
22:49
abhinav left,
abhinav joined
23:07
an3223_ left
|