🦋 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:05 ttyyls left 00:09 ttyyls joined 00:45 jpn joined 00:46 abraxxa-home left 00:50 jpn left 01:01 Manifest0 left 01:23 librasteve_ left 02:04 kylese left, kylese joined 02:08 jpn joined 02:11 haxxelotto joined 02:14 jpn left 03:15 kylese left, kylese joined 03:30 kylese left 03:33 kylese joined 03:57 jpn joined 04:02 jpn left 04:05 itaipu left 04:19 itaipu joined 04:42 issac669 joined 04:44 issac669 left 05:29 jpn joined 05:34 jpn left 06:08 haxxelotto left 06:36 jpn joined 06:42 jpn left 06:57 ky left, ky joined 07:32 jpn joined 07:42 jpn left 08:27 Manifest0 joined 08:38 jpn joined 08:43 jpn left 09:05 sena_kun joined 09:10 Sgeo left 09:28 jpn joined
ab5tract librasteve: you’re definitely onto something 09:29
m: say (<1/200000000000000000000000000> + <1/1>) 09:30
camelia 1
ab5tract Same with a “regular” 1 09:31
09:34 jpn left 09:59 sena_kun left 10:14 andinus left 10:15 andinus joined 10:23 jpn joined 10:29 jpn left 10:40 ecocode_ left 10:44 ecocode joined 11:19 jpn joined 11:24 jpn left 12:16 jpn joined
tbrowder librasteve: i looked closer at the max-mapper spectrum csv test data and didn't see much of a quote test. i was expecting more complex quotes inside quotes using different utf8 quote chars. specifIcally i'm testing for proper pairing and nesting of hex code left-right pairs: x22/x22; x27/x27; x2018/x2019: x201c/x201D 12:17
12:21 jpn left
tbrowder i guess anything i do will be a subset of a gigantic set of csv possibilities so the test set should at least include reasonably common use cases. 12:22
for myself that's address lists, event lists, quick and dirty cost analyses, etc. 12:24
anything much more would send me to libreoffice or Office365 12:26
lizmat Text::CSV has a nice set of strange CSV cases in its test-suite: collected from real life! 12:29
tbrowder btw, i have weaned myself from Windows. the last two things holding me back were (1) a us fed tax program and (2) an office suite and i FreeTax and softmaker.
lizmat: thnx 12:30
FreeTax is cloud/browser based and SoftMake is German, usable on Linux, Mac, and Windows and has a free version. much easier to use than LibreOffice and it has a HUGE pdf manual to boot. plus they actually respond to issues and help requests! 12:33
maybe moritz works there
lizmat moritz is more a sysadmin at work, I believe 12:36
tbrowder and i found a company that provides a Windows desktop via acces on a linux or mac desktop for holdout, espensive things like ArgGis and such. 12:39
13:09 vlad joined 13:12 jpn joined
tbrowder lizmat: do you know name of moritz employer? he couldsoftmaker.com 13:15
lizmat no, I don't
tbrowder softmaker.com looks pretty slick and very techy 13:16
lizmat and even if I would know, I wouldn't mention that on channel without their approval
tbrowder true
you're a good guardian, and i'm so naive 13:17
13:17 jpn left 13:54 jpn joined 13:59 jpn left 14:05 jpn joined
tbrowder re csv, here's my plan: present documented reasonable (practical) test cases and expected results. if none satisfy a user's needs, then they submit an issue with an appropriate test case. it's a text-only csv reader and interrogator, not intended to be an all-purpose csv parser for a million-record binary "csv" file. that niche is filled by tony-o and others 14:07
14:17 abraxxa-home joined 14:33 vlad_ joined 14:37 vlad left 15:02 abraxxa-home left 15:23 sena_kun joined 15:38 vlad_ left 16:02 vlad joined 16:08 vlad_ joined 16:11 vlad_ left, vlad left, vlad joined
thowe everbody going to Vegas? I've never been... I'm, like, 90% gonna grab a ticket. I think I can get a local flight. 16:32
16:34 DarthGandalf left 16:49 vlad_ joined, jpn left 16:53 vlad left 16:56 dustinm` left 17:15 dustinm` joined 17:18 jpn joined 17:48 haxxelotto joined
antononcube @tbrowder Too many US airplanes malfunction lately... 18:17
18:20 Sgeo joined 18:22 vlad__ joined 18:24 MasterDuke joined 18:26 vlad_ left
ab5tract antononcube: I think you meant thowe 18:52
antononcube @thowe Yes, I meant <thowe> . 🙂 18:53
ab5tract I've read about a lot of US *manufactured* airplanes malfunctioning recently, but haven't taken notice of how many happened in the US
antononcube Almost every week some notable 1.3 transportation malfunctions happen in USA. (Trains, ships, airplanes.) 18:54
lizmat as long as you're flying Airbus, you should be ok :-) 18:55
Amtrak has been iffy since as long as I remember
ab5tract I did a few cross-country trips on Amtrak and had a blast. Don't know if I could handle sleeping in my seat nowadays though, I'd have to spring for a sleeper car. 18:59
It's a shame it never gets any funding. The recent high-speed test in Colorado was cool to read about, though I doubt it will be an available option on any Amtrak lines any time soon. 19:01
19:09 jpn left
librasteve tbrowder: congrats on windows freedom (tho I'm a prisoner of Mac) 19:12
ab5tract: right now having Rat as <Int/Int> seems to work OK ... that (as in your example) it appears to "degrade" to Num at sensible points (likely mediated by arithmetic operators) 19:14
m: say <1/200000000000000000000000000>.WHAT 19:16
evalable6 (Rat)
Raku eval (Rat)
19:16 librasteve_ joined
librasteve m: say (<1/200000000000000000000000000> + <1/1>).WHAT 19:16
evalable6 (Num)
Raku eval (Num)
lizmat librasteve docs.raku.org/language/variables#i...T-OVERFLOW 19:17
ab5tract librasteve: it not only downgraded to Num in my example, it non-existed itself :)
librasteve well that very small "Rat" just rounds to zero with Num precision - so that is desired behaviour 19:18
lizmat m: say <1/200000000000000000000000000> 19:19
camelia 0.000000000000000000000000005
lizmat m: say <1/2000000000000000000000000000000>
camelia 0.0000000000000000000000000000005
lizmat m: say <1/2000000000000000000000000000000000>
camelia 0.0000000000000000000000000000000005
lizmat hmmm
m: put <1/2000000000000000000000000000000000>
camelia 0.0000000000000000000000000000000005
lizmat m: put <1/2000000000000000000000000000000000> + 0
camelia 5e-34
librasteve lizmat: but Int is BigInt, so <Int/Int> should never (in theory) degrade to a Num
lizmat librasteve in the setting code it says: 19:21
# XXX: should be Rational[Int, uint]
my class Rat is Cool does Rational[Int, Int] {
apparently there is/was an issue with role parameterization and native ints 19:22
librasteve lizmat: yes ... but the docs say *To prevent the numerator and denominator from becoming pathologically large, the denominator is limited to 64 bit storage. * 19:26
lizmat I guess that's a little white lie: it currently *acts* as if it is limited to 64 bits
but that's really an implementation detail: the FatRat has true Int / Int 19:27
19:27 vlad__ left 19:29 DarthGandalf joined
librasteve so I am not sure (i) what is the current approach to degrading to Num (oh you just said it acts that way --- but per the confusion above it sometimes acts that way [eg when an argument] and sometimes not [eg when a literal]) and (ii) whether its OK to have it coded as <Int/Int> in the light of the warning about pathology. 19:29
lizmat it degrades when an operation is performed on it 19:30
19:30 vlad__ joined
librasteve ok - that matches the various comments / examples 19:30
m: say <1/200000000000000000000000000>.Str 19:31
evalable6 0.000000000000000000000000005
Raku eval 0.000000000000000000000000005
lizmat are maybe more precise: when it finds out when the result of the operation cannot be expressed as Int / uint64
librasteve but this .Str is counter intuitive since there is no such degrading logic applied 19:32
lizmat librasteve stringification is perhaps excluded.... not sure 19:33
librasteve yeah - I am happy with this explanation - thanks ... maybe worth a sentence in the docs imo ... I'll make an issue 19:34
github.com/Raku/doc/issues/4445 19:44
antononcube @librasteve "congrats on windows freedom" -- some sort of an oxymoron here. 19:45
19:45 abraxxa-home joined
librasteve lizmat: just a thought, but I think the comments in the source are misleading and rather than say # XXX: should be Rational[Int, uint], I suggest they are changed to something like implemented as Rational[Int, Int] ... the Rational[Int, uint64] constraint of Rat is applied by arithmetic operators ... anyway that's your bailiwick 19:47
lizmat the XXX is really there to remind me or someone else to look into *why* the uint parameterization doesn't work 19:48
because making it work may have good performance effects :-) 19:49
librasteve ok
anton: two nations divided by a common language 19:50
lizmat librasteve last time I looked at it, is now 6+ years ago, maybe things have changed :-)
19:56 abraxxa-home left
librasteve lizmat: you're the boss 19:57
;] 19:58
20:03 jpn joined 20:06 vlad_ joined 20:09 vlad__ left 20:12 jpn left
thowe I think the planes I usually end up on for those shorter trips out of our local hub are de Havilland, not Boeing. 20:28
Redmond, OR to Las Vegas is a pretty quick hop, I think 20:29
Anyone interested in a possible minor bug report? Probably not, I'm probably just missing something, but if I am it is not obvious to me. 20:31
lizmat thowe: shoot!
thowe OK, so, I wrote a quick and dirty editing script for something at work. We have a device that will dump a text file that can be edited and loaded back in with changes. It exports a text file with CRLF line breaks 20:32
I was using file.IO.lines :!chomp to read it in, spitting most lines back out untouched (with print), and then doing a substitution on others. 20:33
lizmat and suddenly the CRs are gone? 20:34
thowe However, the file was then no longer CRLF line breaks
I had to chomp them and then print with \r\n
lizmat: yeah
what have I failed to understand? 20:35
lizmat docs.raku.org/type/IO/Handle#method_nl-out
thowe on a different note, I want to point out that many of my quick and dirty scripts at work are now done with Raku instead of Perl. Especially when regex is the star. 20:36
lizmat the default for nl-out is "\n"
thowe OK, but I was using print, not put or say 20:37
lizmat print() is basically $*OUT.print and $*OUT is an IO::Handle
thowe so, isn't there a way just to say "spit it out as it was read"? 20:38
I guess what you are saying is I need to set nl-out to "\r\n" 20:39
lizmat well, no: and that's because upon reading a file with \r\n, it becomes a single codepoint synthetic grapheme inside Raku
this gives you the feature in regexes to just say \n and not need to worry about whether it was read from a file with \n \r\n or \r line endinngs 20:40
thowe yeah... "single codepoint synthetic grapheme"... I was gonna say that... 20:41
librasteve i wonder what other languages have grokked that this is a thing
thowe lizmat: thank you. that is certainly an explanation. I'll set nl-out as needed and that should clean it up a bit 20:43
lizmat thowe: re Q&D scripts, good to hear! 20:45
thowe well, I apparently have a habit of playing with things that are just out of my intellectual reach. I really want to understand Cro. I really sort of tok my Perl abilities to the next level when I started diving into Mojolicious, and I am hoping Cro can do the same for me with Raku. 20:49
lizmat note there's also a #cro channel, for very specific Cro questions 20:54
thowe er, I apparently did know that at one point as my convos client is in there, thanks! 20:55
21:20 vlad_ left 21:33 jpn joined 21:37 jpn left 21:57 Manifest0 left 22:55 tjr left
Geth docker: AntonOks++ created pull request #60:
Bump to 2024.03 and change alpine to alpine:latest
23:31 sena_kun left
Xliff Is there a dynamic in raku for the current uid (not username) 23:32
Doh! $*USER.Int
23:44 haxxelotto_ joined 23:45 haxxelotto left 23:51 sena_kun joined
Geth docker: 9d5a052759 | (Anton Oks)++ (committed using GitHub Web editor) | .github/workflows/test-docker-image.yml
test-docker-image.yml: Update actions/checkout to v4 and...

  ... make the "ls" command, which lists the "Rakudo" version directory, more explicit
23:58 librasteve_ left