🦋 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. |
|||
summerisle | i have poked around the nativecall source, and i'm no nqp expert but it does appear that there is only one instance of the structure. changes to the structure are reflected both ways. | 00:27 | |
guifa: | |||
00:32
esh joined
00:33
DiffieHellman_ joined
00:34
DiffieHellman left,
[ptc] joined
|
|||
guifa | summerisle: hmm okay. That might work bode well. | 00:59 | |
summerisle | to give context, i've worked with two different C libraries (libOGG, libFLAC) in raku so far and the behaviour has been more or less the same as if I were to write C. no weird gotchas | 01:00 | |
01:01
pecastro left
01:03
squashable6 left
01:04
squashable6 joined
01:06
DiffieHellman_ is now known as DiffieHellman
|
|||
guifa | summerisle: I’m thinking of doing yet ANOTHER rewrite of CLDR. But this time instead of creating all of the objects immediately, just import a single blob, and then create objects as needed that reference the big blob. Should drop load time to zero, albeit with some more run time allocations. If I don’t actually need to allocate Raku objects for the attributes except when accessed via their methods, I could probably reduce the memory | 01:28 | |
footprint by a lot too | |||
01:40
imcsk8 joined
01:50
pecastro joined
01:56
gnufr33dom joined
|
|||
SmokeMachine | guifa: I couldn’t watch your talk live, but did it yesterday, and you were right, Red do not use slangs | 02:31 | |
guifa: and congratulations! Very good talk! | 02:32 | ||
02:50
xinming_ left
02:52
xinming_ joined
02:57
kvw_5 joined,
mowcat left,
hvxgr left
02:58
perlmaros left,
[Sno] joined,
rba left,
sno left
02:59
aluaces left,
renormalist left,
kst` joined,
polettix joined,
Kaiepi left,
mowotter joined,
Kaiepi joined,
kvw_5_ left,
a6502_ joined,
rba_ joined,
hvxgr_ joined,
rba_ is now known as rba
03:00
perlmaros joined
03:01
sergot left
03:03
kst left,
|Sno| joined
03:05
cgfbee left
|
|||
summerisle | SmokeMachine: where is this talk? | 03:05 | |
03:05
[Sno] left,
Froogal joined,
wmoxam joined
03:06
sergot joined,
cgfbee joined
|
|||
Froogal | Hi! I'm looking for the documentation about the Raku equivalent of perl's if(-e $file){do blah}? | 03:07 | |
summerisle | m: '/dev/null'.IO.e.say | ||
camelia | True | ||
codesections | summerisle: all the fosdem talks from the Raku/Perl devroom are at video.fosdem.org/2021/D.perl/ ; guifa's is the "surprisingly unsurprising" one | 03:08 | |
03:09
xinming_ left
|
|||
codesections | Froogal: and it's documented here/elsewhere on the same page: docs.raku.org/type/IO::Path#File_test_operators | 03:10 | |
Froogal | codesections Yay! thanks, I had trouble finding it. | 03:11 | |
03:11
xinming_ joined,
Froogal left
|
|||
codesections | (that section is a direct link to smartmatching, which is an alternative to the method syntax summerisle showed) | 03:11 | |
03:16
pecastro left
03:18
leont left
03:25
[ptc] left
03:27
[ptc] joined
|
|||
guifa | SmokeMachine: estou a pensar repetir a palestra, mas em português e espanhol para os não anglofalantes :-) | 03:27 | |
03:35
mowotter left
03:36
lucs left,
lucs joined
03:39
rindolf joined
|
|||
guifa | We had some really great Raku talks this time around | 03:41 | |
codesections++ lizmat++ | |||
03:49
guifa left
03:51
kerframil left
04:51
linkable6 left,
squashable6 left,
greppable6 left,
coverable6 left,
nativecallable6 left,
evalable6 left,
releasable6 left,
unicodable6 left,
committable6 left,
sourceable6 left,
statisfiable6 left,
quotable6 left,
benchable6 left,
tellable6 left,
notable6 left,
bisectable6 left,
shareable6 left,
bloatable6 left
04:52
shareable6 joined,
releasable6 joined,
committable6 joined,
squashable6 joined,
nativecallable6 joined
04:53
benchable6 joined,
evalable6 joined,
coverable6 joined,
sourceable6 joined,
bloatable6 joined,
quotable6 joined,
notable6 joined,
statisfiable6 joined
04:54
greppable6 joined,
bisectable6 joined,
linkable6 joined,
tellable6 joined,
unicodable6 joined
05:01
xinming_ left
05:02
xinming_ joined
05:10
Doc_Holliwould joined
05:18
guifa joined
05:44
Doc_Holliwould left,
parabolize left
05:55
wamba joined
06:03
xinming_ left,
xinming_ joined
06:05
berber44 joined
06:16
braden joined
06:26
braden left,
braden337 joined
06:27
Doc_Holliwould joined
06:28
xinming_ left,
xinming_ joined
06:39
braden337 left
06:42
braden337 joined
|
|||
braden337 | I'm having a real tough time compiling rakudo(-star) with the jvm or javascript backend (on Debian and macOS), does anyone have any tips? | 06:43 | |
jmerelo | braden337: I'm not totally sure about the javascript backend. The JVM should be (mostly) up to date. | 06:44 | |
braden337: There are still a number of issues with the JVM backend. I'm not sure they're totally solved github.com/rakudo/rakudo/issues/4191 | 06:45 | ||
06:53
aluaces joined
07:10
xinming_ left,
xinming_ joined
07:22
Discipulus joined
|
|||
SmokeMachine | .tell guifa acho uma ótima ideia! :) | 07:33 | |
tellable6 | SmokeMachine, I'll pass your message to guifa | ||
07:37
wamba left
07:43
Garbanzo left
08:00
wamba joined
08:11
tyilanmenyn is now known as tyil
08:12
Sgeo left
08:16
braden337 left
08:20
patrickb joined
08:23
braden337 joined,
klapperl left
08:24
klapperl joined
08:26
Doc_Holliwould left
08:30
braden337 left
08:40
aborazmeh joined
08:44
dakkar joined
08:46
pecastro joined
08:57
braden337 joined
08:58
sena_kun left
09:01
sena_kun joined
|
|||
MasterDuke | braden337: i just built rakudo (not -star) with the jvm backend on arch linux, what problem were you seeing? | 09:03 | |
09:05
aborazmeh left
09:09
braden337 left
09:13
gnufr33dom left
09:29
a6502_ is now known as a6502
09:30
dakkar left,
dakkar joined
09:35
braden337 joined
|
|||
braden337 | I tried again a few times, following the readme and using 2020.12 rakudo (not star), with "ALL" backends it failed during the configure step, with "moar,jvm" it failed during the make step, but if I just choose "jvm", then it builds successfully and I was able to run make install after. So now I have perl6-j in my install/bin directory | 09:39 | |
MasterDuke | i don't really know anything about javascript so i never use "ALL", but "moar,jvm" worked for me | 09:41 | |
CIAvash | I don't know about compiling the javascript backend, but the rakudo on npm doesn't work with new versions of node, only works with v12.11.1 | 09:47 | |
MasterDuke | were you using a "-j n (greater than 1)" option for make? the jvm build used to not like that, but i thought it wasn't a problem anymore | 09:49 | |
braden337 | I wasn't using any options for make, just "perl Configure.pl --backends=moar,jvm --gen-moar --relocatable" and then "make" | 09:52 | |
MasterDuke | and i assume you can also build just the moarvm backend by itself? | 09:54 | |
braden337 | That's correct | 09:56 | |
MasterDuke | odd. any record of what the error was with both? | 09:57 | |
10:10
leont joined
|
|||
braden337 | it starts showing a bunch of errors after | 10:19 | |
+++ Generatinggen/jvm/SysConfig.nqp | |||
+++ Compilingblib/Perl6/SysConfig.jar | |||
+++ Generatingrakudo-runtime.jar | |||
then it exits with error 1 | |||
Note: src/vm/jvm/runtime/org/raku/rakudo/RakudoJavaInterop.java uses or overrides a deprecated API. | 10:20 | ||
Note: Recompile with -Xlint:deprecation for details. | |||
100 errors | |||
4 warnings | |||
only showing the first 100 errors, of 1071 total; use -Xmaxerrs if you would like to see more | |||
make: *** [rakudo-runtime.jar] Error 1 | |||
10:21
Geth joined
10:22
Scimon joined
10:28
braden337 left
10:56
linkable6 left
10:57
linkable6 joined
11:14
PimDaniel joined
|
|||
PimDaniel | Hi. | 11:14 | |
\o | |||
tyil | o/ | 11:15 | |
PimDaniel | Does anybody know how to add a new element to a Set? | ||
tyil | >A Set is an immutable set, | ||
first line on docs.raku.org/type/Set | 11:16 | ||
you might want to use a SetHash iirc | |||
docs.raku.org/type/SetHash | |||
PimDaniel | iirc? | ||
tyil | if I recall correctly :) | ||
the Set docs also mention the use of SetHash if you want it to be mutable | |||
PimDaniel | Ok thank's tyil, i'll look at SetHash and come back if necessary. ;) | 11:17 | |
tyil | good luck :D | ||
PimDaniel | Thank's! | 11:18 | |
11:18
PimDaniel left
|
|||
lizmat | m: my %sh is SetHash = <a b c>; %sh<d> = True; dd %sh; %sh.set: <e f g>; dd %sh | 11:19 | |
camelia | SetHash.new("a","d","c","b") SetHash.new("b","f","c","g","e","a","d") |
||
lizmat | m: my %sh is SetHash = <a b c>; %sh<d> = True; dd %sh; %sh.set: <e f g>; dd %sh; %sh.unset: < a b c>; dd %sh | ||
camelia | SetHash.new("d","c","a","b") SetHash.new("c","a","d","g","f","b","e") SetHash.new("d","g","f","e") |
||
11:32
wamba left
12:10
Doc_Holliwould joined
|
|||
Scimon | See I'd personally go with creating a new Set using the union operator because mathematically that's how you do it. | 12:22 | |
m: my $s = set(1,2,3);dd $s;$s (|)= (4,5,6);dd $s | |||
camelia | Set $s = Set.new(2,3,1) Set $s = Set.new(5,6,4,2,3,1) |
||
12:27
Black_Ribbon left
12:39
Discipulus left
12:44
Doc_Holliwould left
12:56
Discipulus joined,
abraxxa left
12:57
fluca1978 joined
13:05
ab5tract joined
13:26
xinming_ left,
xinming_ joined
13:38
|Sno| left
13:46
abraxxa joined
|
|||
codesections | Here's something that I feel quite frequently (especially when reading things online), and yet *no* other programming language will let me express: | 13:56 | |
m: my $assessment-of-your-argument's-force = True but False; | 13:57 | ||
camelia | ( no output ) | ||
14:02
PimDaniel joined
|
|||
PimDaniel | \o | 14:02 | |
14:03
abraxxa left
|
|||
PimDaniel | Bonjour! | 14:03 | |
Is there an oposite for === infix operator? | |||
14:03
abraxxa joined
|
|||
Scimon | !=== ? | 14:03 | |
PimDaniel | ha! i did not try this one. | 14:04 | |
Scimon | codesections : What about the classic 0e0 from the Perl DBI? | ||
Always go for the simple option first ;) | |||
14:06
Sgeo joined
|
|||
PimDaniel | True : it works : thank's, Scimon. At the same time it is logical. I tried !== but it seamed to act like !=. | 14:06 | |
14:06
PimDaniel left
|
|||
Scimon | Yeah ! will megate an infix op. So !== is doing an not equal test while !=== is doing an object equality check then negating it. | 14:07 | |
!= is a special case that's an alias for !== docs.raku.org/routine/!= | 14:09 | ||
codesections | I didn't know about 0e0 from perl, but that's not quite the same. It's both 0 and True, but it's not both False but also True | 14:13 | |
Scimon | I know but it always made me giggle. | ||
And of course you can recreate it in Raku with 0 but True which is just awesome. | 14:14 | ||
codesections | my first real programming language was javascript, where the equivalent was: javascriptwtf.com/wtf/javascript-holy-trinity | 14:15 | |
14:21
PimDaniel joined
|
|||
PimDaniel | Just by curiosity : how would i express an IntStr into a literal hash description Tree? | 14:21 | |
m: my %h = %(a => <1 2 3>, b => <4 5 6>); say %h; | 14:23 | ||
camelia | {a => (1 2 3), b => (4 5 6)} | ||
PimDaniel | mmm :/ not sure. | ||
So i can see 3 type possible with what could even represent a number and 3 literal way to express: "3" <3> and 3. | 14:25 | ||
Scimon | m: my %h = %(a => <1 2 3>, b => <4 5 6>); dd %h; | ||
camelia | Hash %h = {:a($(IntStr.new(1, "1"), IntStr.new(2, "2"), IntStr.new(3, "3"))), :b($(IntStr.new(4, "4"), IntStr.new(5, "5"), IntStr.new(6, "6")))} | ||
14:25
squashable6 left
|
|||
Scimon | You can coerce them to Ints if need be. | 14:26 | |
PimDaniel | Don't think i MAY do it in my case. I'm converting a part of python code in Raku. | 14:27 | |
*a piece | |||
14:28
squashable6 joined
|
|||
PimDaniel | In entry i get an hash and so i think data should remain as is : "3" is not 3 is not <3>. | 14:28 | |
Scimon | But it is "3" is an IntStr the 3 in the output is because of the gist called by say. | 14:29 | |
If you look at the dd output you can see you've still got IntStr's | |||
PimDaniel | Hum Ok Scimon. | 14:30 | |
Scimon | (Ok <> gives the IntStr and "" gives a Str... because.. yay?) | ||
I wouldn't worry about it personally. | |||
PimDaniel | In fact the question if i must coherce or not is not so simple. | 14:31 | |
I must look at what the code does and how it does it. | |||
Phyton des not even type nothing like raku and i wonder why thez set a set is immutable since you can run a put method into a loop on it. :( | 14:34 | ||
14:34
linkable6 left
|
|||
PimDaniel | So i must reread all the code and restart from scratch. | 14:35 | |
Thank you! | |||
14:35
PimDaniel left
14:36
linkable6 joined
14:41
vike left
14:46
vike joined
|
|||
codesections | how do I convert a Str to a str ? I'm pretty sure I used to know... | 14:53 | |
moritz | my str $x = $TheStr; | 14:54 | |
codesections | moritz++ | ||
moritz | or nqp::unbox_s if you are into low-level shit | 14:55 | |
codesections | oh, of course I should have checked the NQP ops | 14:56 | |
guifa | codesections: what are you doing that needs a str | 15:03 | |
tellable6 | 2021-02-18T07:33:34Z #raku <SmokeMachine> guifa acho uma ótima ideia! :) | ||
15:04
Doc_Holliwould joined
|
|||
codesections | guifa: working on github.com/rakudo/rakudo/pull/4201 | 15:05 | |
and trying not to slow down Raku's start time :) | |||
15:11
gnufr33dom joined
15:12
ab5tract left
15:14
aoeu joined,
aoeu left
15:24
fluca1978 left,
fluca1978 joined
15:25
fluca1978 left
|
|||
codesections | random unrelated question: where does the Str.ords name come from? I'm having a hard time getting that from "Unicode codepoints". It sounds like "ordinal", but I think I'm missing something | 15:35 | |
leont | Yeah, it does | 15:36 | |
15:39
Tim joined
15:40
Tim left
15:44
monkey__ joined
16:01
Froogal joined
|
|||
codesections | haha, I just came across a comment in Roast that was talking about the Synopses but, due to a typo, called them "the original speculation" (I assume they meant "specification"). | 16:01 | |
in retrospect, that seems about right :D | 16:02 | ||
Froogal | Hi! I'm having trouble finding out how to pass arguments to a class constructor. I'm used to PHP, there doesn't seem to lot of documentation regarding this, just how to make an initial class or module. | 16:03 | |
codesections | Froogal: In general/by default, you pass named arguments to the constructor with the :name(value) syntax. | 16:05 | |
I'll send you a link in a second | 16:06 | ||
Froogal | with a colon? | ||
Ok :) | |||
I don't really understand the colon in Raku either, it seems to be pretty prevalent. | |||
16:07
parabolize joined
|
|||
codesections | See the `class Point` example here docs.raku.org/language/objects#Obj...nstruction | 16:08 | |
m: say key => 'val'; say :key('val2'); | |||
camelia | Unexpected named argument 'key' passed in block <unit> at <tmp> line 1 |
||
lizmat | codesections: i believe .ord to be a Perlism | ||
because that's what it is called in Perl | |||
codesections | m: dd key => 'val'; dd :key('val2'); | 16:09 | |
camelia | :key("val") :key("val2") |
||
codesections | Froogal: the colon is another way to declare a Pair ^^^ | ||
Froogal | Wow that's actually a pretty nice syntax lol | 16:10 | |
codesections | thanks, lizmat (though that just pushes the mystery deeper :D ) | 16:11 | |
16:11
domidumont joined
|
|||
lizmat | from the ASCII only days, ord is short for ordinal number, aka the numeric representation of an ASCII character (chr( | 16:12 | |
(chr) | |||
hence, the name of the function the other way | |||
codesections | aha! I should have thought to go back to ASCII | 16:13 | |
lizmat | m: dd 65.chr, "A".ord | ||
camelia | "A" 65 |
||
lizmat | I think it comes with "grep" :-) | ||
codesections | right. Which is both Unicode & ASCII | ||
lizmat | yup, nowadays :-) | ||
codesections | ha. and grep, in turn comes from ed | 16:14 | |
lizmat | TIL :-) | 16:16 | |
codesections | from global/regular expression/print; or g/re/p for short | 16:17 | |
lizmat | and ed is pronounced ee dee TIL another thing :-) | 16:21 | |
guifa | Froogal, the even cooler colon syntax is | ||
m: my $val = 4; dd :$val | |||
camelia | :val(4) | ||
guifa | It encourages smart naming of variables and parameters to keep cleaner code ^_^ | ||
16:24
PimDaniel joined
|
|||
PimDaniel | Hi again. | 16:24 | |
Is it a good idea to use math glyphs like ∈ ? | 16:25 | ||
and how do you write them? if so? | |||
16:26
neshpion joined
|
|||
lizmat | If you use something like Comma, it's done for you :-) | 16:31 | |
PimDaniel: seriously: docs.raku.org/language/unicode_entry | 16:32 | ||
16:33
guifa2 joined
|
|||
Froogal | guifa what does that do? Like dd as in data dumper? The linux command? | 16:35 | |
guifa2 | that's what it comes from | 16:36 | |
Froogal | what is the purpose of the colons there? | ||
PimDaniel | Thank's Lizmat! | ||
guifa2 | but i was more showing how you can just prefix a regular variable with a colon, and it turns it into a Pair | ||
lizmat | actually, I thought of it as Tiny Data Dumper, but so tiny it lost the "t" | ||
Froogal | oh a pair | ||
guifa2 | m: sub ten-times ( :$number #`[ ← named argument] ) { $number * 10 }; my $number = 5; say ten-times :$number | 16:38 | |
camelia | 50 | ||
guifa2 . o O ( still doesn't understand why we need the backtick. Synopses didn't have it. ) | |||
lizmat: any idea why it was made necessary for multiline/embedded comments? | 16:39 | ||
16:39
PimDaniel left
|
|||
lizmat | guifa2: I have no idea... this is from the time when I was not closely associated with the project | 16:40 | |
masak moritz might | |||
16:42
gnufr33dom left
|
|||
codesections | guifa: not only do the Synopses not mention using the backtick, I'm pretty sure there's something explicitly about _not_ using in – leaving it as the one ASCII glyph intentionally reserved for users | 16:50 | |
16:53
monkey__ left
16:54
Froogal left
|
|||
guifa2 | codesections: I wonder if much would brek if we made the backtick optional. It's not like #[ #( #{ are reserved for anything else. Theoretically iy could break old code but… minimally so I think | 16:55 | |
codesections | Hmm, I kind of wonder if we might want those combos for something else one day | 16:58 | |
maybe something macro/ast related? | |||
or POD/doc comment related? | |||
guifa2 | that's the only reason I can think of them ultimately using the backtick | 16:59 | |
but TBH | |||
my $foo = #[comment] 5; | |||
looks much nicer than my $foo = #`[comment] 5; | |||
guifa2 still proud though of his opening multiline comment on this script: github.com/alabamenhu/DateTimeTime...abase.raku | 17:00 | ||
codesections | That _is_ a nice use of ;-), I'll admit | 17:07 | |
Though I tend to use # on each line for true multi-line comments, and just use #`{...} for inline comments | 17:11 | ||
guifa2 | I don't think I've fully developed a house style for that yet | 17:12 | |
Sometimes I do pod blocks (like in the above script, but mainly when it's definitively more narrative) | 17:13 | ||
codesections | (also, it'd never occurred to me that &dd takes named arguments. The number of times I've added an extra text label when I could have just done that...) | ||
17:15
Scimon left
|
|||
guifa2 | But I also probably think about code style more than I should | 17:15 | |
codesections | likewise | ||
guifa2 | I guess I want to make sure Raku doesn't end up like Perl with thousands of really poorly written, unreadable bits of code out there | ||
codesections | Yeah. I've been thinking about that a lot too (though I haven't come up with any clear ideas yet) | 17:16 | |
guifa2 | Perl *can* be super readable. But all the script kiddies from back in the day C&P code and wanted to look super 1337 with illegible mess of code (and didn't / couldn't refactor) gave it the horrible reputation it has today | 17:17 | |
codesections | I was also thinking of it re: JavaScript and NPM and leftpad. It's not even that the code is _bad_ necessarily -- just that there's so much that there's no good way to know | 17:18 | |
summerisle | guifa2: that, and some people just have bad habits. i inherited some perl scripts (no longer necessary, were for fax automation) from someone who is extremely prominent in the OpenVMS hobby scene and they were just sloppy af | ||
naming variables things they thought were funny, among other strange things | 17:19 | ||
codesections | ...did the fax machines run perl? | ||
summerisle | there was a small farm of linux systems with fax modems | ||
guifa2 | I just read an article hwere someone was bitching about projects using way too creative names and then when they get big, they're just annoying to use | ||
codesections | ah | ||
guifa2 | I've tried to be ultra straight forward with naming things in my modules | 17:20 | |
tadzik | re NPM and leftpad, to be fair just because there's not much code doesn't mean it's any easier to tell which one is not bad :P | ||
summerisle | my favorite was naming a mutex "highlander" | ||
guifa2 | WTF | ||
summerisle | luckily, that was one of very few documented things. the reasoning? "there can only be one!" | ||
tadzik | shorter dependency chains help a bit though, but I think they're mostly a symptom of underdeveloped module/package/library scene | ||
summerisle | i believe it's a reference to a very old television series | ||
guifa2 | summerisle: indeed, I heard the theme in my head when you mentioned it ha | 17:21 | |
codesections | tadzik: well, to some extent, sure. But having a deeper standard library helps a lot too | ||
guifa2 | www.youtube.com/watch?v=SnJt9p-sHho | ||
"there can be only one" at 0:18 | 17:22 | ||
codesections | Most js CLI scripts pull in a ton of deps just to parse arguments, for example | ||
(transitive deps, I mean) | |||
summerisle | codesections: for sure, but i can't wait till the ecosystem reaches the level of CPAN | ||
codesections | Yeah. In my ideal world, we'd have that level of *library* coverage, but each library would use far fewer dependencies (which would each use fewer deps, etc.) | 17:24 | |
summerisle | absolutely | ||
the situation with js is a total cluster | |||
and it's sort of gotten that way with ruby, but not nearly as bad | |||
codesections | And, I mean, I'm torn: On one hand, I _do_ understand the appeal of/argument for small, single purpose libraries | 17:26 | |
guifa2 | codesections: that's where I do like the idea of CPAN's Tiny modules — no external dependencies | ||
codesections | "do one thing and do it well", and all that | ||
guifa2 | They might not run as fast, etc, but you know they'll run anywhere Perl runs | ||
codesections | guifa2: yeah. And having a decently large stdlib helps with that | 17:27 | |
guifa2 | I really thought hard about just wrapping ICU's libraries for the Intl:: modules | ||
codesections | I wonder if we should expand the number of Core modules/create a new category of blessed modules | 17:28 | |
guifa2 | But (a) I've learned *so much* by coding it all up in pure Raku, but (b) as long as Raku can run, there's no worry about having to ensure that ICU is available, compiles, etc | ||
codesections | e.g., JSON::Fast | ||
guifa2 | You know what needs a Fast variant? XML | 17:29 | |
lol | |||
17:29
aborazmeh joined
|
|||
guifa2 | I think it's a solid half of the compile time for CLDR is spent doing XML mixin operations | 17:29 | |
codesections | I thought Raku bundled ICU anyway? Am I confused about that? | ||
summerisle | I was working with some of the XML modules a month or so ago and found them to be a little weird | ||
though i think that was just my want for better xpath support | |||
guifa2 | codesections: I'm fairly certain samcv++ wrote all the string/Unicode stuff separate to ICU, and just uses the Unicode Database | 17:30 | |
codesections | er, right. ICU ≠ UCD | 17:31 | |
too many TLAs | |||
summerisle | gotta love em | 17:32 | |
samcv | guifa2, yes that is correct | ||
codesections | yeah, I knew that – I even wrote a blog post about it! – and was just mixed up | 17:33 | |
guifa2 | And actually, based on my reading of ICU's change log | 17:34 | |
I think I'm pretty confident that we're currently handling unit formatting better than ICU so … huzzah | |||
17:38
dakkar left
17:42
linkable6 left
|
|||
codesections | Ohhh, `make spectest` is fetching new tests from upstream -- so _my_ code isn't breaking random, unrelated areas; I just need to rebase to get the code under test! | 17:43 | |
17:45
linkable6 joined
17:49
imcsk8 left
17:51
imcsk8 joined
18:15
domidumont left
18:25
Garbanzo joined
18:33
aborazmeh left
18:34
neshpion left
18:36
wamba joined,
neshpion joined
18:39
_jrjsmrtn joined
18:42
__jrjsmrtn__ left
18:53
natrys joined
19:15
benkolera left
19:28
bdju left
19:29
bdju joined
19:43
xinming_ left
19:44
xinming_ joined
19:48
tejr left,
tejr joined
19:52
neshpion left
19:58
benkolera joined
20:10
xinming_ left,
xinming_ joined
20:17
Black_Ribbon joined
20:45
mowcat joined
20:49
rindolf left
20:59
mightypork joined
21:01
mightypork_ left
21:02
gordonfish left
21:05
benkolera left
21:08
BuildTheRobots left
21:10
BuildTheRobots joined
21:11
wamba left
21:16
aindilis joined
21:19
nosqrt joined
21:21
gordonfish joined
21:27
benkolera joined
21:33
aborazmeh joined
21:46
vrurg_ joined,
vrurg left
22:12
patrickb left
22:21
natrys left
22:43
Discipulus left
22:56
Froogal joined
|
|||
Froogal | I'm having problems figuring out the class system in Raku. I have this Module "ModuleFirst::FirstClass.new(:val("hello, world")); The class has a single variable and a single method. The method returns that variable, I want it to return the actual value, but it just returns the type. | 23:00 | |
codesections | That sounds like the variable (attribute?) isn't being set | 23:01 | |
Froogal | Ah yes attribute, sorry. I'm setting it with new(:val('hello, world")) am I not? | 23:02 | |
codesections | Looks that way, if the Class is something like `class FirstClass { has $.val }` | 23:03 | |
Froogal | yes it word for word it says FirstClass { has Str $.someVal; method getSomeVal() { return $!someVal;} | 23:05 | |
well im missing "class" and "is export" in the above message but the rest is accurate. | 23:07 | ||
I think BUILD() is the key... | 23:08 | ||
codesections | oh, if what you have is ^^^^ it's just that you set val not someVal | 23:10 | |
(took me longer than it should have to see that) | 23:11 | ||
Froogal | [code]test[/code] | 23:12 | |
What are the code tags here? | |||
codesections | (also -- and you may already know this and just be trying out the syntax -- but you don't need to write a geter: $.someVal gives you one for free) | 23:13 | |
you can start a line with m: to have it evaluated | |||
(There aren't any tags for multi-line code evaluation) | 23:14 | ||
Froogal | Really??? How cool I didn't know that about the free getter. | ||
I access the getter with :m | 23:15 | ||
codesections | m: class FirstClass { has Str $.someVal }; my $first-class = FirstClass.new(:someVal('hello, world')); say $first-class.someVal; | 23:17 | |
camelia | hello, world | ||
23:22
dogbert11 left
23:23
dogbert11 joined
23:28
Froogal left
23:53
nosqrt left
|
|||
tonyo | m: (class :: {has $.sV}).new(:sV<hello world>).sV.say; | 23:57 | |
camelia | (hello world) |