This channel is intended for people just starting with the Raku Programming Language ( Logs are available at
Set by lizmat on 8 June 2022.
00:15 jgaz left 00:18 Manifest0 left 03:08 frost joined 03:10 frost left 03:29 rf left 05:00 frost joined 05:04 frost left 07:55 Heptite left 08:35 Manifest0 joined 09:05 dakkar joined 09:16 ab5tract joined 09:33 ab5tract left 10:06 ab5tract joined 10:41 ab5tract left, ab5tract joined 11:00 ab5tract left 11:20 ab5tract joined 12:09 ab5tract left 12:33 frost joined 13:37 rf joined
rf . 13:47
lizmat rf: any of the channels with tellable will give you your messages... no need to . on different channels, unless you meant something else by it 13:49
rf Oh didn't know that. Thanks! 13:54
16:38 Heptite joined 17:35 dakkar left 17:38 hizibiz joined 18:32 tg57 joined 20:58 QhpAptyj9hj0RQwM joined 21:21 hizibiz left, hizibiz joined 21:30 codesections joined, codesections left 21:34 tg57 left 21:37 hizibiz left 22:00 frost left
Yeuph If I'm initializing classes within some set operations like $classTest = => $num) (|) => $num) (|) => $num) (|) => $num) (|) => $num); 23:09
how can I access the elements of #classTest? 23:10
Nemokosch 23:12
Yeuph I don't know what that means lol
Nemokosch point being, Sets are kind of Hashes still
Yeuph well say I want to perform some logic on => $num) after the algebra 23:13
how do I grab it?
Nemokosch basically, a usual set would consist of Pairs, the item you pushed into being the key of the pair
Yeuph by accessing my $classTest SetHash that it's initialized in 23:14
Nemokosch m: my Set() $demo = <alma körte barack körte alma SZÉN>; say $demo.keys;
Raku eval (alma SZÉN körte barack)
Nemokosch there are also funky methods for taking one element, including the one you already named: grab 23:15
(well, not necessarily only one but you get the idea - elements, rather than the whole thing at once) 23:16
Yeuph gotta play with this for a bit, thanks
Nemokosch 23:17
Yeuph basically lol
would I just type the string representing the initialized class in the set? 23:22
like say => 1) (elem) $classTest;
it's returning false
Nemokosch well a custom object would have reference type semantics 23:23
Yeuph my ultimate goal here is to move classes - some of which being initialized in the algebra - into other sets
Nemokosch if you know Python, that's like saying it's not "hashable" by default 23:24
Yeuph I don't 😦
Nemokosch but just like in Python you can implement the magic method for hashing, there is something similar for Raku as well - the WHICH method
Yeuph 23:25
Nemokosch yes
Yeuph so what, it has a special string assigned to it as an object; and even if that string doesn't match the "words or whatever" that the element in the set has 23:26
it would likely access it within the set?
Nemokosch I can't understand this 23:27
Yeuph I'll do some reading and work on my own and if I get stuck I'll come back
thanks man
(my question was in reference to the first sentence of the WHICH method page: "This returns a string that identifies the object. ") 23:28
Nemokosch 23:29
this page has a good example I'd say
Yeuph Yeah I can see how this will work but I think figuring it out is a bit more work than I'm wanting to do here before bed 23:43
I think I'll get this working tomorrow
but thanks, this does look like it'll do it once I figure it out 23:44
Nemokosch yes, this is mostly something you need to do once in order to get these "hashability" features and then === and these hash-based data types will just work the way you expect 23:45
Yeuph right
I'll have some functions giving my the hashes
Nemokosch it's all up to what representation you decide on; the default would be some kind of address 23:46
Yeuph then I'll check the sets for those
Nemokosch I think Sets themselves are reference types
m: say <1 2 3>.Set === ❤️ 2 1>.Set
Raku eval Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Missing required term after infix at /home/glot/main.raku:1 ------> say <1 2 3>.Set ===⏏ ❤️ 2 1>.Set expecting any of: prefix term
Nemokosch bruh discord
Yeuph lol
Nemokosch m: say <1 2 3>.Set === <3 2 1>.Set 23:47
Raku eval True
Nemokosch hmmm, maybe not, then? let's see
m: <1 2 3>.WHICH.say
Raku eval List|5635469267696
Nemokosch oops, that's the List
well, you can see that the List has the default, reference-based behavior, by the way 23:48
it's a random number; you could create another one with the same content and it would be another number
m: <1 2 3>.Set.WHICH.say
Raku eval Set|6AF0F9BD7836549B13210B50833463F26D63E18B
Nemokosch the Set has something trickier... I don't know by heart, need to look it up 23:49
Yeuph It seems like I'll be able to use the ObjAt:(hash?) (elem) someSet
eh I'm tired 23:50
I'll come back tomorrow lol
Nemokosch um
Yeuph my eyes aren't cooperating with reading anymore
Nemokosch let's say, the hashing of a Set is not trivial 23:51
Yeuph well computers don't do set algebra
making one do it
is serious business
that's why I'm not even trying with C++
someone did the work for me here already lol
Nemokosch but yeah, you can create a WHICH that isn't this complex
that really is like that code snippet; type + attribute values 23:52
Yeuph Yeah, I may get a rain day tomorrow (bricklayer) so I'll have plenty of time to play
Nemokosch good luck to that 😂 23:54
23:57 jgaz joined