00:00:55 | * | Maksimilan_ joined #nim |
00:04:30 | * | Maksimilan quit (Ping timeout: 245 seconds) |
00:44:20 | * | def- quit (Quit: -) |
00:45:44 | * | def- joined #nim |
00:48:54 | * | def- quit (Client Quit) |
00:49:10 | * | def- joined #nim |
00:59:37 | * | lucasta quit (Quit: Leaving) |
01:01:55 | * | Maksimilan_ quit (Quit: Leaving) |
01:35:22 | * | xet7 quit (Remote host closed the connection) |
01:38:06 | * | xet7 joined #nim |
02:36:06 | * | krux02_ quit (Remote host closed the connection) |
04:56:04 | FromDiscord | <pmunch> It could also be that your Xresources is set up incorrectly |
05:13:32 | * | jkl quit (Quit: Gone.) |
05:15:18 | * | jkl joined #nim |
06:21:44 | PMunch | Is there a name demangler somewhere? Basically a way of turning something like _ZN8strutils9toHexImplE6uInt6425range192233720368547758074bool into something more readable |
06:22:32 | FromDiscord | <Elegantbeef> Devel uses a different mangling sequence |
06:22:46 | FromDiscord | <Elegantbeef> With `--debugger:native` |
06:22:54 | PMunch | Really? |
06:22:58 | FromDiscord | <Elegantbeef> Aside from that nope |
06:23:13 | FromDiscord | <Elegantbeef> Yea it now uses itanium mangling |
06:23:17 | PMunch | That sample was compiled with `--debugger:native` |
06:23:28 | FromDiscord | <Elegantbeef> On devel? |
06:23:36 | PMunch | Nah 2.0.4 |
06:23:49 | PMunch | Just a sec, I'll try devel |
06:24:09 | FromDiscord | <Elegantbeef> Itanium will be much easier to get to readable |
06:24:10 | * | ntat joined #nim |
06:24:26 | PMunch | Hmm, looks exactly the same.. |
06:24:44 | PMunch | `000000000000b36d t _ZN8strutils9toHexImplE6uInt6425range192233720368547758074bool /home/peter/.choosenim/toolchains/nim-#devel/lib/pure/strutils.nim:976` |
06:24:50 | FromDiscord | <Elegantbeef> Wait that is itanium'd 😄 |
06:24:51 | PMunch | Output from `nm` |
06:24:57 | PMunch | Haha :P |
06:25:04 | FromDiscord | <Elegantbeef> `_Z` is the itanium prefix |
06:25:19 | FromDiscord | <Elegantbeef> it's then encoded internally for everything |
06:25:25 | FromDiscord | <Elegantbeef> 8 - strutils |
06:25:39 | FromDiscord | <Elegantbeef> 9 - toHexImpl |
06:25:40 | FromDiscord | <Elegantbeef> E ends that list |
06:26:32 | PMunch | Sweet! `nm --demangle=auto` was able to demangle it for me :) |
06:26:35 | PMunch | 000000000000b36d t strutils::toHexImpl(uInt64, range19223372036854775807, bool) /home/peter/.choosenim/toolchains/nim-#devel/lib/pure/strutils.nim:976 |
06:26:58 | PMunch | To C++ syntax, but for debugging purposes that's fine |
06:27:03 | FromDiscord | <Elegantbeef> Yep that's the benefit of using itanium it's commonly supported |
06:27:19 | FromDiscord | <Elegantbeef> A lot of tooling also picks that up so you get `T<...>` |
06:29:31 | PMunch | I guess we could try to get `--demangle=nim` support into nm |
06:29:41 | PMunch | It already has dlang and rust |
06:29:51 | PMunch | Along with Java and Gnat, whatever that is |
06:30:57 | FromDiscord | <Elegantbeef> It has a `--plugin` api |
06:31:10 | PMunch | Is bacon a big issue with ORC? `system::collectCyclesBacon(var<system::GcEnv>, int)` |
06:31:25 | PMunch | Oh right, that would probably make more sense |
06:31:54 | FromDiscord | <Elegantbeef> https://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon01Concurrent.pdf seems it's in reference to that |
06:31:58 | FromDiscord | <Elegantbeef> But that is a dead link |
06:32:46 | FromDiscord | <Elegantbeef> https://github.com/sendilkumarn/gopurerc/blob/master/papers/Bacon01Concurrent.pdf ah a whitepaper |
06:32:48 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=FBLPRnwxoTwB |
06:33:12 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#pasty=UYaBYbCzWKav" => "https://play.nim-lang.org/#pasty=OcbKLkZIoxsr" |
06:33:53 | PMunch | Haha, yeah I assumed it was a last name |
06:34:30 | PMunch | Was that a question @sOkam? |
06:34:55 | FromDiscord | <sOkam! 🫐> I was wondering if this would be a `--thing` switch you would be willing to add, since I already hit this problem a few times |
06:35:12 | PMunch | `--thing`? |
06:35:22 | FromDiscord | <sOkam! 🫐> `-d:unsafeProcs:on`, and friends |
06:35:28 | FromDiscord | <sOkam! 🫐> (edit) "`-d:unsafeProcs:on`," => "`-d:unsafeProcNames:on`," |
06:35:39 | PMunch | It'd probably mess up more things than you'd think |
06:36:09 | PMunch | I assume you're talking about the issue you created yesterday? |
06:36:14 | FromDiscord | <sOkam! 🫐> yes |
06:36:53 | PMunch | The way to properly fix that is to move away from `usedNames` to a better mechanism which would check actual collisions |
06:37:20 | PMunch | Would be a tricky choice though |
06:37:26 | PMunch | Or rather a tricky refactor |
06:38:03 | FromDiscord | <sOkam! 🫐> i just don't want to add so much work on you and never get something usable, even if hacky and opt-in |
06:38:17 | FromDiscord | <sOkam! 🫐> I would rather have a simple fix that does the thing 🤷♂️ |
06:38:35 | PMunch | Well it does something, but quite possibly not what you want it to |
06:39:31 | PMunch | Sure it would give you overloaded names, but it would also break if two things happened to actually collide |
06:39:52 | PMunch | The risk of which is far greater since we're going to a smaller space of names |
06:40:22 | FromDiscord | <sOkam! 🫐> hence the `-d:unsafe` part of the name |
06:41:02 | PMunch | But feel free to mess about with sanitizeName and see if you get anything working, if you actually end up with something useful I could always merge it |
06:41:34 | FromDiscord | <sOkam! 🫐> is sanitizeName called for each kind separately? or is it called globally independent of kind?↵I was wondering how to set it up to have separate unsafeKind definitions 🤔 |
06:45:20 | PMunch | Not sure what you mean by that |
06:50:15 | FromDiscord | <nnsee> In reply to @PMunch "Along with Java and": isn't gnat that Ada compiler? |
06:51:05 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=ITKhFpFWFUPe |
06:51:56 | FromDiscord | <Elegantbeef> Horizontal aligned code in my Nordic C auto wrapper?! |
06:52:27 | FromDiscord | <Elegantbeef> That meme of "Christian server" just seemed to fit |
06:56:32 | FromDiscord | <sOkam! 🫐> @pmunch sorry for so many pings today↵The other calls seem to be specific per node kind, but I can't seem to understand this one↵What is this one doing exactly? What context is this for? 🤔↵https://github.com/PMunch/futhark/blob/c10283315f99bc7fe276469050ada9dccb340575/src/futhark.nim#L792-L795 |
06:59:40 | PMunch | That populates the name cache |
07:00:23 | PMunch | Or the "renamed" table more specifically |
07:00:51 | PMunch | Further calls to `sanitizeName` for the same name will just be a lookup in that table |
07:02:02 | PMunch | It's done that way to give precedence to first level items |
07:03:26 | * | rockcavera quit (Remote host closed the connection) |
07:21:02 | FromDiscord | <sOkam! 🫐> you would have to correct these changes, as they are the most hacked possible... but hey, it works! https://media.discordapp.net/attachments/371759389889003532/1234404057725145088/image.png?ex=66309bdd&is=662f4a5d&hm=24b8b440af01aacdc4b1ecfdecde7d2c7a43682861835a1213248774d90d146f& |
07:28:03 | FromDiscord | <sOkam! 🫐> is there a way to change the formatting options of `NimNode.repr`, just like you'd do with `nimpretty ...`? |
07:55:44 | PMunch | Not AFAIk |
08:02:58 | PMunch | Uhm, what's the deal with `UnsafeToplevelName_TODO` |
08:03:06 | PMunch | And your formatting is cursed as always.. |
08:05:02 | PMunch | You should be able to just look at the `kind` field to determine which of the consts you need to look at |
08:05:36 | PMunch | That way you don't have to add an extra parameter to every `sanitizeName` call to redundantly pass that information. |
08:06:56 | PMunch | Apart from that it looks fine :) |
08:07:55 | FromDiscord | <Robyn [She/Her]> In reply to @PMunch "And your formatting is": XD |
08:08:13 | FromDiscord | <sOkam! 🫐> In reply to @PMunch "Uhm, what's the deal": I asked you about it, because I don't understand it |
08:08:27 | FromDiscord | <sOkam! 🫐> so its "TODO" until the issue is untangled |
08:08:57 | PMunch | Well it's using the `JsonNode` overload, so if you go with the path of looking at those `kind` strings instead of passing an extra argument it solves itself :) |
08:09:12 | FromDiscord | <sOkam! 🫐> In reply to @PMunch "That way you don't": yeah I was also thinking about that option, but since I don't know all of the kinds, I hacked it this way for now |
08:09:27 | PMunch | Those kinds should really be an enum.. |
08:09:37 | FromDiscord | <sOkam! 🫐> if it would have been an enum, then it would be clearer, yeah |
08:10:36 | * | beholders_eye joined #nim |
08:10:37 | PMunch | I'm also starting to think that maybe it should create all the definitions first, then figure out names afterwards. That way this kind of stuff (and the casing stuff you brought up last time) would be a lot easier to deal with |
08:17:19 | FromDiscord | <madonuko> is there some sort of "spread" operator |
08:17:26 | PMunch | Nope |
08:17:32 | FromDiscord | <madonuko> I have like |
08:17:41 | FromDiscord | <madonuko> a seq of nnkOfBranch |
08:17:52 | FromDiscord | <madonuko> and I want to add it to nnkRecCase() |
08:17:56 | FromDiscord | <madonuko> (edit) "nnkRecCase()" => "nnkRecCase.newTree()" |
08:18:08 | FromDiscord | <Robyn [She/Her]> Spread? Like Python's splat? |
08:18:17 | FromDiscord | <madonuko> uhhhh |
08:18:19 | FromDiscord | <madonuko> not sure what that is |
08:18:33 | FromDiscord | <Robyn [She/Her]> `(1, 2, 3)` -> `1, 2, 3` |
08:19:09 | FromDiscord | <madonuko> basically I want something like nnkRecCase.newTree(nnkIdentDefs.newTree(...), nnkOfBranch.newTree(...), nnkOfBranch.newTeee(...), ...) |
08:19:24 | FromDiscord | <madonuko> so I have many nnkOfBranch.newTree() that I'd like to add to nnkRecCase.newTree() |
08:19:25 | FromDiscord | <sOkam! 🫐> In reply to @madonuko "is there some sort": you could create it, potentially |
08:19:53 | FromDiscord | <madonuko> I mean… |
08:20:02 | FromDiscord | <madonuko> that's not the point but idk |
08:20:04 | FromDiscord | <sOkam! 🫐> https://nim-lang.org/docs/manual.html#lexical-analysis-operators |
08:20:19 | FromDiscord | <madonuko> that's not what I'm looking for |
08:20:49 | FromDiscord | <sOkam! 🫐> you are looking for an operator that doesn't exist, so I link you the syntax of what nim will understand as operators, so you can create it with macros |
08:21:17 | FromDiscord | <madonuko> I'm asking how I can add multiple nnkOfBranch.newTree() to nnkRecCase.newTree() |
08:21:22 | FromDiscord | <madonuko> because I'm already creating a macro |
08:21:31 | FromDiscord | <madonuko> and I don't want to create yet another macro for the macro I'm currently writing |
08:21:41 | FromDiscord | <madonuko> (edit) "and I don't want to create yet another macro ... for" added "just" |
08:21:41 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=XpatSgBQRnna |
08:22:00 | FromDiscord | <madonuko> In reply to @madonuko "I'm asking how I": . |
08:22:16 | FromDiscord | <sOkam! 🫐> then it was already answered, im afraid |
08:22:40 | FromDiscord | <madonuko> wait wdym |
08:22:54 | FromDiscord | <madonuko> wait that could only be done with a macro? |
08:22:55 | FromDiscord | <sOkam! 🫐> PMunch already answered that it doesn't exist |
08:23:09 | FromDiscord | <madonuko> I'm not trying to create a macro for that |
08:23:12 | PMunch | @madonuko, `var rc = nnkRecCase.newTree(); for x in mySeq: rc.add x` is this what you're looking for? |
08:23:29 | FromDiscord | <madonuko> oh wait there's add()? ok thanks let me try that |
08:24:50 | FromDiscord | <pmunch> In reply to @heysokam "if it would have": Feel free to refactor it as an enum 🙂 |
08:25:39 | FromDiscord | <kots> There's also an add that takes varargs you can pass the seq in directly |
08:25:46 | FromDiscord | <kots> (edit) "There's also an add that takes varargs ... you" added "so" |
08:28:00 | FromDiscord | <sOkam! 🫐> I don't think i'm the right person to do that. I barely even understand the code 🤷♂️ |
08:29:19 | PMunch | It's quite a simple refactor, just go through and figure out all the kinds that can get passed in and add them to an enum |
08:29:50 | PMunch | Hmm, some of them come from Opir though, but still it shouldn't be too hard |
08:43:24 | ntat | Hi. I need to use Text To Speech in Nim. I am looking for a way to be able to get the same voices in Windows and In Linux. Do you guys have any experience with this? I was thinking of using Google Voice, but I don't know if this is possible? |
08:45:49 | ntat | There is, of course, still espeak, I, however, need clearer voices. |
08:48:10 | PMunch | Why wouldn't Google Voice work? |
08:48:13 | FromDiscord | <demotomohiro> I wrote Open JTalk wrapper for Nim before.↵https://github.com/demotomohiro/nimopenjtalk↵But it seems supports only Japanese and not updated. |
09:05:03 | FromDiscord | <juniwatson> sent a long message, see https://pasty.ee/SIQGTLHUAsKT |
09:05:42 | FromDiscord | <nnsee> <@&371760044473319454> |
09:12:16 | FromDiscord | <Phil> I assume pmunch was faster? |
09:12:28 | PMunch | Yup :) |
09:19:25 | FromDiscord | <odexine> imagine being so slow @ phil |
10:21:12 | * | ntat quit (Quit: Leaving) |
10:21:43 | FromDiscord | <sOkam! 🫐> @pmunch have you ever had a case where futhark wasn't generating every proc in a header? 🤔 |
10:22:05 | PMunch | Sure, it doesn't generate inline procs for example |
10:23:04 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=MZUgsYxcdrWM |
10:23:42 | FromDiscord | <pmunch> That all depends on those macros |
10:24:04 | FromDiscord | <pmunch> WGPU_EXPORT and WGPU_FUNCTION_ATTRIBUTE |
10:24:29 | FromDiscord | <sOkam! 🫐> they are just labels |
10:24:42 | PMunch | No they're not.. |
10:24:53 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=hybsZFCEtAyR |
10:24:54 | PMunch | WGPU_EXPORT adds the visibility attribute |
10:25:45 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=IEdUxTWDmQXq |
10:25:54 | FromDiscord | <sOkam! 🫐> im compiling static |
10:26:02 | FromDiscord | <pmunch> Right |
10:26:19 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=gmUKRyexTOhw |
10:26:28 | PMunch | Then it should wrap that one |
10:26:49 | FromDiscord | <sOkam! 🫐> but its not 🤷♂️↵does the word `configure` clash with something on nim? 🤔 |
10:27:36 | PMunch | Not as far as I know |
10:27:53 | PMunch | Is it in the Opir file? |
10:29:16 | FromDiscord | <sOkam! 🫐> good question |
10:29:51 | FromDiscord | <sOkam! 🫐> nope |
10:32:54 | PMunch | Then it means that Opir ie. Clang, doesn't see it |
10:33:09 | PMunch | Which is very strange |
10:33:28 | PMunch | Do you get any errors from Opir while compiling? |
10:34:13 | FromDiscord | <sOkam! 🫐> none that I know of 🤔 |
10:34:31 | PMunch | That you know of? |
10:34:34 | FromDiscord | <sOkam! 🫐> its all silent. are they `hint`s or something? |
10:34:48 | PMunch | Don't remember |
10:34:57 | PMunch | You can try to run the Opir command manually |
10:36:00 | PMunch | When running Futhark it shows the command it runs |
11:01:38 | * | ttkap quit (Ping timeout: 268 seconds) |
11:05:13 | * | ttkap joined #nim |
11:30:31 | * | ntat joined #nim |
11:35:54 | * | ntat quit (Read error: Connection reset by peer) |
11:36:38 | * | ntat joined #nim |
11:51:29 | FromDiscord | <pax_audiogamer> hey people, for what ever reason when I do a random sample from a list it always picks a first item, and there's around 4 stuff in the list, so, what's the problem? |
11:52:27 | FromDiscord | <nnsee> In reply to @pax_audiogamer "hey people, for what": you need to call `randomize()` |
11:53:01 | FromDiscord | <nnsee> see the basic example in https://nim-lang.org/docs/random.html#basic-usage |
12:09:38 | FromDiscord | <pax_audiogamer> In reply to @nnsee "you need to call": I did call it before the function in the library I thought that it'll be called but apparently nope. |
12:14:20 | FromDiscord | <nnsee> In reply to @pax_audiogamer "I did call it": how did you call it? it should work |
12:19:52 | * | ntat quit (Quit: Leaving) |
12:20:38 | * | xet7 quit (Remote host closed the connection) |
12:35:17 | * | modev joined #nim |
12:35:33 | modev | Good day! |
12:35:50 | FromDiscord | <nnsee> hello |
12:36:08 | modev | Is there bindings to bullet physics c++ library somewhere? (I have not found) |
13:17:38 | * | modev quit (Quit: Client closed) |
13:32:59 | FromDiscord | <xtrayambak> sent a code paste, see https://play.nim-lang.org/#pasty=NmGGijCfzDEm |
13:34:18 | Amun-Ra | how was cell.data allocated? |
13:34:34 | Amun-Ra | and are you sure the value is properly initialized |
13:35:14 | Amun-Ra | hmm, can an object be =deallocated twice? |
13:35:28 | Amun-Ra | if so, perhaps cell.data = nil would fix that |
13:35:34 | FromDiscord | <xtrayambak> `cell.data` is just casting a type into a pointer |
13:35:37 | FromDiscord | <xtrayambak> oh god I think I found it |
13:35:49 | Amun-Ra | what was it? |
13:35:50 | FromDiscord | <xtrayambak> the data type that's getting casted into a pointer is ref counted |
13:36:14 | FromDiscord | <xtrayambak> nevermind, now it can't even be cast to a pointer |
13:36:44 | FromDiscord | <xtrayambak> In reply to @Amun-Ra "if so, perhaps cell.data": that requires `=destroy` to take in a mutable reference, which the signature forbids |
13:37:16 | FromDiscord | <xtrayambak> In reply to @Amun-Ra "hmm, can an object": it is called twice for some reason, and `cell.data` is never set to `nil` once I call dealloc on it |
13:37:30 | FromDiscord | <xtrayambak> https://media.discordapp.net/attachments/371759389889003532/1234498800303996938/Oz8OdRc.png?ex=6630f419&is=662fa299&hm=0a86b4408330ceaa4f7910e304f34ded6d90aac950ab159d462f3b794c081eee& |
13:37:38 | Amun-Ra | so thatn use after free |
13:37:56 | FromDiscord | <xtrayambak> yeah but it shouldn't happen |
13:38:06 | FromDiscord | <xtrayambak> why is `cell.data` not set to nil after dealloc is called on it? |
13:38:15 | Amun-Ra | why should it be? |
13:38:36 | Amun-Ra | and by what method? you don't pass ptr pointer to dealloc |
13:38:41 | Amun-Ra | you pass the value |
13:39:08 | Amun-Ra | var x = 0; foo(x) # there's no way you can't change the value of x here |
13:39:15 | FromDiscord | <xtrayambak> ah |
13:39:18 | * | rockcavera joined #nim |
13:39:22 | FromDiscord | <xtrayambak> then is there any way I can deallocate that pointer? |
13:39:22 | Amun-Ra | assuming foo is a proc foo(x: int) |
13:39:49 | FromDiscord | <xtrayambak> I don't want to rely on the garbage collector either |
13:39:49 | Amun-Ra | hmm, proc `=destroy`(cell: var Cell)? |
13:40:14 | FromDiscord | <xtrayambak> yeah that works |
13:40:36 | FromDiscord | <xtrayambak> nimlsp was needlessly shouting at me that it requires an immutable object, not a mutable reference :P |
13:40:42 | Amun-Ra | ;) |
13:41:05 | FromDiscord | <xtrayambak> Thanks for the help! |
13:41:10 | Amun-Ra | no worries :) |
13:41:39 | Amun-Ra | and by "you can't change" I mean "you can change" ;) |
13:46:48 | * | PMunch quit (Quit: Leaving) |
13:50:13 | * | modev joined #nim |
13:52:18 | FromDiscord | <nocturn9x> is there a decent way of figuring out where a segfault is coming from? |
13:52:36 | FromDiscord | <nocturn9x> --stacktrace:on --linetrace:on are useless, and `import segfaults` isn't useful either |
13:52:44 | FromDiscord | <nocturn9x> (edit) "--stacktrace:on --linetrace:on" => "`--stacktrace:on --linetrace:on`" |
13:54:14 | FromDiscord | <nocturn9x> can I have nim produce a core dump? |
14:02:13 | * | modev quit (Quit: Client closed) |
14:05:08 | * | modev joined #nim |
14:07:41 | * | modev quit (Remote host closed the connection) |
14:08:17 | * | modev joined #nim |
14:08:28 | * | modev quit (Remote host closed the connection) |
14:11:19 | * | modev joined #nim |
14:12:02 | * | modev quit (Remote host closed the connection) |
14:26:06 | FromDiscord | <pmunch> Gdb? |
14:27:00 | * | coldfeet joined #nim |
14:36:21 | FromDiscord | <torinakaya> 18+ Teen Girls and onlyfans leaks for free :peach: :underage: https://discord.gg/CYNumE8ABr @everyone |
14:38:08 | FromDiscord | <nervecenter> <@&371760044473319454> |
15:23:12 | FromDiscord | <wileycoleman> In reply to @isofruit "Can someone give me": Action for the 3rd name? |
15:24:10 | FromDiscord | <zidsal> is it worth setting up a bot trap channel so that the mod's dont need to intervene so much? I know other discord servers have it setup so that if you post in the bot trap channel it just autobans you and deletes any recent message you've made |
15:24:38 | * | xet7 joined #nim |
15:25:04 | FromDiscord | <wileycoleman> In reply to @zidsal "is it worth setting": Do real people get caught in this too by accident? |
15:26:25 | FromDiscord | <zidsal> that very much depends on your target audience! generally there is a single post in there telling you about the repercussions of posting in the bot trap channel |
15:27:25 | FromDiscord | <Robyn [She/Her]> In reply to @zidsal "is it worth setting": I'd say an airlock or something might be useful tbh |
15:27:40 | FromDiscord | <Robyn [She/Her]> Make it so you have to reply with an emoji on a message to gain access to the server |
15:58:06 | * | beholders_eye quit (Ping timeout: 252 seconds) |
16:08:21 | NimEventer | New thread by aiac: How to borrow iterator `items` for distinct type?, see https://forum.nim-lang.org/t/11514 |
16:43:28 | * | xet7 quit (Ping timeout: 260 seconds) |
17:08:34 | * | krux02 joined #nim |
17:18:08 | * | ntat joined #nim |
17:31:25 | * | PMunch joined #nim |
17:33:19 | PMunch | Hmm, given a filename from walkDirRec, what would be the best way to create a file URI? |
17:34:00 | PMunch | I ran into an issue with files containing question marks, but encodeUrl would also encode the slashes in the path |
17:34:22 | PMunch | split("/").map(encodeUrl).join("/") is tempting |
17:34:36 | PMunch | But in the case of an escaped "/" it would fail |
18:00:45 | * | PMunch quit (Ping timeout: 252 seconds) |
18:45:57 | * | PMunch joined #nim |
18:51:46 | Amun-Ra | nocturn9x: stacktrsce + linetrace + asan + ubsan |
18:52:06 | FromDiscord | <nocturn9x> In reply to @Amun-Ra "<@523555920265871380>: stacktrsce + linetrace": stacktrace and linetrace do nothing |
18:52:12 | FromDiscord | <nocturn9x> like literally nothing |
18:52:27 | FromDiscord | <nocturn9x> I'm trying to get a core dump and analyzing it with gdb |
18:58:18 | Amun-Ra | those can potentially help nimgdb |
18:58:23 | Amun-Ra | I |
18:58:31 | Amun-Ra | I'd turn asan and ubsan on |
19:00:36 | Amun-Ra | --passc='-fsanitize=address,undefined' --passl='-lasan -lubsan' |
19:02:54 | PMunch | Hmm I asked this before, but is there no way to get the `nim.vim` plugin to not run `nim check`? |
19:04:34 | * | Amun-Ra doesn't know the answer |
19:04:51 | Amun-Ra | but you can mod the source |
19:12:03 | FromDiscord | <saint.___.> In reply to @PMunch "Hmm I asked this": What are you using the nim.vim plugin for btw |
19:12:41 | * | Amun-Ra uses vim.nvim |
19:12:59 | Amun-Ra | nim.nvim* |
19:13:22 | PMunch | saint.___., for highlighting? |
19:13:37 | PMunch | > but you can mod the source |
19:13:41 | PMunch | Of course I can.. |
19:13:57 | Amun-Ra | yes, I know it's not the answer |
19:14:24 | Amun-Ra | perhaps there's a switch of some kind |
19:14:44 | strogon14 | PMunch: Python's quote() has a safe="/" param for url-encoding paths. Maybe worth a PR for encodeUrl? |
19:16:28 | PMunch | strogon14, that does sound handy |
19:16:57 | FromDiscord | <saint.___.> In reply to @PMunch "saint.___., for highlighting?": Ohh okay are you using vim or nvim |
19:17:06 | FromDiscord | <saint.___.> Cause treesitter is way better for nim for syntax highlighting |
19:17:32 | FromDiscord | <saint.___.> It comes built into tree-sitter now |
19:17:55 | Amun-Ra | …and quote_plus |
19:18:09 | FromDiscord | <saint.___.> I'm sure you already know this however |
19:18:45 | FromDiscord | <nnsee> is it really better? |
19:18:59 | FromDiscord | <nnsee> nim.vim seemed to provide smarter highlighting last time I checked |
19:20:58 | PMunch | saint.___., I use vim. Can I just grab the treesitter plugin and get Nim highlighting without nim.vim? |
19:21:57 | Amun-Ra | Setting up nim (1.6.14-3) ... |
19:22:09 | Amun-Ra | oh man, debian testing… |
19:23:34 | Amun-Ra | there should be 2.0.2 already in |
19:25:12 | FromDiscord | <saint.___.> In reply to @nnsee "nim.vim seemed to provide": Way better |
19:25:19 | FromDiscord | <saint.___.> I mean treesitter is way better |
19:25:40 | FromDiscord | <saint.___.> You can't compare non treesitter to treesitter syntax cause non treesitter stuff doesn't highlight most of the code |
19:26:15 | FromDiscord | <saint.___.> In reply to @PMunch "saint.___., I use vim.": I don't think there's a tree-sitter plugin for regular vim |
19:26:30 | FromDiscord | <saint.___.> You can likely just move to nvim with your current config and almost everything will work |
19:26:38 | strogon14 | PMunch: but your split solution seems ok, too. encodeUrl doesn't handle strings with already encoded chars in them anyway. |
19:26:52 | FromDiscord | <saint.___.> I was a longtime regular vim user too but I made the switch it was worth it to start of at first I didn't have to change anything |
19:27:03 | Amun-Ra | I'm still on neovim 0.7.2-8, no treesitter for me |
19:27:05 | FromDiscord | <saint.___.> Or like one keybind actually |
19:27:14 | FromDiscord | <saint.___.> In reply to @Amun-Ra "I'm still on neovim": Yeah stable is now v.10 |
19:27:36 | FromDiscord | <saint.___.> Good idea to update I think |
19:27:49 | FromDiscord | <saint.___.> Oh it 0.9.5 |
19:27:56 | FromDiscord | <saint.___.> 0.10 is I guess beta still |
19:28:11 | FromDiscord | <saint.___.> If you need some help setting it up I can definitely help you |
19:28:53 | PMunch | saint.___., that "almost" has me suspicious.. |
19:29:38 | PMunch | strogon14, problem with split is if I have a filename with a slash in it and it is stored in the path as `/some/folder/with\/cheese` |
19:29:54 | PMunch | That would get split into some, folder, with\, and cheese |
19:30:01 | PMunch | So I need to use a proper path splitter |
19:30:18 | FromDiscord | <saint.___.> In reply to @PMunch "saint.___., that "almost" has": Suspicious? |
19:30:26 | FromDiscord | <saint.___.> Do you mean interested? |
19:30:46 | PMunch | No, I mean suspicious as in I feel like there might be some hidden cost or unacceptable tradeoff :P |
19:30:50 | FromDiscord | <saint.___.> Ohh |
19:30:55 | PMunch | But I might give it a go |
19:30:58 | FromDiscord | <saint.___.> Well nvim was made to be backwards compatible |
19:31:18 | FromDiscord | <saint.___.> That's sort of the main gripe nvim users have with it |
19:31:19 | PMunch | Huh, I thought it was meant to be a completely new thing |
19:31:25 | FromDiscord | <saint.___.> It has to support all this legacy stuff |
19:31:29 | strogon14 | PMunch: That's not an escaped slash, but a filename with a backskash in it. |
19:31:29 | strogon14 | Escape chars are for string literals, they should not be in the string data. |
19:31:37 | Amun-Ra | saint.___.: I'm waiting for the new version to hit the repository |
19:31:39 | FromDiscord | <saint.___.> Nah it's completely backwards compatible, well like 95% |
19:31:54 | PMunch | Huh, cool |
19:31:54 | FromDiscord | <saint.___.> In reply to @Amun-Ra "saint.___.: I'm waiting for": Which repo, like debian or something? |
19:31:59 | PMunch | Maybe I'll give it a go then |
19:32:00 | FromDiscord | <saint.___.> 0.9 has been out for a long time |
19:32:11 | PMunch | Anyways, I'm off |
19:32:12 | * | PMunch quit (Quit: Leaving) |
19:32:17 | FromDiscord | <saint.___.> In reply to @PMunch "Maybe I'll give it": Ya for a while I ran nvim and vim at the same time, like they would both run from the same vimrc |
19:32:32 | Amun-Ra | saint.___.: debian testing |
19:32:39 | * | coldfeet quit (Remote host closed the connection) |
19:32:40 | FromDiscord | <saint.___.> Vim is so dead the amount of new stuff in nvim is insane and loads of developers so it's really worthwhile getting ti |
19:32:51 | FromDiscord | <saint.___.> In reply to @Amun-Ra "saint.___.: debian testing": I'm pretty sure something newer is there |
19:33:31 | FromDiscord | <saint.___.> Oh it's in unstable |
19:33:56 | FromDiscord | <saint.___.> I'd go for unstable it's fine |
19:34:49 | FromDiscord | <saint.___.> Oh apparently it's really not a good idea to do that |
19:36:23 | Amun-Ra | I'll add unstable to sources.list with lower priority |
19:38:52 | FromDiscord | <pmunch> In reply to @saint.___. "Vim is so dead": You say that but I contributed to Vim this year and was surprised by their dev cycle |
19:39:16 | FromDiscord | <saint.___.> In reply to @pmunch "You say that but": Well this year might be different cause of Bram passing away and now someone else is running it right |
19:39:31 | FromDiscord | <saint.___.> Also whoever is running it now says they want to converge more with neovim on stuff |
19:39:40 | FromDiscord | <saint.___.> I think cause vim was dead |
19:39:54 | FromDiscord | <saint.___.> Almost no one makes plugins for vim alone |
19:40:01 | FromDiscord | <pmunch> Hmm, I think this was before he died. But it was someone else running it anyways |
19:40:01 | FromDiscord | <saint.___.> Well you can't even write a vim only plugin |
19:40:07 | FromDiscord | <saint.___.> Cause any vim plugin can be used by nvim |
19:40:13 | FromDiscord | <saint.___.> But there are lots of lua (nvim only) plugins |
19:40:33 | FromDiscord | <saint.___.> There was all this wasted effort and stuff about making vim9script |
19:40:42 | FromDiscord | <saint.___.> Which seems unlikely that anyone is really going to use |
19:40:43 | FromDiscord | <pmunch> But my patch is probably not in Neovim 😦 |
19:40:53 | FromDiscord | <pmunch> And it's extremely niche.. |
19:41:01 | FromDiscord | <saint.___.> In reply to @pmunch "But my patch is": You could probably submit it to neovim! What's the patch about? |
19:41:37 | FromDiscord | <saint.___.> The community around nvim is insane now, I've been using vim for a long time and it was never this cool or active |
19:42:30 | FromDiscord | <pmunch> https://github.com/vim/vim/pull/13537 |
19:44:01 | FromDiscord | <saint.___.> In reply to @pmunch "https://github.com/vim/vim/pull/13537": Pretty cool! I'll see if there's something equivalent in nvim |
19:45:12 | FromDiscord | <saint.___.> @pmunch https://neovim.io/doc/user/syntax.html |
19:45:16 | FromDiscord | <saint.___.> I think it might be built in |
19:45:56 | FromDiscord | <saint.___.> Idk how to link to it but if you search for altfont |
19:46:09 | FromDiscord | <saint.___.> https://neovim.io/doc/user/syntax.html#altfont |
19:46:24 | FromDiscord | <saint.___.> > https://neovim.io/doc/user/syntax.html#altfont |
19:46:32 | FromDiscord | <saint.___.> > Syntax highlighting enables Vim to show parts of the text in another font or↵> color. |
19:50:48 | FromDiscord | <pmunch> Probably just for GUI people |
19:51:01 | FromDiscord | <pmunch> Vim had support for that as well |
19:58:05 | FromDiscord | <saint.___.> Oh true |
19:58:34 | FromDiscord | <saint.___.> Yeah I am sure nvim would accept that patch |
19:59:09 | FromDiscord | <saint.___.> I dunno what their strategy is for like newer changes to vim, I believe they do try and include things commited to regular vim too |
20:03:17 | * | krux02_ joined #nim |
20:06:00 | * | krux02 quit (Ping timeout: 255 seconds) |
20:25:30 | FromDiscord | <nnsee> In reply to @PMunch "No, I mean suspicious": i migrated my regular vim config over to neovim and everything worked out of the box (apart from some nvim defaults that were different in vim) |
20:26:02 | FromDiscord | <nnsee> these days I've replaced almost every single vimscript conf with lua |
20:26:05 | FromDiscord | <nnsee> couldn't go back |
20:37:51 | * | ntat quit (Quit: Leaving) |
20:51:44 | FromDiscord | <marioboi3112> ay guys |
20:51:51 | FromDiscord | <marioboi3112> why should i learn nim? |
20:51:58 | FromDiscord | <marioboi3112> what things should i avoid using nim for? |
20:52:08 | FromDiscord | <marioboi3112> in what things is nim the best? |
20:52:43 | FromDiscord | <bosinski2023> In reply to @marioboi3112 "what things should i": https://livebook.manning.com/book/nim-in-action/chapter-1/ |
20:55:43 | * | SEP quit (Ping timeout: 256 seconds) |
20:57:42 | * | SEP joined #nim |
21:07:04 | FromDiscord | <marioboi3112> In reply to @bosinski2023 "https://livebook.manning.com/book/nim-in-action/cha": thanks |
21:07:31 | FromDiscord | <Elegantbeef> That's the only answer |
21:07:32 | FromDiscord | <Elegantbeef> Malware |
21:07:32 | FromDiscord | <Elegantbeef> Do not use Nim for malware |
21:07:45 | FromDiscord | <marioboi3112> In reply to @Elegantbeef "Do not use Nim": why is that |
21:08:04 | FromDiscord | <pmunch> In reply to @marioboi3112 "ay guys": It's a pretty cool language. Fast, flexible, able to go really low and really high on the abstraction scale. Nim shines in almost any area, can't really think of anything I wouldn't use it for. |
21:08:06 | FromDiscord | <Elegantbeef> Cause writing malware is for numpties |
21:08:15 | FromDiscord | <pmunch> Oh yeah, don't write malware.. |
21:08:42 | FromDiscord | <pmunch> People keep using it for malware and it messes with AV software |
21:08:42 | FromDiscord | <marioboi3112> In reply to @pmunch "It's a pretty cool": sounds very promising |
21:08:52 | FromDiscord | <marioboi3112> In reply to @pmunch "People keep using it": oh yeahhhhh, |
21:08:58 | FromDiscord | <marioboi3112> In reply to @Elegantbeef "Cause writing malware is": real |
21:11:05 | FromDiscord | <marioboi3112> what are the things that nim beats over haxe in? |
21:11:12 | FromDiscord | <marioboi3112> if anyone has had experience with haxe |
21:12:56 | FromDiscord | <Elegantbeef> Nim has more control |
21:13:03 | FromDiscord | <Elegantbeef> Nim is more portable afaik |
21:13:36 | FromDiscord | <marioboi3112> In reply to @Elegantbeef "Nim is more portable": mhm |
21:13:39 | FromDiscord | <Elegantbeef> I don't know how portable the Haxe C/C++ is though |
21:15:12 | FromDiscord | <marioboi3112> im really interested in game dev, and haxe has way more support for game dev than nim, is that sth to be concerned about? |
21:15:31 | FromDiscord | <Elegantbeef> I mean you can do game dev in either |
21:15:40 | FromDiscord | <Elegantbeef> Nim just has fewer prebuilt tools |
21:16:10 | FromDiscord | <marioboi3112> sent a long message, see https://pasty.ee/bgYOHUUKIHtO |
21:16:54 | FromDiscord | <Elegantbeef> I mean I'm making games using Nim, I just had to author my own bindings for assimp, and miniaudio! |
21:17:59 | FromDiscord | <marioboi3112> In reply to @Elegantbeef "I mean I'm making": interesting, so nim should be good for game dev as well? considering all those factors? |
21:18:13 | * | Jjp137 quit (Quit: Leaving) |
21:18:24 | FromDiscord | <Elegantbeef> Well you might have to wrap your own libraries, but yes |
21:18:30 | FromDiscord | <Elegantbeef> Raylib can be used from Nim for instance |
21:18:53 | FromDiscord | <Elegantbeef> Nim is a system language so if you can do it in C/C++ you can do it here, it just might require wrapping stuff yourself |
21:19:20 | FromDiscord | <marioboi3112> In reply to @Elegantbeef "Well you might have": 👍🏼 |
21:19:29 | FromDiscord | <marioboi3112> In reply to @Elegantbeef "Nim is a system": very coool |
21:19:44 | FromDiscord | <marioboi3112> quite new to nim and experimenting with different langs, to pick one and just go with |
21:19:49 | FromDiscord | <bosinski2023> In reply to @marioboi3112 "interesting, so nim should": hi obi3112, you're looking exclusively for a game-dev language or 'maybe i'll do a game to get into a new language ?' |
21:21:25 | FromDiscord | <marioboi3112> In reply to @bosinski2023 "hi obi3112, you're looking": hello bosinski! 👋🏼 nah not really, i wouldve gone for C# or some other mainstream language for game dev, but the thing is that i want a general purporse i want sth that you can work with in most areas of coding, and i wanted to make sure if nim was one of those |
21:21:28 | FromDiscord | <marioboi3112> which perhaps it is |
21:22:27 | * | Jjp137 joined #nim |
21:22:45 | FromDiscord | <bosinski2023> In reply to @marioboi3112 "which perhaps it is": nim is a versatile GPS -> general-problem-solver - you're welcome.. |
21:23:08 | FromDiscord | <Elegantbeef> Nim is a system language that also has a JS backend |
21:23:23 | FromDiscord | <Elegantbeef> It can be used pretty much everywhere from a esp32 to webdev |
21:23:32 | FromDiscord | <marioboi3112> In reply to @bosinski2023 "nim is a versatile": noice |
21:23:52 | FromDiscord | <marioboi3112> In reply to @Elegantbeef "It can be used": well i have got my answer now then! |
21:24:05 | FromDiscord | <marioboi3112> thanks for the chat |
21:24:12 | FromDiscord | <marioboi3112> everyone |
23:06:53 | * | dtomato6 joined #nim |
23:08:19 | * | dtomato quit (Ping timeout: 246 seconds) |
23:08:19 | * | dtomato6 is now known as dtomato |
23:41:01 | FromDiscord | <grumblygibson> Was looking for float16 support in Nim to store large and operate on large datasets.↵Saw this in a github comment, and wondered if anyone knows about `bf16` support in nim? I couldn't find anything.↵> (2019) mratsim: Float16 is dying, we will have brain float16 (bf16) next year with CPU support anyway ;). |
23:41:11 | FromDiscord | <grumblygibson> (edit) "large" => "" |
23:58:55 | FromDiscord | <Elegantbeef> Nim does not have it but some brave soul could import it in a nice library |