<< 07-07-2026 >>

00:54:45*zero` quit (Ping timeout: 245 seconds)
01:09:18*zero` joined #nim
01:13:29FromDiscord<11clock> In reply to @determiedmech1 "vscode nimlsp seems to": This? https://github.com/PMunch/nimlsp
01:13:41FromDiscord<DetermiedNim1> yeah
02:33:42*rockcavera quit (Remote host closed the connection)
02:39:20FromDiscord<nervecenter> In reply to @11clock "VS Code: - Enable": I personally use Sublime at work, it has a decent autocomplete for open projects, and its file symbol search is more than good enough. It can only warp to symbol definitions for certain types of symbols but it's not a huge hindrance for me.
02:39:58FromDiscord<nervecenter> I really really wish they had a built-in Terminal instead of me having to install Terminus and set a bind for starting a shell in the project dir.
02:40:20FromDiscord<nervecenter> Terminus is good though.
03:11:33*zero`_ joined #nim
03:12:59*zero` quit (Read error: Connection reset by peer)
03:13:00*zero`__ joined #nim
03:16:43*zero`_ quit (Ping timeout: 272 seconds)
06:33:37*termer quit (Remote host closed the connection)
06:33:58*termer joined #nim
06:41:10FromDiscord<pmunch> sent a code paste, see https://play.nim-lang.org/#pasty=pnFTMlvp
06:53:22FromDiscord<amun0666> hmm, discord text client (discordo) looks pretty nice; even the code pasted is highlighted
06:56:51FromDiscord<amun0666> sent a code paste, see https://play.nim-lang.org/#pasty=BEcxhnto
06:57:35FromDiscord<amun0666> (edit) "https://play.nim-lang.org/#pasty=aonUwHQy" => "https://play.nim-lang.org/#pasty=FSUADiwz"
06:57:57FromDiscord<janakali> it's better than Discord's own mobile app. No code highlighting here 😦
06:58:56FromDiscord<amun0666> https://media.discordapp.net/attachments/371759389889003532/1523946400511950878/image.png?ex=6a4df52f&is=6a4ca3af&hm=dfa04b470133d4e57f270fccd2ad3a52595da6b25ff30b78f2bf6c059db1b4bc&
06:59:23FromDiscord<amun0666> I've to install it in my vpn to be able to run it via tmux session.
07:01:37FromDiscord<amun0666> although long discord image urls are broken into two lines and clicking on the link only uses the first part
07:04:12FromDiscord<pmunch> In reply to @amun0666 "I's properly optimized even": Ah nice!
07:36:34*vival quit (Ping timeout: 245 seconds)
09:40:00*sdothum quit (Remote host closed the connection)
09:42:12*sdothum joined #nim
09:57:00FromDiscord<tempestro> sent a code paste, see https://play.nim-lang.org/#pasty=lbYWlvjv
10:01:26FromDiscord<tempestro> But I don't use `cint` in my own code, I mostly use `int32` and literals (which the language really wants to type as `int`), so constructing every single Rect feels like a puzzle.
10:04:45FromDiscord<griffith1deadly> In reply to @tempestro "So, I'm working with": cint == int32 so you can just use int32?
10:05:27FromDiscord<tempestro> yup, I've got a converter for that
10:07:51FromDiscord<tempestro> Wait, what even is the proper way to construct objects?↵If I go `const black: = Color(0, 0, 0, 255)`, that gives me `Error: attempting to call routine: 'Color'`, and if I go `const black: Color = (0, 0, 0, 255)`, that's a type mismatch
10:08:38FromDiscord<griffith1deadly> Color(r: ..., g: ..., b: ...)
10:08:44FromDiscord<tempestro> oh, right, you have to name them
10:08:49FromDiscord<tempestro> yuck
10:09:18*beholders_eye joined #nim
10:13:35FromDiscord<amun0666> `cint` typically is 32-bit. But technically don't have to.
10:14:12FromDiscord<amun0666> In reply to @tempestro "yuck": `func initColor(r, g, b: int32): Color = […]`
10:15:34FromDiscord<amun0666> (edit) "In reply to @tempestro "yuck": `func initColor(r, g, b: int32): Color = […]`" => "sent a code paste, see https://play.nim-lang.org/#pasty=TtELKDkK"
10:16:17FromDiscord<tempestro> In reply to @amun0666 "`cint` typically is 32-bit.": ackshually, I don't think there exists a platform on which SDL3 would work where this wouldn't be the case 🤓
10:16:39FromDiscord<tempestro> sent a code paste, see https://play.nim-lang.org/#pasty=UcdYZYYB
10:18:12FromDiscord<amun0666> Right. I don't think there are any ILP64 systems alive. 😉
10:18:46FromDiscord<amun0666> Nor there is an SDL3 port for AVRs (16-bit integers). 😉
10:38:50*vival joined #nim
10:43:14FromDiscord<unclechu> sent a long message, see https://pasty.ee/lZBfEzll
10:45:46FromDiscord<amun0666> In reply to @unclechu "https://nim-lang.org/docs/system.html#quit%2Cstring": `stdout` for JS, nimscript, nimvm and standalone. `stderr` for anything else.
10:46:10FromDiscord<unclechu> > λ nim --eval\:'echo 123' 2\>/dev/null↵> ↵> 123
10:46:25FromDiscord<unclechu> Is --eval for nimscript?
10:47:09FromDiscord<amun0666> Mhm.
10:47:24FromDiscord<unclechu> sent a code paste, see https://play.nim-lang.org/#pasty=sXgURMCz
10:47:28FromDiscord<unclechu> It does not say anything about stderr
10:49:17FromDiscord<unclechu> sent a code paste, see https://play.nim-lang.org/#pasty=FYdpptKB
10:51:37FromDiscord<unclechu> sent a code paste, see https://play.nim-lang.org/#pasty=wavTSJEz
10:53:16FromDiscord<tempestro> `let src = addr request.src.toFRect`↵`Error: expression has no address`↵WHAT
10:53:50FromDiscord<tempestro> I escaped from C++land to avoid this exact kind of bullshit
10:54:02FromDiscord<unclechu> sent a code paste, see https://play.nim-lang.org/#pasty=MyfYZEHv
10:54:20FromDiscord<unclechu> In the example I fixed the comment
10:54:41FromDiscord<amun0666> In reply to @tempestro "`let src = addr": Make it var. And keep lifetime.
10:55:00FromDiscord<amun0666> (edit) "keep" => "watch out for"
10:55:37FromDiscord<tempestro> making it var does nothing
10:56:03FromDiscord<tempestro> lemme break it down into individual statements and see what the compiler doesn't like
10:56:17FromDiscord<amun0666> Show more of the code.
10:56:30FromDiscord<gesee37> In reply to @tempestro "lemme break it down": yea that is it
10:56:39FromDiscord<gesee37> data are on the stack
10:57:02FromDiscord<gesee37> no adresse seems normal as it's not yet bounded to a var
10:57:25FromDiscord<amun0666> (edit) removed "of the"
10:57:26FromDiscord<gesee37> so just put the toFRect thing in a var then take the adress
10:59:43FromDiscord<tempestro> got it compiling, whether it does what I want is a different matter.↵Let me think about it for a sec
11:03:08FromDiscord<tempestro> Alright, so, `addr` can only be used on lvalues?
11:03:14FromDiscord<tempestro> Makes sense ig
11:16:26FromDiscord<amun0666> That depends on a type.
11:31:01FromDiscord<DetermiedNim1> In reply to @tempestro "`let src = addr": is toFrect a proc
11:32:07FromDiscord<DetermiedNim1> without the parentheses it's probably giving you a proc value instead of calling it, and procs dont have addresses
11:36:29FromDiscord<amun0666> It calls toFRect it the example.
11:39:54FromDiscord<alipolo17777> hey chat
11:40:01FromDiscord<alipolo17777> does nim support operator overloading?
11:41:14FromDiscord<amun0666> Yes.
11:41:17FromDiscord<tempestro> yup
11:41:27FromDiscord<tempestro> you can even create custom operators
11:42:20FromDiscord<amun0666> Even the ones that bad: https://play.nim-lang.org/#pasty=vwzpUobH
11:58:23FromDiscord<alipolo17777> i know returning an extra error code as an enum like zig or returning the result as a tagged union with result and error values are two alternatives to using exceptions for error handling↵are these common in nim code bases?
11:58:35FromDiscord<pevici> Lass mich dann wissen, was du als Nächstes siehst.
11:58:36FromDiscord<alipolo17777> and are there facilities in std to support these?
12:02:29FromDiscord<amun0666> Not in the batteries (std), but there's https://github.com/arnetheduck/nim-results
12:15:27*beholders_eye quit (Ping timeout: 244 seconds)
12:26:25FromDiscord<DetermiedNim1> In reply to @amun0666 "It calls toFRect it": So wouldnt you just change it to `toFRect()`
12:27:18FromDiscord<DetermiedNim1> In reply to @amun0666 "Even the ones that": 🫩
13:31:07*beholders_eye joined #nim
14:15:08*emery joined #nim
15:18:15*Jhonny2x4 quit (Ping timeout: 252 seconds)
15:19:15*Jhonny2x4 joined #nim
15:30:09*beholders_eye quit (Ping timeout: 241 seconds)
15:32:22*beholders_eye joined #nim
16:12:26*sdothum quit (Remote host closed the connection)
16:14:50*sdothum joined #nim