<< 19-02-2025 >>

00:36:48FromDiscord<Robyn [She/Her]> https://github.com/The-Ticking-Clockwork/NULID/issues/3 huh... this is weird
00:42:30FromDiscord<Robyn [She/Her]> seems like a regression in Nim but unsure
00:49:59*tiorock joined #nim
00:49:59*rockcavera is now known as Guest3285
00:49:59*Guest3285 quit (Killed (tantalum.libera.chat (Nickname regained by services)))
00:49:59*tiorock is now known as rockcavera
00:52:05*tiorock joined #nim
00:52:05*rockcavera is now known as Guest3813
00:52:05*tiorock is now known as rockcavera
00:54:44*Guest3813 quit (Ping timeout: 252 seconds)
01:05:24*rockcavera quit (Remote host closed the connection)
01:08:13FromDiscord<Elegantbeef> `Int128 isnot SomeInteger`
01:08:14FromDiscord<Elegantbeef> Where even is that `encode` declared?
01:12:41FromDiscord<Elegantbeef> https://github.com/The-Ticking-Clockwork/Crockford-Base32-Nim/blob/main/src/crockfordb32.nim#L5-L9 here is your problem
01:15:42FromDiscord<Elegantbeef> Probably want to use `querySettingSeq(lazyPaths)` or just y'know `-d:crockfordb32Nint128`
01:16:40FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "https://github.com/The-Ticking-Clockwork/Crockford-": that worked perfectly fine beforehand, and I tested that it returned true manually (with a comp time echo)
01:16:58FromDiscord<Elegantbeef> Sure, but it's still a bit ugh
01:17:01FromDiscord<Robyn [She/Her]> from my understanding, `when` doesn't create a new scope like `if`
01:17:29FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=GRAFHAVj
01:17:45FromDiscord<Elegantbeef> Like that's practically what you're doing inside a `compiles(...)`
01:18:13FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Probably want to use": i wish Nimble had features like in Cargo, so NULID could just enable that feature
01:18:39FromDiscord<Elegantbeef> If you use query setting it can find `nint128` in the path
01:19:22FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "It shouldn't be a": and why is that an issue? since this condition does return true (`HasNint` evaluates to true), I will use the query setting though, looks cleaner
01:19:30FromDiscord<Robyn [She/Her]> I just think this should work
01:19:36FromDiscord<Elegantbeef> It doesn't return true
01:19:40FromDiscord<Elegantbeef> I just tested it
01:19:47FromDiscord<Robyn [She/Her]> it does in the NULID test
01:20:12FromDiscord<Robyn [She/Her]> because NULID depends on nint128, so crockfordb64 can 'see' it
01:20:42FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=ilSyCdMr
01:21:58FromDiscord<Elegantbeef> The latest nim did seemingly break `import` inside `compiles`, so that is possibly issue worthy
01:28:21FromDiscord<Robyn [She/Her]> ah shit i didn't put it in the correct scope that's why my echo worked
01:28:31FromDiscord<Elegantbeef> Casual
01:28:39FromDiscord<Robyn [She/Her]> 😭
01:41:42*xet7 quit (Remote host closed the connection)
01:43:11*xet7 joined #nim
02:18:15FromDiscord<amadaluzia> bild.png https://media.discordapp.net/attachments/371759389889003532/1341594671411105953/bild.png?ex=67b690e7&is=67b53f67&hm=799df6fc8861ec270755a878deed53fe57b9a1404205a77a5cf5ee5fe99f7da8&
02:19:05FromDiscord<amadaluzia> started reworking my IPC a small bit more, started using generics to remove some boilerplate get workspace, window, whatever code
02:19:32FromDiscord<amadaluzia> may also be compatible with more types i plan to write which is also nice \:)
02:20:27FromDiscord<amadaluzia> \ipc wrapper
02:29:39*beholders_eye quit (Ping timeout: 260 seconds)
02:31:43*xet7 quit (Read error: Connection reset by peer)
02:36:04*xet7 joined #nim
03:57:32*xutaxkamay quit (Ping timeout: 272 seconds)
04:00:03*xutaxkamay joined #nim
04:06:10*xutaxkamay quit (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
04:06:24*xutaxkamay joined #nim
05:32:51*ntat joined #nim
05:33:50FromDiscord<enthus1ast.> In reply to @PMunch_ "I've been thinking about": I have written/in the process of writing one, it already powers a few production sites. But it's not Foss yet because I want to rewrite some parts of it, some parts are quite hacky
05:36:34FromDiscord<enthus1ast.> Maybe i should just opensource it noone cares about my hacky code 🙂
05:39:37FromDiscord<enthus1ast.> Its basically a clone of boltcms in nim
05:41:48FromDiscord<explosiveend> does anybody have any good articles / blogs / videos on learning nim's macro / templating system?
05:42:42FromDiscord<demotomohiro> In reply to @explosiveend "does anybody have any": https://internet-of-tomohiro.pages.dev/nim/faq.en#frequently-asked-questions-about-nim-programming-language-macro
05:43:50FromDiscord<explosiveend> In reply to @demotomohiro "https://internet-of-tomohiro.pages.dev/nim/faq.en#f": ooo links to even more articles, perfect
05:43:50FromDiscord<explosiveend> thanks
05:44:58FromDiscord<lainlaylie> in addition, the macros documentation contains many AST examples↵https://nim-lang.org/docs/macros.html
07:35:42FromDiscord<pmunch> @explosiveend I also wrote this: https://peterme.net/metaprogramming-and-read-and-maintainability-in-nim.html
07:57:54*ntat quit (Quit: Leaving)
08:19:17*alexdaguy joined #nim
09:20:47*gshumway quit (Quit: .)
09:23:05*gshumway joined #nim
09:48:45*gshumway quit (Quit: .)
09:59:05*gshumway joined #nim
10:15:55*beholders_eye joined #nim
11:06:36*Jjp137_ quit (Ping timeout: 268 seconds)
11:06:55*Jjp137_ joined #nim
12:20:01FromDiscord<glisteringlime> right so
12:20:02FromDiscord<glisteringlime> my question is
12:20:06FromDiscord<glisteringlime> why does nim not let you do this https://media.discordapp.net/attachments/371759389889003532/1341746128646836305/image.png?ex=67b71df5&is=67b5cc75&hm=d516872f61c91b6df88fa453cb0572cf7896a4a36c49eec2b569451273259958&
12:20:21FromDiscord<glisteringlime> if it only let you use curly braces as code blocks, i would be the happiest person in the world
12:20:22FromDiscord<glisteringlime> genuinely
12:20:28FromDiscord<glisteringlime> because i hate tab-sensitive syntax
12:21:01FromDiscord<glisteringlime> you have the "block" tag but that's just so stupid because it's less efficient than a simple curly brace pair
12:23:10FromDiscord<nnsee> this again?
12:23:19FromDiscord<solitudesf> mods, inflict mental torment on this guy
12:23:35FromDiscord<glisteringlime> i asked a simple question
12:24:13FromDiscord<zumi.dxy> You could find an older version of Nim that does that 😉
12:24:33FromDiscord<glisteringlime> In reply to @zumi.dxy "You could find an": my question was "why", not "what i can do"
12:24:35Amun-Raglisteringlime: nim does not allow {} by design
12:24:37Amun-Ranext!
12:24:44FromDiscord<nnsee> In reply to @glisteringlime "i asked a simple": simple answer: this is how the language was designed
12:24:49FromDiscord<glisteringlime> In reply to @Amun-Ra "<@324150253370474496>: nim does not": i got that, but why
12:24:54Amun-Ra"by design"
12:24:55FromDiscord<glisteringlime> what's the point
12:25:06FromDiscord<nnsee> what is the point of any language's syntax?
12:25:08FromDiscord<glisteringlime> "by design" says literally nothing↵what justifies this design decision
12:25:18Amun-Raand what was the python devs answer?
12:25:19FromDiscord<solitudesf> it looks better
12:25:31Amun-Rait looks more readable, concise
12:25:41FromDiscord<nnsee> In reply to @glisteringlime ""by design" says literally": design decisions do not have to be objective or have any meaning other than "the dev liked it this way"
12:25:55FromDiscord<nnsee> (edit) "meaning" => "reasoning"
12:26:05Amun-Rait allows writing code with typing less
12:26:10FromDiscord<bosinski2023> In reply to @glisteringlime ""by design" says literally": ok, some speculation - somebody observed Python/CoffeeScript/Scala do it - so lets copy the idea..
12:26:26FromDiscord<glisteringlime> i'm genuinely considering writing a custom nim syntax parser that will turn {} into blocks
12:26:28Amun-Raif it works - it works
12:26:40FromDiscord<solitudesf> do it
12:26:42FromDiscord<glisteringlime> In reply to @Amun-Ra "if it works -": the problem is that editors never handle it correctly
12:26:43FromDiscord<zumi.dxy> the reason why so many programming languages exist is the same reason why humans have preferences :)
12:26:49FromDiscord<planetis_m> In reply to @glisteringlime "because i hate tab-sensitive": using tabs is an error btw
12:27:02FromDiscord<glisteringlime> In reply to @planetis_m "using tabs is an": indentation, whatever
12:27:06FromDiscord<glisteringlime> you press tab to add indentation
12:27:23FromDiscord<glisteringlime> in like 99% of editors they'll convert to spaces
12:27:51FromDiscord<zumi.dxy> In reply to @planetis_m "using tabs is an": at least this one can be worked around
12:28:07FromDiscord<solitudesf> i never add indentation manually, when editing nim
12:28:55FromDiscord<nnsee> In reply to @glisteringlime "why does nim not": if you want a technical reason, as you seem to be really be hung up on _why_, the `a = {}` syntax is already used for something else other than defining procs (that is, defining sets)
12:29:27FromDiscord<glisteringlime> well sure, but then why even use an equals sign for functions/procs
12:30:04FromDiscord<glisteringlime> yet stay on colons for the rest of the various scopes you define
12:30:12FromDiscord<zumi.dxy> In reply to @nnsee "if you want a": same reason why 🅱️ython isn't really possible
12:31:54FromDiscord<nnsee> In reply to @glisteringlime "yet stay on colons": running code inside a block is not the same as defining something - in this case, defining a procedure. defining a procedure does exactly that, it doesn't run any code. using colons would create ambiguity with DSL syntax
12:32:48FromDiscord<solitudesf> In reply to @glisteringlime "well sure, but then": you assign value to symbols with `=`. why shouldn't it use `=`?
12:33:37FromDiscord<glisteringlime> i see, but does nim allow you to define code for any variable?
12:33:48FromDiscord<glisteringlime> because this looks like something exclusive to procs/funcs
12:34:46FromDiscord<glisteringlime> it's just a weird decision to me because if procs aren't variables, why would they use the assignment operator that is for variables
12:34:55FromDiscord<glisteringlime> if procs ARE variables, then I guess it makes sense
12:35:16FromDiscord<solitudesf> types are not variables. why do we `type A = object`?
12:35:21FromDiscord<nnsee> why does it have to be a variable? it's the syntax for defining something, anything
12:35:31FromDiscord<nnsee> defining consts, vars, procs, funcs
12:36:46FromDiscord<glisteringlime> the thing is that you're defining other code inside a proc
12:37:21FromDiscord<glisteringlime> it's weird because I would assume = is for variables
12:37:37FromDiscord<glisteringlime> yet, obviously, I can't really just pull the code from a proc
12:37:51FromDiscord<glisteringlime> it's just a weird token to choose
12:38:24FromDiscord<glisteringlime> that's what it is to me at laest
12:38:27FromDiscord<solitudesf> good thing every other language doesn't have weird things about it
12:38:28FromDiscord<glisteringlime> (edit) "laest" => "least"
12:38:56FromDiscord<glisteringlime> In reply to @solitudesf "good thing every other": You don't have to be sarcastic about it
12:39:28FromDiscord<nnsee> it's also irrelevant, the `{}` syntax for defining sets does not require `=` either, ie `toNum({A})` (random example from the manual)
12:39:48FromDiscord<nnsee> so it would collide with your proposed syntax regardless
12:40:31FromDiscord<glisteringlime> i mean there is this syntax `.{}`
12:40:33FromDiscord<bosinski2023> sent a code paste, see https://play.nim-lang.org/#pasty=tVwlgNcn
12:40:45FromDiscord<nnsee> In reply to @glisteringlime "i mean there is": further proving my point
12:40:59FromDiscord<nnsee> how many colons and curly brackets do you want to stuff into a proc definition
12:41:39FromDiscord<solitudesf> it literally doesn't matter, syntax discussions are late by ~15 years at this point. its not going to change.
12:41:44FromDiscord<glisteringlime> In reply to @nnsee "how many colons and": what it looks like to me is that nim doesn't have clear scoping, unless i'm wrong on that?
12:42:08FromDiscord<glisteringlime> because a block is a scope in most languages, and the syntax is typically curly braces
12:42:38FromDiscord<solitudesf> > nim doesn't have clear scoping↵what does this even mean
12:42:42FromDiscord<glisteringlime> In reply to @solitudesf "it literally doesn't matter,": the problem is, again, pretty much no editor ever handles it correctly
12:43:14FromDiscord<solitudesf> In reply to @glisteringlime "the problem is, again,": im sorry for your editor. it handles fine in mine.
12:43:16FromDiscord<glisteringlime> In reply to @solitudesf "> nim doesn't have": like, does a for loop define its own scope? if so, that would be a block↵↵does a proc define its own scope?
12:43:48FromDiscord<glisteringlime> In reply to @solitudesf "im sorry for your": every single one i've tested handles it wrong↵↵zed, vscode, sublime text, pulsar, etc
12:44:18FromDiscord<solitudesf> In reply to @glisteringlime "like, does a for": yes, obviously.
12:44:45FromDiscord<glisteringlime> In reply to @solitudesf "yes, obviously.": so the token like colon or equals sign has literally no meaning in terms of scope
12:45:17FromDiscord<solitudesf> In reply to @glisteringlime "so the token like": depends
12:45:23FromDiscord<nnsee> In reply to @glisteringlime "because a block is": the syntax in nim is indentation. the language is indentation sensitive. the compiler uses indentation to determine scope. different levels of indentation define blocks. the compiler is perfectly capable of determining where scope begins and where it ends, therefore, the language has "clear scoping". the language does not use curly brackets to indicate scope. i'm not sure how many differen
12:47:00FromDiscord<glisteringlime> sent a code paste, see https://play.nim-lang.org/#pasty=oHqrAtVK
12:47:43FromDiscord<glisteringlime> if it ends at the discard keyword, that's where most editors fail
12:47:47FromDiscord<solitudesf> obiously at indentation, that the entire point
12:48:02FromDiscord<nnsee> In reply to @glisteringlime "well, the problem is,": what? why on earth would it end at discard?
12:48:10FromDiscord<glisteringlime> right, but discard, basically, discards everything below in that scope, correct?
12:48:13FromDiscord<solitudesf> no
12:48:14FromDiscord<nnsee> no???
12:48:15FromDiscord<solitudesf> what?
12:48:22FromDiscord<glisteringlime> that's what I was told earlier in this discord
12:48:24FromDiscord<glisteringlime> that's odd
12:48:36FromDiscord<glisteringlime> is there an equivalent of `pass` from python
12:48:39FromDiscord<solitudesf> show logs
12:49:30FromDiscord<glisteringlime> In reply to @fabric.input_output "it's called `discard`": .
12:50:00FromDiscord<solitudesf> yes, discard does basically the same. what is the issue?
12:50:26FromDiscord<glisteringlime> well, if I put it inside some block, does that end the execution of code past the discard keyword
12:51:00FromDiscord<solitudesf> no. neither does pass.
12:51:04FromDiscord<nnsee> you seem to be really confused about what discord actually does. please refer to the manual https://nim-lang.org/docs/manual.html#statements-and-expressions-discard-statement
12:51:13Amun-Rayou need block and break for that
12:51:15FromDiscord<fabric.input_output> https://media.discordapp.net/attachments/371759389889003532/1341753967818051594/image.png?ex=67b72542&is=67b5d3c2&hm=e5c53c7194c3b066b0bec8484be9e55ee704c74c2645b544f447ffc29b0b0dab&
12:51:35FromDiscord<glisteringlime> wait wait
12:51:50FromDiscord<glisteringlime> why the hell was I always told pass discards everything below it
12:51:53FromDiscord<nnsee> (edit) "discord" => "discard"
12:52:07FromDiscord<glisteringlime> well i learned something
12:52:08FromDiscord<glisteringlime> amazing
12:52:42FromDiscord<fabric.input_output> pass is like a placeholder noop thing
12:52:48FromDiscord<nnsee> exactly the same as discard
12:52:58FromDiscord<nnsee> as an empty discard, that is
12:53:02FromDiscord<fabric.input_output> yeah
12:54:21FromDiscord<nnsee> In reply to @glisteringlime "why the hell was": https://docs.python.org/3/tutorial/controlflow.html#pass-statements
12:54:33FromDiscord<nnsee> as always, rtfm
12:54:43FromDiscord<glisteringlime> https://media.discordapp.net/attachments/371759389889003532/1341754842112196618/image.png?ex=67b72612&is=67b5d492&hm=c3d327258ab7f3295318bfb4ebf1ce7a2df45a1c74b94f08dfd8c4d527913642&
12:54:58FromDiscord<glisteringlime> right so that's unreachable code
12:55:12FromDiscord<glisteringlime> the only problem is, the editor still doesn't handle it the way it should imo, which is exiting the scope
12:55:18FromDiscord<glisteringlime> upon pressing enter on break
12:55:29FromDiscord<glisteringlime> i'll try the same on vscode
12:55:32FromDiscord<solitudesf> because it shouldn't do that.
12:55:50FromDiscord<glisteringlime> In reply to @solitudesf "because it shouldn't do": well why not? nothing you write there will ever be reached
12:56:21FromDiscord<nnsee> works for me on nvim
12:58:49FromDiscord<nnsee> https://asciinema.org/a/ZHFIfZrIIkTzalIhdgWxsKwss
12:58:57FromDiscord<nnsee> so the "no editor" thing is kinda your issue
12:59:27FromDiscord<solitudesf> In reply to @glisteringlime "well why not? nothing": true. fix your editor indentation hooks then. but even if it doesn't work. how is being indentation based worse than braces here?
13:01:36FromDiscord<glisteringlime> In reply to @solitudesf "true. fix your editor": curly braces explicitly define where a scope begins and where it ends in most languages, whereas indentation doesn't end until you dedent, and zed is particularly a PITA because it will go back to the indentation the line above is at, vscode at least handles that part correctly
13:02:31FromDiscord<solitudesf> again you are confusing language scope and whatever editor hurdles you're having
13:02:34FromDiscord<glisteringlime> it also means pasting code in might break stuff because it doesn't always paste with the right indentation
13:02:37FromDiscord<glisteringlime> so you have to reindent it
13:03:11FromDiscord<nnsee> if you're using an editor where pasting code doesn't work right, then you need to change editors...
13:03:27FromDiscord<glisteringlime> well no, it works correctly in both zed and vscode
13:03:43FromDiscord<glisteringlime> nvim you have to manually indent it, or format those lines of code and hope it works correctly
13:03:58FromDiscord<nnsee> i have no idea what you're talking about
13:04:01FromDiscord<bosinski2023> In reply to @glisteringlime "curly braces explicitly define": when your scopes grow high - it might help to use 'vertical lines' to support your vision. Sublime has a plugin for that, VS-Code as well.
13:04:08FromDiscord<nnsee> i've never had to "manually indent" lines when pasting anything
13:04:28FromDiscord<glisteringlime> odd
13:04:33FromDiscord<glisteringlime> i've had to do that many times for some reason
13:04:42FromDiscord<zumi.dxy> In reply to @nnsee "i've never had to": had to do that with zed because it keeps fucking up :(
13:04:48FromDiscord<zumi.dxy> other editors, no
13:04:52FromDiscord<nnsee> zed just sounds half-baked then
13:05:04FromDiscord<glisteringlime> In reply to @nnsee "zed just sounds half-baked": not on zed, but on nvim i did have to do that many times
13:05:09FromDiscord<glisteringlime> (edit) "did" => "do"
13:05:23FromDiscord<zumi.dxy> https://media.discordapp.net/attachments/371759389889003532/1341757526349451315/simplescreenrecorder-2025-02-14_22.13.51.mp4?ex=67b72892&is=67b5d712&hm=ca3df29ec841f5013b86f1ce06c9de5e3887929a1a42f15a0078f5b08f33fad1&
13:05:41FromDiscord<zumi.dxy> i mean, it's logical but that's not what I meant
13:05:49FromDiscord<zumi.dxy> (edit) "what" => "the indentation"
13:05:51FromDiscord<nnsee> In reply to @zumi.dxy "": yeah, i would hate if my editor did that
13:05:52FromDiscord<nnsee> like no thank you
13:06:08FromDiscord<zumi.dxy> that's pretty much the only con of indent-based syntax i can see
13:06:16FromDiscord<zumi.dxy> other than that it barely matters
13:06:29FromDiscord<glisteringlime> for functionality, it has next to no meaning
13:06:35FromDiscord<glisteringlime> and it makes it easier to read
13:06:44FromDiscord<zumi.dxy> with C and go I can just be lazy and let autoformat do its thing
13:06:45FromDiscord<nnsee> oh, vim has that option too
13:06:50FromDiscord<glisteringlime> you also don't get the problem of missing a bracket or something
13:06:51FromDiscord<nnsee> `set paste` and `set nopaste`
13:06:55FromDiscord<nnsee> does exactly what your video shows
13:06:58FromDiscord<nnsee> but... why
13:07:02FromDiscord<nnsee> preferences, i guess
13:08:23FromDiscord<glisteringlime> actually, there is ONE thing I haven't tried
13:08:25FromDiscord<glisteringlime> one sec
13:11:45FromDiscord<glisteringlime> yeah I don't think there's an easy option for pasting
13:12:14FromDiscord<glisteringlime> or any indentation stuffs
13:23:08FromDiscord<fabric.input_output> In reply to @zumi.dxy "": is that neovim?
13:23:23FromDiscord<nnsee> zed, as far as i understood
13:23:59FromDiscord<fabric.input_output> didn't zed go down the ai integration editor part instead of the configurable, usable editor one?
13:24:05FromDiscord<fabric.input_output> (edit) "part" => "path"
13:33:03FromDiscord<glisteringlime> In reply to @fabric.input_output "didn't zed go down": it's both
13:33:13FromDiscord<glisteringlime> it's becoming extremely configurable as it goes
13:33:28FromDiscord<glisteringlime> and it also has AI integration that works pretty well
13:33:38FromDiscord<glisteringlime> and AI is optional btw, they don't force it on you
13:33:56FromDiscord<glisteringlime> you can even use your own local models
13:34:26FromDiscord<glisteringlime> and the whole thing, including the server-side, is entirely open-source
13:35:47FromDiscord<glisteringlime> main thing about it for me is how ridiculously fast it is
13:36:08FromDiscord<glisteringlime> and collaboration works flawlessly, it's not like liveshare where it breaks every 5 seconds because of some weird desync
13:36:58FromDiscord<xtrayambak> Has anyone gotten Nim compiling with Bionic before?
13:37:04FromDiscord<xtrayambak> (edit) "Has anyone gotten Nim compiling with Bionic ... before?" added "libc"
13:40:33FromDiscord<nnsee> In reply to @glisteringlime "it's becoming extremely configurable": extremely configurable except you can't disable the autoindent behaviour and pasting code is broken?
13:41:24FromDiscord<nnsee> In reply to @glisteringlime "and collaboration works flawlessly,": i would never want to collaborate in real-time on code. ew, please stay away from my editor. we invented version control for a reason
13:41:39FromDiscord<zumi.dxy> come on, it's multiplayer notepad 😏
13:47:49FromDiscord<glisteringlime> In reply to @nnsee "extremely configurable except you": it's an extension that is borked
13:48:34FromDiscord<glisteringlime> In reply to @nnsee "i would never want": version control is nice and it's the proper way to do things, but sometimes it's really nice collabing live on some code
13:49:00FromDiscord<glisteringlime> especially if it's not something that is supposed to be public code hosted on a git repo
13:50:20FromDiscord<glisteringlime> you don't have to use any of the collab features either
13:50:39FromDiscord<glisteringlime> all of these features stay out of your way when you don't need them
14:03:11FromDiscord<nnsee> In reply to @glisteringlime "you don't have to": sure, but my not using those features doesn't change the fact that the editor's devs' priorities seem to be absolutely misaligned and even orthogonal to what i'm looking for in an editor
14:03:45FromDiscord<nnsee> and i'd be really surprised if the indentation logic is provided by the plugin, not the editor itself. i'm assuming the editor already has logic for indentation
14:04:44*alexdaguy quit (Quit: WeeChat 4.5.1)
14:38:25FromDiscord<explosiveend> In reply to @glisteringlime "and collaboration works flawlessly,": i’d second this, collab on zed >> collab on vs
14:38:49FromDiscord<explosiveend> only used it a couple of times but nice to have when u want it
14:39:06*ntat joined #nim
14:39:22FromDiscord<explosiveend> In reply to @pmunch "<@233754003605946368> I also wrote": neat i’ll check this out too thanks
14:43:31FromDiscord<odexine> oh the zed guy is back
14:44:21FromDiscord<odexine> well was i assume
14:46:28FromDiscord<antomfdez> there is some HeapAlloc but for linux api?
14:50:22FromDiscord<nnsee> In reply to @antomfdez "there is some HeapAlloc": malloc?
14:50:54FromDiscord<nnsee> i don't know why you would use HeapAlloc over malloc over windows either
14:50:59FromDiscord<nnsee> (edit) "over" => "on"
14:54:06FromDiscord<antomfdez> yeah i dont know im so used to allocate my shellcodes with HeapAlloc
14:54:19FromDiscord<antomfdez> but yeah maybe malloc is better
14:56:16FromDiscord<antomfdez> @nnsee nothing weird i just test small antivirus for small business
14:56:51FromDiscord<odexine> 🤔
14:57:26FromDiscord<nnsee> In reply to @antomfdez "<@961485620075720734> nothing weird i": probably the wrong person to try and bs about this :)
14:59:48FromDiscord<antomfdez> its my job 😭 people always scared
15:06:40FromDiscord<fabric.input_output> you don't have to mention anything beyond the bare minimum technical intentions
15:07:11FromDiscord<nnsee> In reply to @antomfdez "its my job 😭": hey man, i work in offensive cybersec, i'm not judging
15:07:27FromDiscord<nnsee> but yeah, as fabricio said, we'd probably rather not know :)
15:07:41FromDiscord<antomfdez> its fine
15:09:56FromDiscord<nnsee> In reply to @antomfdez "its fine": are you not a "computer technician"?
15:10:47FromDiscord<nnsee> (edit) "technician"?" => "technician" apprentice?"
15:10:59FromDiscord<nnsee> kind of a weird position to be testing AV in
15:21:57FromDiscord<antomfdez> In reply to @nnsee "are you not a": not now
15:22:14FromDiscord<antomfdez> i mean my linkedin stil outdated
17:39:56FromDiscord<Robyn [She/Her]> How exactly would I check if Nim is installed in the Nimble dir with compilesettings?
17:40:25FromDiscord<Robyn [She/Her]> When running without nimble, the `nimblePaths` is empty, and `searchPaths` only includes the stdlib paths
17:40:49FromDiscord<Robyn [She/Her]> Ah, lazy paths worked
17:42:13FromDiscord<nebulousiris> Have any of you managed to setup NimLangServer for zed?
17:46:10FromDiscord<Robyn [She/Her]> Ugh optional dependencies are a pain...
17:46:22FromDiscord<Robyn [She/Her]> Define flag it is
18:06:09*coldfeet joined #nim
18:25:48FromDiscord<fl4shk> I guess I'd better learn file I/O in Nim
18:25:57FromDiscord<fl4shk> (edit) "I guess I'd better learn file I/O in Nim ... " added "for something I'm doing"
18:28:56FromDiscord<fl4shk> Need to translate my voxel 3D model's vertices
18:29:10FromDiscord<fl4shk> into an initialization for an FPGA block RAM
18:31:01*coldfeet quit (Quit: Lost terminal)
19:17:40FromDiscord<monkey085395> sent a code paste, see https://play.nim-lang.org/#pasty=OzLntgTc
19:24:10FromDiscord<amadaluzia> For any library devs, would you let the end user handle a JSON parsing error or do you handle it yourself?
19:24:24FromDiscord<amadaluzia> sent a code paste, see https://play.nim-lang.org/#pasty=brMODuMU
19:27:49FromDiscord<monkey085395> @pmunch hello, can you help me sign up for the forums?
19:32:23FromDiscord<pmunch> In reply to @monkey085395 "<@392962235737047041> hello, can you": Sure, just PM me your email address and preferred username
19:32:46FromDiscord<pmunch> I'm out clearing snow ATM though, so give me a while
19:36:19FromDiscord<monkey085395> sent a code paste, see https://play.nim-lang.org/#pasty=IMYSzRMb
19:41:45*ntat quit (Quit: Leaving)
19:59:53FromDiscord<lainlaylie> In reply to @amadaluzia "For any library devs,": let the user handle it, and definitely don't print anything
20:00:05FromDiscord<Elegantbeef> amadaluzia that's up to you, either way the user is going to have to have a check
20:56:45FromDiscord<.bobbbob> you can throw a new exception with any string info you want contained in it
22:15:21*fallback quit (Ping timeout: 246 seconds)
22:16:00*rockcavera joined #nim
22:36:06FromDiscord<glisteringlime> here I was hating nim
22:36:41FromDiscord<glisteringlime> here I am now, still hating nim, yet attempting to write an entire C to C3 transpiler in it
22:46:39*fallback joined #nim
22:55:16*tiorock joined #nim
22:55:16*rockcavera is now known as Guest3291
22:55:16*tiorock is now known as rockcavera
22:56:22FromDiscord<glisteringlime> also, one thing I really hate with indentation-sensitivity↵↵if you paste some code in or you mess up indentation in some way, you're basically screwed
22:56:35FromDiscord<glisteringlime> you have to now go through the entire thing, trying to fix up the indentation, hoping it'll work correctly
22:56:53FromDiscord<glisteringlime> because there is no one single way that editors handle it
22:57:20FromDiscord<glisteringlime> this is literally something i'm encountering as I speak
22:57:26*tiorock joined #nim
22:57:26*rockcavera is now known as Guest2072
22:57:26*Guest2072 quit (Killed (platinum.libera.chat (Nickname regained by services)))
22:57:26*tiorock is now known as rockcavera
22:57:41FromDiscord<fabric.input_output> why did your indentation break
22:57:54FromDiscord<glisteringlime> because the code used different tabulation
22:57:57FromDiscord<glisteringlime> and the whole thing imploded
22:58:13FromDiscord<fabric.input_output> you using tabs?
22:58:18FromDiscord<glisteringlime> ..spaces
22:58:22FromDiscord<glisteringlime> it's called tabulation
22:58:25FromDiscord<fabric.input_output> or different indent size
22:58:28FromDiscord<glisteringlime> indent size
22:58:55FromDiscord<glisteringlime> it's hell right now because it is literally impossible to tell what belongs where
22:59:00FromDiscord<fabric.input_output> honestly super ez to change it in vim/neovim
22:59:09*Guest3291 quit (Ping timeout: 252 seconds)
22:59:14FromDiscord<glisteringlime> yeah, but when you paste it in, it explodes in most editors
22:59:19FromDiscord<fabric.input_output> paste somewhere, change indentation size, then move it where you intended it to be
22:59:33FromDiscord<glisteringlime> it's easy to fix in languages where there's no indentation sensitivity
22:59:39FromDiscord<glisteringlime> you just format it, and it's done
22:59:47FromDiscord<fabric.input_output> stop using nim then
22:59:53FromDiscord<fabric.input_output> if you don't like indentation
23:00:06FromDiscord<glisteringlime> In reply to @fabric.input_output "if you don't like": the problem is that I have to use langs which have this specific issue
23:00:13FromDiscord<glisteringlime> i have no other option
23:00:25FromDiscord<glisteringlime> i'm only using nim to try and learn it because i will quite probably need it
23:00:28FromDiscord<glisteringlime> python i'm required to use
23:00:32FromDiscord<glisteringlime> i have no option there
23:00:49FromDiscord<fabric.input_output> better find ways to deal with your problem than complain in the nim discord server's main channel then
23:00:58FromDiscord<glisteringlime> well, there aren't any
23:01:08FromDiscord<glisteringlime> and probably won't be, because indentation never works properly anywhere
23:01:11FromDiscord<glisteringlime> even discord handles it incorrectly
23:01:14FromDiscord<fabric.input_output> skill issue, I just gave you an option. the rest is editor misconfiguration
23:01:26FromDiscord<Robyn [She/Her]> In reply to @monkey085395 "hello, is there any": No but `type` is discouraged so you should use `typeof`
23:01:45FromDiscord<fabric.input_output> typedesc
23:01:48FromDiscord<Robyn [She/Her]> `type` is just a remnant of older Nim, functionally there's no difference, buuut
23:02:00FromDiscord<Robyn [She/Her]> In reply to @fabric.input_output "*typedesc": `type` < `typeof` < `typedesc`
23:02:03FromDiscord<glisteringlime> In reply to @fabric.input_output "skill issue, I just": i'm not switching my editor over a language
23:02:16FromDiscord<glisteringlime> heck, vscode doesn't even appear to work correctly and there's like 5 different non-functional extensions
23:02:20FromDiscord<glisteringlime> (edit) "heck, vscode doesn't even appear to work correctly ... and" added "with nim"
23:02:41FromDiscord<fabric.input_output> tooling issue, take it with the tools
23:02:49FromDiscord<glisteringlime> zed kind-of works, but because of auto-indentation stuff it breaks everything
23:02:55FromDiscord<fabric.input_output> In reply to @battery.acid.bubblegum "`type` < `typeof` <": ? typeof(int)?
23:02:56FromDiscord<Robyn [She/Her]> In reply to @glisteringlime "you have to now": that is a con of whitespace languages but i can deal with it, tbh
23:03:16FromDiscord<glisteringlime> In reply to @fabric.input_output "tooling issue, take it": imo it's a language design issue, because this is literally a known problem and has existed for years
23:03:23FromDiscord<Robyn [She/Her]> In reply to @fabric.input_output "? typeof(int)?": it'd return typedesc[int] so it's a shortcut still :p
23:03:41FromDiscord<fabric.input_output> In reply to @battery.acid.bubblegum "it'd return typedesc[int] so": 🤯
23:03:54FromDiscord<fabric.input_output> better to use the typedesc still imo
23:04:06FromDiscord<fabric.input_output> In reply to @glisteringlime "imo it's a language": it's your editor's issue
23:04:08FromDiscord<glisteringlime> also i think the LSP isn't even working correctly
23:04:27FromDiscord<fabric.input_output> yeah nim tooling kinda lacks but what you gonna do tbh
23:04:32FromDiscord<glisteringlime> https://media.discordapp.net/attachments/371759389889003532/1341908305303568484/image.png?ex=67b7b4ff&is=67b6637f&hm=7deffbea836990e84fa6b26cd7802c6ca043bcd63a44e3f67c524aea3bb7cb90&
23:04:36FromDiscord<Robyn [She/Her]> In reply to @fabric.input_output "better to use the": yeah i agree
23:05:47FromDiscord<glisteringlime> In reply to @fabric.input_output "it's your editor's issue": well, that would mean 99% of editors handle whitespace-sensitive langs incorrectly or in weird ways, and they have zero convention on how to actually handle them
23:06:30FromDiscord<fabric.input_output> are 99% of editors in the room with us right now?
23:07:01FromDiscord<glisteringlime> in a perfect world, things would just work and then whitespace-sensitive langs would be great
23:07:13FromDiscord<glisteringlime> except we don't live in that world, and nothing ever works properly
23:07:15FromDiscord<fabric.input_output> any self respecting configurable editor can be (easily) tweaked to handle indent correctly
23:07:26FromDiscord<glisteringlime> In reply to @fabric.input_output "any self respecting configurable": I can disable auto-indent
23:07:41FromDiscord<glisteringlime> to prevent it from imploding
23:07:53FromDiscord<fabric.input_output> make the editor temporarily disable auto indent when pasting
23:07:53FromDiscord<glisteringlime> but then it's pain to re-indent the code correctly
23:08:19FromDiscord<fabric.input_output> make a command that disables, pastes and enables
23:08:44FromDiscord<fabric.input_output> why are you pasting so much damn code anyways
23:08:52FromDiscord<fabric.input_output> maybe preprocess the source
23:09:01FromDiscord<glisteringlime> quite honestly I came into this thinking nim will work but the LSP is breaking on me so I might have to use something else ;-;
23:09:28FromDiscord<fabric.input_output> wouldn't hurt taking the lsp issues to #tooling and specifying your exact issue
23:09:44FromDiscord<glisteringlime> In reply to @fabric.input_output "wouldn't hurt taking the": to be quite honest, I have zero idea of what the actual issue is
23:09:54FromDiscord<glisteringlime> all i can say is that it's incredibly, incredibly broken
23:09:59FromDiscord<fabric.input_output> just describe what is happening
23:09:59FromDiscord<glisteringlime> i don't even know how broken
23:10:06FromDiscord<fabric.input_output> maybe you're using the wrong one or some old version
23:10:29FromDiscord<glisteringlime> i'm pretty sure i'm using pretty much the newest version
23:10:35FromDiscord<glisteringlime> as this is a relatively recent install of nim
23:10:47FromDiscord<fabric.input_output> how did you install it?
23:12:01FromDiscord<glisteringlime> via choosenim
23:14:46FromDiscord<fabric.input_output> again, doesn't hurt taking it up to #tooling and trying to give as much information about your issue. maybe try the lsp with another editor to see if it makes a difference or yields more information
23:15:29FromDiscord<glisteringlime> honestly the only thing that actually works is nvim
23:15:30FromDiscord<glisteringlime> that's it
23:15:44FromDiscord<glisteringlime> every other editor I've tried does not function correctly with nim at all
23:16:47FromDiscord<glisteringlime> well, zed kind-of does, but again, there are indentation issues (just like there are with any whitespace-sensitive lang)
23:47:10FromDiscord<emanresu3> I'd rethrow the exception