🦋 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, reportable6 joined 00:17 NemokoschKiwi left 00:55 Sugeng joined
Sugeng hello 00:55
00:59 Maylay left 01:00 Sugeng left 01:04 xinming left 01:05 xinming joined 01:07 Manifest0 left 01:17 Maylay joined 01:36 freeside joined 01:42 freeside left 01:43 frost47 joined 01:44 frost47 left 01:46 frost69 joined 01:48 razetime joined, frost69 left 01:50 frost31 joined 01:51 frost31 left 01:53 frost20 joined, frost20 is now known as frost
frost @Sugeng: hi 02:04
02:20 melezhik joined
melezhik . 02:20
.tell rf on "git submodule update --recursive --remote" - you probably might need "cd source/" first 02:21
tellable6 melezhik, I'll pass your message to rf
rf Yeah I just fixed it
Thanks :D
melezhik cool
rf melezhik: source directory does not yet exist, download source archive from storage 02:23
Hmm I think I can bind CMake to this and have it work nicer, one sec. 02:25
melezhik I think, you need adjust sparrow.yaml a bit - gist.github.com/melezhik/8152b9eb4...b264eb6b82 02:26
`depends:` should be a list
rf I see
One sec I think I can make this simpler. 02:27
On my end.
melezhik in case you want a tasks depends on many tasks
yeah, sure
rf Yeah I am not that good at Yaml too haha sorry for spamming Sparrow 02:28
melezhik that is ok )) this is what this channel for 02:31
but I understand your pain with YAML )))
rf I have hard time understanding the '-' 02:32
Not sure why it is there.
melezhik `-`  just means next element in the list
rf Yeah, just not very normal for me lol. My github CI passes now, so hopefully Sparrow likes the new changes 02:34
Build time may be a little longer though.
melezhik basically if one needs to declare array of hashes they would do this:- gist.github.com/melezhik/912984f84...4e9854d2a0
02:34 frost left
rf Forgot one thing lol, now it should work... 02:35
Hmm, timeout. Submodule is fairly big. 02:38
melezhik yeah, I rerun the build from admin console , let see how it goes this time 02:41
rf I think it should be under 5 minutes, sorry lol
I ran on 1 core machine, about 3.6minutes
02:42 melezhik left
rf .tell melezhik Can I donate to SparrowCI somewhere? :) 02:43
tellable6 rf, I'll pass your message to melezhik
02:43 freeside joined 02:44 Maylay left 02:45 melezhik joined
melezhik ci.sparrowhub.io/report/3038 now unit test failure 02:45
tellable6 2023-02-13T02:43:23Z #raku <rf> melezhik Can I donate to SparrowCI somewhere? :)
melezhik yeah, will be much appreciated - ci.sparrowhub.io/donations , I have never tried this - but this should probably work ))) 02:46
02:47 Maylay joined, archenoth left
melezhik github.com/rawleyfowler/JSON-Simd/...arrow.yaml - you probably missed git sub modules checkout part? 02:49
.tell rf - yeah, will be much appreciated - ci.sparrowhub.io/donations , I have never tried this - but this should probably work )))
tellable6 melezhik, I'll pass your message to rf
02:49 melezhik left 02:50 freeside left 02:54 melezhik joined 02:57 melezhik left 02:59 frost joined 03:36 jgaz left 03:48 razetime left 04:03 squashable6 left, squashable6 joined 04:06 rf left 04:07 freeside joined 04:11 freeside left 04:32 razetime joined 05:04 freeside joined 05:09 freeside left 05:19 deoac joined 05:20 freeside joined 05:22 Wanderer joined 05:24 freeside left 05:35 deoac18 joined, deoac18 left 05:40 archenoth joined 05:47 freeside joined 05:51 freeside left 06:00 reportable6 left 06:02 reportable6 joined 06:07 freeside joined 06:11 freeside left 06:18 abraxxa joined 06:22 abraxxa left 06:32 abraxxa joined 06:34 freeside joined 06:37 abraxxa left, abraxxa joined 06:39 freeside left 06:44 Sgeo left 06:57 freeside joined 07:23 freeside left 07:29 deoac left 07:35 squashable6 left 07:36 squashable6 joined 07:42 freeside joined 07:50 freeside left 08:02 razetime left 08:03 freeside joined 08:18 razetime joined 08:36 razetime1 joined 08:37 razetime left, razetime1 is now known as razetime 08:44 jpn joined 08:49 jpn left 08:52 sena_kun joined, Manifest0 joined 08:56 dakkar joined 09:01 Manifest0 left, sena_kun left, shareable6 left, tellable6 left, unicodable6 left, jetchisel left, [Coke] left, tbrowder left, Sevalecan left, [Coke] joined, tellable6 joined, tbrowder joined, shareable6 joined, sena_kun joined, jetchisel joined, jetchisel left, jetchisel joined, Manifest0 joined 09:02 Sevalecan joined 09:32 freeside left 09:56 unicodable6 joined 09:59 freeside joined 10:03 freeside left 10:18 pingu left 10:32 sena_kun left
Geth ecosystem/lizmat-remove-sustenance: 65cda08e53 | (Elizabeth Mattijsen)++ | META.list
Remove Sustenance

Because it is providing almost daily updates without ever increasing the version number, causing false positives in updates and etc.
The REA contains an older version of Sustenance, so people will still be able to install it.
10:44
Nemokosch 😂
this was set to happen
Geth ecosystem: lizmat++ created pull request #614:
Remove Sustenance
10:45
10:47 freeside joined 10:52 freeside left 11:08 sena_kun joined 11:25 freeside joined 11:26 lizmat_ joined 11:27 ispyhuma1fly joined 11:28 tobs` joined, gabiruh_ joined 11:30 silug7 joined, freeside_ joined, samebchase5 joined 11:31 bartolin_ joined, sjn_ joined, bdju_ joined 11:32 energizer_ joined 11:33 Ekho- joined 11:34 lizmat_ left, lizmat_ joined, perlmaros_ joined 11:36 Geth left, tinita joined, freeside left, gabiruh left, bdju left, ispyhumanfly left, tinita_ left, silug left, PipStuart left, lizmat left, energizer left, bartolin left, samebchase left, sjn left, goblin left, Ekho left, tobs left, perlmaros left, Geth joined, perlmaros_ is now known as perlmaros, silug7 is now known as silug, tobs` is now known as tobs, samebchase5 is now known as samebchase, lizmat_ left, lizmat joined 11:37 RakuIRCLogger left 11:38 goblin joined 11:39 RakuIRCLogger joined 11:40 kawaii_ is now known as kawaii 11:43 PipStuart joined 12:00 reportable6 left 12:01 reportable6 joined 12:21 sena_kun left, sena_kun joined 13:00 jetchisel left 13:02 bdju_ left 13:03 bdju joined 13:05 freeside_ left 13:06 freeside joined 13:10 freeside left 13:11 jetchisel joined 13:12 freeside joined 13:37 Maylay left 13:48 linkable6 left 13:49 linkable6 joined 13:51 razetime left 13:54 lichtkind joined 14:16 Maylay joined 14:20 sftp left 14:28 codesections joined
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2023/02/13/2023-...ore-class/ 14:42
14:44 sftp joined
[Coke] forgot that samcv contributed to raku-uni module... but not for the unicode, for the license info in the META. :) 14:46
15:22 Sgeo joined 15:27 sjn_ is now known as sjn, PipStuart left 15:29 Xliff joined
Xliff m: sub MAIN (Int $a) { $a.say }; MAIN(-1) 15:29
camelia -1
Usage:
<tmp> <a>
Xliff Is this a bug?
My guess is that it's the "-" character that's tripping things up. 15:30
lizmat m: sub MAIN (Int $a) { $a.say }; MAIN(1) # nope 15:31
camelia 1
Usage:
<tmp> <a>
dakkar MAIN gets called twice
once explicitly, once implicitly at program startup
the 2nd time, it looks at @ARGS, doesn't see anything, and prints the default error message 15:32
`<tmp>` is probably the "filename" inside camelia
Nemokosch m: sub MAIN (Int $a) { $a.say }; @*ARGS=<-1> 15:34
Raku eval Exit code: 2 Usage: main.raku <a>
Nemokosch m: sub MAIN (Int $a) { $a.say }; @*ARGS=<1>
Raku eval 1
Nemokosch pffff
the MAIN sub does need help, that's for sure 15:35
dakkar eh, that's an actual problem, but I don't think it's solvable… `-` introduces a named option
Nemokosch At least the CLI could use multi-pass parsing, couldn't it? 15:36
15:36 razetime joined 15:38 jpn joined 15:44 jpn left
[Coke] unicode v15.0 support is on head, not in a released version, yes? 16:07
m: say Unicode.version
camelia v15.0
[Coke] bisectable6: say Unicode.version 16:08
bisectable6 [Coke], Will bisect the whole range automagically because no endpoints were provided, hang tight
[Coke], Output on all releases: gist.github.com/63b81d062afe6da764...348d606d34
[Coke], Bisecting by exit code (old=2022.12 new=615b9bf). Old exit code: 1
[Coke] looks like, OK. 16:09
bisectable6 [Coke], bisect log: gist.github.com/63aab5557e978f6f80...e0d1a4faa7
[Coke], (2023-02-08) github.com/rakudo/rakudo/commit/db...eb9c156336
[Coke], Output on all releases and bisected commits: gist.github.com/b6089f3bef002660c9...88fea6bc45
16:27 Wanderer left 16:38 razetime left
[Coke] should v2022.12-1130-g3504a4031. have Unicode.version?? 16:42
are rakubrew authors on irc? 16:47
lizmat [Coke] don't think so
added with 2022.12-1156-gdb7ca2dd0 16:48
so 26 commits later
[Coke] reading the note about how apple signing costs 100 USD a year for signing privs, we can surely raise that in donations.
lizmat definitely!
[Coke] ... I swear I just ... AIGH, I was on the complex-sign branch 16:49
lizmat aha! :-)
Xliff <dakkar> eh, that's an actual problem, but I don't think it's solvable… `-` introduces a named option 16:54
dakkar: That shouldn't be a named option. It doesn't start with '--'
And for this point anything matching / '-' \d+/ shouldw be considerd positional. 16:55
dakkar Xliff: 1-letter options get a single dash? I think?
Xliff dakkar: You said it. 1-letter. :)
dakkar `tail -1`, `svn log -3`… there's (ugly) precedent 16:56
[Coke] numeric ones aren't supported by default i think 16:59
needed -3 for cal...
17:06 PipStuart joined 17:12 rf joined 17:24 abraxxa left 17:38 QhpAptyj9hj0RQwM joined 17:39 dakkar left 17:56 ab5tract left 18:00 reportable6 left 18:03 reportable6 joined 18:09 sena_kun left 18:43 sena_kun joined
rf Hmm, i'm trying to use a nqp::elems on an nqp::list and its saying it can't call nqp::elems on type Array 18:47
tellable6 2023-02-13T02:49:35Z #raku <melezhik> rf - yeah, will be much appreciated - ci.sparrowhub.io/donations , I have never tried this - but this should probably work )))
lizmat rf code? 18:49
also: why nqp ops? is the code that hot?
rf I need it to be super fast
One sec i'll pastebin 18:50
m: use nqp; my $name = ''␟a␟'; my @initial-name-parts = nqp::list(|$name.split('␟', :skip-empty)); nqp::elems(@initial-name-parts); 18:51
camelia ===SORRY!=== Error while compiling <tmp>
Bogus postfix
at <tmp>:1
------> use nqp; my $name = ''⏏␟a␟'; my @initial-name-parts = nqp::list
expecting any of:
infix
infix stopper
postfix
rf That's the gist of it
m: use nqp; my $name = ''␟a␟'; my @initial-name-parts = nqp::list(|$name.split('␟', :skip-empty)); nqp::elems(@initial-name-parts);
camelia ===SORRY!=== Error while compiling <tmp>
Bogus postfix
at <tmp>:1
------> use nqp; my $name = ''⏏␟a␟'; my @initial-name-parts = nqp::list
expecting any of:
infix
infix stopper
postfix
rf m: use nqp; my $name = '␟a␟'; my @initial-name-parts = nqp::list(|$name.split('␟', :skip-empty)); nqp::elems(@initial-name-parts);
camelia This type (Array) does not support elems
in block <unit> at <tmp> line 1
rf There.
m: use nqp; my $name = '␟a␟'; my $initial-name-parts = nqp::list(|$name.split('␟', :skip-empty)); nqp::elems($initial-name-parts); 18:52
camelia This type (Scalar) does not support elems
in block <unit> at <tmp> line 1
lizmat that's not a pastebin
anyways, lose the @ make it $initial-name-parts
and use binding
rf pastebin.com/QmgBpwtw here's the func. 18:53
lizmat if you're using nqp::list, you should really always be binding 18:55
but state doesn't allow that :-(
so: state $name-parts = nqp::list(|$name.split('␟', :skip-empty)); 18:56
rf Hmm.
lizmat my $initial-name-parts := nqp::list(|$name.split('␟', :skip-empty));
rf I'll give that a go, thanks liz 18:57
lizmat do you really need it to be a state
rf It would be nice.
Is there a nice alternative without global state? 18:58
(I'm not opposed to global state)
lizmat ok, then you could assign the nqp::list to a state variable
and then bind the deconted list to another variable each time
rf Makes sense.
lizmat so: state $state-parts = nqp::list(|$name.split('␟', :skip-empty));
and then: my $name-parts := nqp::decont($state-parts) 18:59
in general: onlt use $ sigils, or no sigils when working with nqp ops
rf Then if I re-assign the state, do I just use =
lizmat yes, = is the only thing that works on state variables 19:00
now, if you then need the deconted version after that, you would to rebind the deconted version as well again
rf I'll see if I can get it working :D 19:04
19:06 saint- joined
rf How can I compare 2 nqp::lists ? 19:12
is eq correct still?
Nemokosch eq was never correct for that 😛 19:13
19:13 melezhik joined
rf m: [1,2,3,4] eq [1,2,3,4] 19:13
camelia WARNINGS for <tmp>:
Useless use of "eq" in expression "[1,2,3,4] eq [1,2,3,4]" in sink context (line 1)
Nemokosch although stringification might have done the right thing at times
moritz nqp::eq checks if they have the same memory address (so like === in raku), no?
Nemokosch but it was never supposed to be righ
melezhik . 19:14
.tell rf - I fixed your build , please see my comments in PR
tellable6 melezhik, I'll pass your message to rf
rf Thanks melezhik
melezhik Welcome 19:15
19:18 freeside left 19:22 jpn joined 19:23 melezhik left 19:26 pingu joined 19:33 freeside joined, jpn left 19:43 Ekho- is now known as Ekho 19:56 david_ left
[Coke] do raku projects tend to prefer the issue label "good first issue" or "easy to resolve" ? 20:13
raku/doc has both right now for historical reasons, want to remove one.
20:19 archenoth left
shmup i'd just look at the history for either of those "low hanging fruit" to see which dominates 20:35
20:37 jgaz joined, freeside left, jpn joined 20:41 archenoth joined 20:50 freeside joined 20:56 jpn left, freeside left
pingu having some trouble with some shit here 21:21
agh MATHS
[Coke] m: (4+5i).sign 21:22
camelia Cannot convert 4+5i to Real: imaginary part not zero
in block <unit> at <tmp> line 1
[Coke] I thought that got merged.
ohright 21:23
m: use v6.e; dd (4+5i).sign 21:24
camelia ===SORRY!=== Error while compiling <tmp>
Raku v6.e requires PREVIEW modifier
at <tmp>:1
------> use v6.e⏏; dd (4+5i).sign
[Coke] m: use v6.e-PREVIEW; dd (4+5i).sign
camelia ===SORRY!=== Error while compiling <tmp>
Could not find v6 in:
/home/camelia/.raku
/home/camelia/rakudo-m-inst-1/share/perl6/site
/home/camelia/rakudo-m-inst-1/share/perl6/vendor
/home/camelia/rakudo-m-inst-1/share/perl…
21:24 freeside joined
pingu I just wanted to check if the third parameter per line in my file are multiples of 8 21:24
even if they are say 1,9,17,25 rather than 0,8,16,24 21:25
or even 17.44 , 25.44 , 33.44 , 41.44 21:28
21:29 freeside left, Guest8418 joined
pingu ok I might have fixed it 21:32
it was a code structure aka logic problem
thats like the hardest thing in software development
not syntax, not math, logic
ah but now its false triggering 21:36
if I made them not 8 apart
im sick of comma IDE not updating the fucking syntax highlighting 21:45
it makes if white it I miss certain characters but fails to change back all the time if I fix it 21:46
maybe I need to change the autoparse delay in settings 21:47
whatever that is
but it needs to also print how many hits were made, not how many hits - 1 were made 21:49
and it needs to do it in one statement, not like: "found 0 hits""found 1 hits""found 2 hits""found 3 hits""found 4 hits" 21:50
I fixed that by moving the print out of the loop
but now its like I cant for other reasons
pastebin.com/2NX3T48P 21:53
Nemokosch > loop ($i = 0 ; $i < @data_ldr[$i].elems ; $i++) 21:57
this line seems somewhat trippy with the various usages of $i
21:58 freeside joined 22:00 frost left 22:02 freeside left
pingu ill unroll everything 22:03
it wont let me divide by 0 using % 22:04
but % 8 returns nothing
% 0 would check if its a whole number
not if its divisable by 8
(i think) 22:05
Nemokosch nothing is divisible by 0 (apart from arguably 0 itself) 22:06
pingu m: say(0%0 , 8%0 , 16%0 , 24%0);
camelia Attempt to divide by zero using %
in block <unit> at <tmp> line 1
Nemokosch whole number would be divisble by 1
thundergnat I think you mean * % 1
pingu there is no such thing as * % 22:07
22:08 ab5tract joined
pingu if (@data_ldr[0][3] * @data_ldr[0][13] % 1) fails 22:08
thundergnat m: say (1,2,3.5,4.1)>>.&(* % 1) # I beg to differ 22:09
camelia (0 0 0.5 0.1)
pingu well thats different to what you said 22:10
thundergnat ?
It's exactly what I said.
In what way does (@data_ldr[0][3] * @data_ldr[0][13] % 1) fail?
pingu Cannot convert string to number: radix point must be followed by one or more valid digits in '3024.<HERE>dat' (indicated by <HERE>) 22:11
in block <unit> at C:\Users\kris\Desktop\CommaProjects\test\ls.raku line 5
thundergnat What's in @data_ldr[0][3]? What's in @data_ldr[0][31]
*13 22:12
pingu pastebin.com/Dt5w4QK5
thundergnat m: say "1 0 0 0 0 1 0 0 0 1 0 0 0 1 3024.dat".words[3,13] 22:14
camelia (0 1)
thundergnat m: say [*] "1 0 0 0 0 1 0 0 0 1 0 0 0 1 3024.dat".words[3,13]
camelia 0
thundergnat m: say [*] "1 0 0 0 0 1 0 0 0 1 0 0 0 1 3024.dat".words[3,13] % 1 22:15
camelia 0
thundergnat Works for me.
pingu oh wait
I posted the file contents
thundergnat ?
pingu data_ldr is splitting it into tokens 22:16
my $fp = open "data.ldr", :r;
my @data_ldr = $fp.lines>>.words>>.Array;
my $partID = prompt();
22:16 freeside joined, jpn joined
thundergnat m: say "1 0 0 24 0 1 0 0 0 1 0 0 0 1 3024.dat".words[3,13] 22:18
camelia (24 1)
thundergnat m: say [*] "1 0 0 24 0 1 0 0 0 1 0 0 0 1 3024.dat".words[3,13] % 1
camelia 0
22:21 jpn left
thundergnat I can only guess at what in in @data_ldr[0][3] and @data_ldr[0][13]. I assume they are the 4th and 14th elements of each line, but that works when I do that. 22:21
Somehow the contents of @data_ldr[0][3] and @data_ldr[0][13] are not what you think they are. 22:22
pingu 0 3 is 0 and 0 13 is 3024.dat
err 0 14 is 3024 22:23
which is what I have
thundergnat Are you sure? 22:24
.words does not split on decimal point.
pingu yeah im sure 22:27
pastebin.com/WRV8H6XS 22:28
Nemokosch By the way, fun fact: .words breaks on nbsp as well; unlike word quoting :/
pingu I would also need to count the number of matches, because 1 plate is hardly a stacked plate. it must be > 1
I should be able to manage that tho 22:29
doing print(@data_ldr) prints the .dat
thundergnat Well =, according to the error you posed above, there are non-digits after the decimal point... and very suspiciously, your example file has 3024.dat in it, and nothing to separate it out. 22:31
22:32 Guest8418 left
pingu i think I really need: if (@data_ldr[0][3] == @data_ldr[1][3] + 8 || @data_ldr[0][3] == @data_ldr[1][3] - 8) { print("plate is stacked, as paramater 3 is a multiple of 8\n");} 22:33
+ or - 8
and for the next line
8 and 8 is not stacked, they are in exactually the same position which is impossible with real LEGO but LDRAW lets you do it 22:34
0 8 is fine, 8 0 is fine -8 0 is fine 0 -8 is fine
1 9 is fine
-8 8 is not 22:35
thundergnat so the absolute difference is 8? or a multiple of 8? 22:37
No, just 8
pingu ok im sorted 22:39
8 is the height of a lego plate
so per hit is must be n + 8 or n - 8 and not n == 8 22:40
err not n == n
thundergnat m for (0, 8), (8, 0), (-8, 0), (0, -8), (1, 9), (-8, 8) { say "$_, ", so abs(.[0]- .[1]) == 8 } 22:42
m: for (0, 8), (8, 0), (-8, 0), (0, -8), (1, 9), (-8, 8) { say "$_, ", so abs(.[0]- .[1]) == 8 }
camelia 0 8, True
8 0, True
-8 0, True
0 -8, True
1 9, True
-8 8, False
pingu trouble is, now im at the end of my lines so I have nothing to compare line 3 (i.e line 4) with 22:43
so yeah I need a hit counter and tell it if the number of hits is
um
thundergnat Can you .rotor through them? Or are you still trying to write C in Raku. 22:45
pingu well, I will make the unrolled code into a loop soon 22:47
lucs I'm doing 「if $! { note $!.message }」 and when my exception is thrown, it prints "(My message)", but what put those parentheses there? (not me) 22:48
thundergnat You have the size of @data_ldr. Just don't search off the end of it
pingu @data.elems 22:49
thundergnat right
The fact that you are avoiding a lot of the syntactic sugar that Raku provides makes it all much more involved. And I get it, you want ot translate it to C at some point, but... 22:50
*to (Sorry, my typing is horrible today.) 22:51
(Well... every day to be honest.) 22:52
pingu its not about how many lines are in the file though
its about the number of hits
not all lines will match the if statements
the code is meant to find at least 2 stacked 1x1 plates in a file 22:53
its not just that, there is no real tutorial on the syntactic sugar 22:54
theres just code snippets on raku.org
and that doesnt tell me how stuff is working
thundergnat Then you may need to grep out the matching lines into a temporary (or anonymous) array and roror through those.
aigh. *rotor
pingu yes I could do that 22:55
thundergnat What exactly tells you that it is a stack of 1x1 plates?
pingu it will end up being costly having arrays everywhere 22:56
thundergnat Keep in mind that I have no idea what it is you are actually trying to do.
pingu it would be a stack of 1x1 plates if the part ID is 3024.dat and if they are spaced by 8 22:57
line order doesnt matter in ldcad
ldraw*
the conrdinates do
thundergnat If what exactly is spaced by 8? 22:58
pingu part 3024
cause plates are 8 LDRAW units high
or 3.2mm
22:59 sena_kun left
thundergnat What tells you the spacing? parameter 3? parameter 13? 22:59
pingu the C version would handle this way better
rather than hardcoding stuff it would calculate the part sizes based on the sizes of the primatives 23:00
yeah paramater 3 is YPOS
Nemokosch Lucs - Could it be an array?
pingu x y and z dont mean height width length it also depends on where the camera is positioned
height width depth* 23:01
ldraw is not really meant to be used to build stuff, its an output syntax that is somewhat human readable compared to binary
you use a program like LDCAD to build 23:02
lucs Not sure what you mean. I my Exception class I have 「method message { "My message" }」 23:05
Nemokosch I mean the returned thing 23:14
rf lucs can you send your code? 23:16
23:17 freeside left
lucs Yes and no. It's a bit deep. I can try to golf it down, and if things go as usual, that will be enough for me to figure out what's wrong, heh. I was just wondering if someone had an idea for something obvious I might have been missing. 23:18
Nemokosch I've used $! like once in my life and note downright never probably 23:19
lucs Do you handle exceptions 23:20
Nemokosch I don't often get exceptions in the first place but yeah, should the building collapse, CATCH will work well 23:21
lucs (And 'note' is just like 'say', except it prints to STDERR instead.)
ugexe $! isn't thread safe fwiw 23:22
you can do `my $!;` before the code that potentially sets it though
23:22 xinming left
lucs Hmm... My program has no (obvious) concurrency. 23:23
ugexe can it potentially be consumed by a different program that does use concurrency? 23:24
lucs I'll try cutting the code down, to see if it still occurs.
ugexe: I wouldn't think so.
Nemokosch how did thread safety come up in the first place?
23:25 xinming joined
ugexe i just brought it up like 2 minutes ago 23:25
Nemokosch what for? 23:27
ugexe because i felt like it, damn 23:28
23:30 freeside joined
Nemokosch But it isn't related to the actual question at least, right? 23:32
I mean, by confidentally and persistently talking about something unrelated, one can really get the impression that it is related, after all 23:33
23:35 freeside left
sigh... confidently* 23:36
23:37 jgaz left 23:38 Xliff left
lucs Hey, I'm quite okay with ugexe's observations, even though they may have appeared somewhat irrelevant. You never know. 23:38
23:45 lichtkind left
Nemokosch Same thing, it's just it's better to know whether it is actually related in some not-so-obvious way or not 23:46
guifa_ cannot figure out the difference between a Block and a Blockoid 23:48
lucs (Can't help but to think of a blockhead.)
23:58 freeside joined