00:43:59 | FromDiscord | <wick3dr0se> No cyclic imports is so harsh 😵💫 |
00:44:26 | FromDiscord | <wick3dr0se> Gotta throw every object I make into their own file |
00:58:19 | * | xet7 quit (Quit: Leaving) |
01:01:24 | * | xet7 joined #nim |
01:02:09 | rockcavera | wick3dr0se, put all types in a single file, unless you will only use it within the file you declared |
01:02:46 | FromDiscord | <wick3dr0se> Yea may as well call it types.nim or something 😅 |
01:02:58 | FromDiscord | <wick3dr0se> RIP architecture |
01:10:17 | rockcavera | yes, it's even a note in this project of mine https://github.com/rockcavera/nim-nlox#challenges-when-using-nim |
01:12:24 | FromDiscord | <Elegantbeef> What's so hard about emuatating java's `equals`? |
01:18:04 | rockcavera | Elegantbeef, my experience with Java was practically zero when I started. During the project, some tests did not work and the error was in `equals()`. Unfortunately, Nim's `==` didn't always do the same job in Java. |
01:19:05 | rockcavera | looking at the code now, it doesn't even seem like I wasted a lot of time on `equals()` |
01:19:18 | FromDiscord | <Elegantbeef> Afaik `equals` is supposed to be like value comparison which `==` does on value types, on reference types you need to implement your own `==` |
01:32:57 | * | derpydoo joined #nim |
01:36:12 | * | thomasross joined #nim |
02:06:36 | * | edr quit (Quit: Leaving) |
02:28:13 | * | xet7 quit (Remote host closed the connection) |
02:29:07 | * | xet7 joined #nim |
02:59:22 | NimEventer | New thread by Col: What's stopping Nim from going mainstream? (And how to fix it?), see https://forum.nim-lang.org/t/10595 |
03:35:11 | * | derpydoo quit (Ping timeout: 255 seconds) |
03:45:28 | * | thomasross quit (Ping timeout: 255 seconds) |
04:01:44 | * | Maksimilan joined #nim |
04:22:47 | * | thomasross joined #nim |
04:34:55 | * | thomasross quit (Ping timeout: 252 seconds) |
05:07:47 | FromDiscord | <jviega> @wick3dr0se if you {.exportc, .cdecl.} functions you can prototype them in other modules (generally declare them {.cdecl, nodecl.}) to avoid issues. |
06:39:44 | * | Maksimilan quit (Ping timeout: 272 seconds) |
06:48:01 | * | advesperacit joined #nim |
06:55:23 | FromDiscord | <gogolxdong666> what's solution to solve nimble package any version not found? |
07:03:03 | FromDiscord | <Chronos [She/Her]> In reply to @gogolxdong666 "what's solution to solve": If it's not found, try going to the git url |
07:27:23 | * | rockcavera quit (Remote host closed the connection) |
07:43:08 | FromDiscord | <gogolxdong666> it's like recursively |
07:43:16 | FromDiscord | <gogolxdong666> many not found |
07:45:33 | FromDiscord | <Chronos [She/Her]> Hm, no idea then |
07:45:55 | FromDiscord | <Chronos [She/Her]> In reply to @gogolxdong666 "it's like recursively": Try `nimble refresh` then try installing it again |
08:42:29 | * | pusewicz joined #nim |
09:00:25 | FromDiscord | <Chronos [She/Her]> Not at the stage yet, but looking into how the chat protocol should be transferred as such |
09:00:51 | FromDiscord | <Chronos [She/Her]> Since I remember people here saying that it'd be better to build on an existing one rather than rolling your own |
09:13:50 | * | pusewicz quit (Ping timeout: 246 seconds) |
09:18:57 | * | PMunch joined #nim |
09:55:06 | FromDiscord | <Chronos [She/Her]> Wonder if using WASM as a runtime for other scripting languages to run on is becoming better and better as an option |
10:01:50 | FromDiscord | <nnsee> i mean, i use wasm in my minecraft server for extensibility support, i think it's ideal since you're not limiting extension developers to one predefined language |
10:10:27 | FromDiscord | <Chronos [She/Her]> Oh? You do? |
10:10:47 | FromDiscord | <Chronos [She/Her]> Oh wait didn't you make an MC classic server? |
10:14:58 | FromDiscord | <nnsee> yerp |
10:15:08 | FromDiscord | <nnsee> In reply to @chronos.vitaqua "Oh? You do?": it's in a bit of a WIP phase |
10:15:30 | FromDiscord | <nnsee> i've got a working proof of concept but it's not exactly fleshed out and i need to add more hooks for callbacks |
10:16:40 | FromDiscord | <nnsee> i'm using beef's wasm3 runtime for the runtime https://github.com/beef331/wasm3 |
10:16:48 | FromDiscord | <Chronos [She/Her]> Fair aha, I should work on my own impl tbh |
10:17:04 | FromDiscord | <Chronos [She/Her]> I do have a library for working with packets and such at least! |
10:17:27 | FromDiscord | <nnsee> i realized i need to refactor how i handle packets |
10:17:30 | FromDiscord | <Chronos [She/Her]> In reply to @nnsee "i'm using beef's wasm3": It is pretty useful tbf |
10:17:41 | FromDiscord | <Chronos [She/Her]> In reply to @nnsee "i realized i need": How do you handle them currently? |
10:17:51 | FromDiscord | <nnsee> otherwise, implementing CPEs (classic protocol extensions) is going to be a pain |
10:18:40 | FromDiscord | <nnsee> In reply to @chronos.vitaqua "How do you handle": very sloppily |
10:18:40 | FromDiscord | <ravinder387> what is the future of nim |
10:18:46 | FromDiscord | <nnsee> for example, for outbound packets: https://git.dog/xx/fastcube/src/branch/master/src/outbound.nim#L94 |
10:18:46 | FromDiscord | <ravinder387> anybody know |
10:18:52 | FromDiscord | <Chronos [She/Her]> In reply to @nnsee "otherwise, implementing CPEs (classic": Sounds useful! |
10:19:04 | PMunch | ravinder387, let me grab a crystal ball and find out |
10:19:13 | PMunch | Or do you mean like a roadmap or similar? |
10:19:13 | FromDiscord | <nnsee> look at this... painful to look at https://git.dog/xx/fastcube/src/branch/master/src/inbound.nim#L56 |
10:19:20 | FromDiscord | <Chronos [She/Her]> In reply to @nnsee "for example, for outbound": Ah, generics could definitely help with that |
10:19:53 | FromDiscord | <nnsee> lol. yes. |
10:19:57 | FromDiscord | <ravinder387> roadmap |
10:20:29 | FromDiscord | <nnsee> In reply to @ravinder387 "roadmap": https://github.com/nim-lang/RFCs/issues/503 |
10:20:43 | FromDiscord | <Chronos [She/Her]> I have https://github.com/Nimberite-Development/ModernNet currently if you'd like to steal some stuff from there, but betting it's p useless since this is for the modern protocol aha |
10:20:53 | FromDiscord | <nnsee> In reply to @chronos.vitaqua "Ah, generics could definitely": the code for handling packets started as a minimal WIP that I just kept tacking different packet types onto |
10:21:05 | FromDiscord | <nnsee> before i knew it, i had something that was like something out of a lovecraft novel |
10:21:12 | FromDiscord | <Chronos [She/Her]> I mean, fair lol |
10:21:38 | FromDiscord | <nnsee> In reply to @chronos.vitaqua "I have https://github.com/Nimberite-Development/Mod": neat. the classic and modern protocols share quite a few similarities tbh |
10:21:47 | FromDiscord | <Chronos [She/Her]> Oh do they? Cool! |
10:22:12 | FromDiscord | <Chronos [She/Her]> Also I'm planning on dumping the usage of streams completely tbh (and hopefully making this work with `Socket`s as well) |
10:22:37 | FromDiscord | <jmgomez> In reply to @nnsee "https://github.com/nim-lang/RFCs/issues/503": I think this is more accurate: https://forum.nim-lang.org/t/10594 |
10:22:45 | FromDiscord | <nnsee> right, thanks |
10:30:06 | FromDiscord | <ravinder387> I'm getting this error recently https://media.discordapp.net/attachments/371759389889003532/1169946590300078150/Screenshot_2023-11-03_155938.png?ex=655740ab&is=6544cbab&hm=81f737d963ef827764dacfa33ad30919036eeda868c0b1c3663d7f153510c05d& |
10:30:06 | FromDiscord | <ravinder387> why |
10:35:10 | FromDiscord | <nnsee> unrelated to nim |
10:35:15 | FromDiscord | <nnsee> your PATH is broken |
10:35:41 | FromDiscord | <nnsee> do you have `%SystemRoot%\system32` in your PATH? |
10:35:55 | FromDiscord | <nnsee> see https://stackoverflow.com/a/8143664 |
10:39:36 | FromDiscord | <Chronos [She/Her]> I despise naming of |
10:39:40 | FromDiscord | <Chronos [She/Her]> oof |
10:41:52 | * | pusewicz joined #nim |
10:48:50 | FromDiscord | <Phil> In reply to @chronos.vitaqua "I despise naming of": Welcome to my life |
10:59:21 | * | pusewicz quit (Quit: Textual IRC Client: www.textualapp.com) |
10:59:51 | FromDiscord | <System64 ~ Flandre Scarlet> Do you know how I can save files persistently with Emscripten and JSBind please? |
11:05:09 | Amun-Ra | https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Client-side_storage |
11:14:27 | FromDiscord | <Bung> is there easy way generate nim binding for https://github.com/htacg/tidy-html5/blob/next/include/tidy.h ? |
11:14:55 | FromDiscord | <nnsee> In reply to @Bung "is there easy way": tried futhark? |
11:19:51 | FromDiscord | <Bung> haven't it todos says "Proper handling of C macros ", am worry about that |
11:22:45 | FromDiscord | <nnsee> doesn't seem to be many macros in there |
11:23:05 | FromDiscord | <nnsee> just your regular if(n)defs |
11:23:27 | FromDiscord | <nnsee> mostly just extern C wrapping for cpp and some DOXYGEN stuff |
11:24:33 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Amun-Ra "https://developer.mozilla.org/en-US/docs/Learn/Java": Oh alright, and for loading I'd have to return a pointer and a size I think |
11:25:06 | FromDiscord | <Bung> ok , thanks for confirming that, I'll try it. |
11:25:36 | FromDiscord | <Chronos [She/Her]> Wondering if `type Buffer = distinct seq[byte]` is sensible if I wanna replace `Stream`s... |
11:26:47 | FromDiscord | <Chronos [She/Her]> Also wondering if it's better to use bitops or if casting an array of bytes to an int is better hmm |
11:28:04 | FromDiscord | <Chronos [She/Her]> Not too confident on my skills for writing something as important as this tbh, lol |
11:30:43 | FromDiscord | <Chronos [She/Her]> Shouldn't be too hard |
11:47:35 | PMunch | Bung, it handles most stuff, but it can't do function style macros |
11:47:55 | PMunch | It doesn't throw an error though, just doesn't wrap them. So you can have Futhark wrap everything else |
11:56:22 | FromDiscord | <Bung> nice!↵(<@709044657232936960_=50=4dunch=5b=49=52=43=5d>) |
12:26:33 | FromDiscord | <Chronos [She/Her]> In reply to @chronos.vitaqua "Shouldn't be *too* hard": Not confident in my ability to do that lol, I'll just stick with streams |
12:58:24 | * | casaca quit (Ping timeout: 245 seconds) |
12:58:54 | * | henrytill quit (Ping timeout: 246 seconds) |
13:01:20 | * | casaca joined #nim |
13:01:51 | * | henrytill joined #nim |
13:10:28 | NimEventer | New post on r/nim by Robert_Bobbinson: Idiomatic Nim. Resources?, see https://reddit.com/r/nim/comments/17muqdv/idiomatic_nim_resources/ |
13:58:09 | * | edr joined #nim |
14:05:08 | * | CO2 quit (Quit: WeeChat 4.1.1) |
14:08:43 | * | CO2 joined #nim |
14:44:45 | FromDiscord | <jviega> You're just thinking about replacing the overall streams library?? |
14:46:16 | FromDiscord | <Chronos [She/Her]> In reply to @jviega "You're just thinking about": Just my usage of them aha, right now my code reads from a socket into a string, which works fine but I don't need a lot of what it provides |
14:46:52 | FromDiscord | <Chronos [She/Her]> A byte sequence would work just as well, I'd just need to make a few procs to read data from it |
14:48:13 | FromDiscord | <jviega> I guess I'm trying to understand where streams don't meet your needs and what your requirements are |
14:50:34 | FromDiscord | <Chronos [She/Her]> Ah, they do meet my requirements here, just saying that I don't need all the functionality they provide (such as being able to use `FileStream`s)↵↵Not sure how to describe my requirements properly though, best I could say is that I needed a way to read and write data that can be sent over the network via TCP (Which streams do) |
14:55:32 | FromDiscord | <jviega> Okay, is there something abstraction wise that would make your life easier?? |
14:56:40 | * | rockcavera joined #nim |
14:57:52 | FromDiscord | <Chronos [She/Her]> `read` (for types such as `int8` or `uint32`) has made my life a bit easier tbf, but the behaviour could easily be replicated |
14:58:18 | FromDiscord | <Chronos [She/Her]> That essentially the only thing, other than `write` that I've been using aha |
14:58:59 | FromDiscord | <jviega> Do those calls handle endianness automatically? |
14:59:25 | FromDiscord | <jviega> Not that endianness is all that important in DIY land since every machine is basically little endian these days |
14:59:47 | FromDiscord | <Chronos [She/Her]> They don't that's something I have to handle myself anyway aha |
15:00:18 | FromDiscord | <Chronos [She/Her]> Since MC's packets are (normally) BE data |
15:00:36 | FromDiscord | <nnsee> In reply to @chronos.vitaqua "Since MC's packets are": yes. painful. that's why my code was littered with `swap`s |
15:01:17 | FromDiscord | <Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
15:01:18 | FromDiscord | <Chronos [She/Her]> :) |
15:01:29 | FromDiscord | <Chronos [She/Her]> And the helper procs I made handle this automatically anyway |
15:02:09 | FromDiscord | <leorize> use status-im/stew/endians2 |
15:02:09 | FromDiscord | <leorize> std endians is horrifying |
15:03:04 | FromDiscord | <Chronos [She/Her]> Doesn't support signed ints aha |
15:03:26 | FromDiscord | <Chronos [She/Her]> Not hard to add manually but |
15:05:59 | FromDiscord | <leorize> signed int is terrifying \:P |
15:06:30 | FromDiscord | <Chronos [She/Her]> 🤷♀️ blame MC lol |
15:06:43 | FromDiscord | <Chronos [She/Her]> I'll just copy-paste and modify slightly |
15:10:20 | FromDiscord | <leorize> you do know you can just cast them to uint and back, right? |
15:10:57 | FromDiscord | <Chronos [She/Her]> I mean, I could, but it's more convinient to not need to do that in the first place |
15:11:23 | FromDiscord | <leorize> you can write a wrapper to cast it for you \:p |
15:12:03 | FromDiscord | <Chronos [She/Her]> You make a fair point ✨ |
15:13:08 | NimEventer | New thread by SuaveSteve: My experiences with Nim, see https://forum.nim-lang.org/t/10596 |
15:13:37 | FromDiscord | <wick3dr0se> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
15:14:32 | FromDiscord | <wick3dr0se> Wrong block |
15:21:34 | FromDiscord | <wick3dr0se> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
15:21:42 | FromDiscord | <wick3dr0se> (edit) |
15:22:13 | FromDiscord | <wick3dr0se> (edit) |
15:23:28 | FromDiscord | <wick3dr0se> Mostly not sure how things like `using` and `constexpr` work in Nim |
15:27:33 | Amun-Ra | can't see an example, but: using is builto-in and constexpr is just const |
15:31:08 | FromDiscord | <wick3dr0se> In reply to @Amun-Ra "can't see an example,": You can't see the snippet I shared? |
15:32:06 | Amun-Ra | no, these links are filtered out |
15:32:20 | Amun-Ra | "wick3dr0se | sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy!" |
15:32:45 | Amun-Ra | you can see them on discord only |
15:33:56 | FromDiscord | <wick3dr0se> Oh damn that sucks. Seems like most of you guys use Matrix ig? |
15:34:00 | * | thomasross joined #nim |
15:34:29 | Amun-Ra | dunno |
15:34:36 | Amun-Ra | I'm on IRC |
15:39:15 | FromDiscord | <wick3dr0se> I'm writing a game with SDL and the code block I sent is at 7 minutes in this video (if anyone is interested). Been converting this series to Nim and didnt have an issue till this https://iteroni.com/watch?v=XsvI8Sng6dk&list=PLhfAbcv9cehhkG7ZQK0nfIGJC_C-wSLrx&index=8 |
15:39:41 | * | thomasross quit (Ping timeout: 255 seconds) |
15:40:43 | Amun-Ra | this? |
15:41:23 | FromDiscord | <wick3dr0se> If you cant see links or code blocks thats crazy. I can see everything lol |
15:42:11 | Amun-Ra | I can see the video |
15:42:45 | FromDiscord | <wick3dr0se> At 7 mins that file is what I shared in the code block |
15:49:14 | FromDiscord | <griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
15:49:44 | FromDiscord | <griffith1deadly> (edit) |
15:52:31 | FromDiscord | <wick3dr0se> Was hoping there is some alternative in std libraries for bitset 🫤 |
15:53:04 | FromDiscord | <griffith1deadly> also you maybe can use bitty https://github.com/treeform/bitty |
15:53:48 | FromDiscord | <Chronos [She/Her]> In reply to @wick3dr0se "Was hoping there is": Bloat™️ |
15:53:56 | FromDiscord | <demotomohiro> Or you can implement your own bitset. |
15:54:02 | FromDiscord | <Chronos [She/Her]> No point shipping something apart of the stdlib if it won't get the attention it needs |
15:54:49 | FromDiscord | <wick3dr0se> In reply to @demotomohiro "Or you can implement": I havent considered what bitset really does but that doesn't sound too fun 😅 |
15:55:22 | Amun-Ra | you can implement bitset using set |
15:57:08 | FromDiscord | <wick3dr0se> In reply to @chronos.vitaqua "No point shipping something": I just prefer stick to std libs when possible. Just for prefrence |
15:57:18 | FromDiscord | <wick3dr0se> And itll get some love eventually |
15:57:52 | FromDiscord | <wick3dr0se> I know treeform makes a lot of solid third party libs tho |
15:59:15 | FromDiscord | <nnsee> i've just used enums and sets |
15:59:20 | FromDiscord | <nnsee> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
16:01:31 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "https://github.com/JorySchossau/bitset for bitset, ": also i think that ptr Component can be replaced with ref object definition of Component |
16:02:08 | FromDiscord | <ravinder387> https://web-frameworks-benchmark.netlify.app/result can i believe to this report? |
16:03:09 | FromDiscord | <nnsee> yes, but the results are meaningless |
16:03:23 | FromDiscord | <nnsee> they don't reflect real world usage |
16:11:47 | FromDiscord | <wick3dr0se> Thanks guys!! I'll do what I can with that 😅 |
16:16:47 | FromDiscord | <graveflo> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
16:19:10 | FromDiscord | <odexine> What’s the intention with that true with a block? |
16:19:17 | * | PMunch quit (Quit: Leaving) |
16:19:52 | FromDiscord | <graveflo> oh that was a typo.. I was editing this alot |
16:21:05 | FromDiscord | <graveflo> is the declaration of generic proc types usable? |
16:32:25 | FromDiscord | <Chronos [She/Her]> In reply to @wick3dr0se "And itll get some": Stuff is being moved out of the stdlib slowly, actually :p |
16:33:49 | FromDiscord | <wick3dr0se> In reply to @chronos.vitaqua "Stuff is being moved": Oh man 😦 the std libs are pretty amazing |
16:34:50 | FromDiscord | <wick3dr0se> I have noticed that stuff disappears though.. Like setting the terminal to raw mode with std/terminal |
16:39:41 | FromDiscord | <Chronos [She/Her]> Oh? |
16:46:07 | FromDiscord | <wick3dr0se> I started a little module for it https://github.com/wick3dr0se/term probably should rename it but if you see any of my stuff; Naming is not my thing 😅 |
16:46:24 | FromDiscord | <wick3dr0se> For things I needed that weren't in the terminal library |
16:46:41 | * | def- quit (Quit: -) |
16:46:54 | * | def- joined #nim |
16:52:07 | FromDiscord | <jviega> That’s because raw mode means different things go different people |
16:52:08 | FromDiscord | <Chronos [She/Her]> Fair, and naming is the bane of my existence haha |
16:54:46 | FromDiscord | <wick3dr0se> Well terminal raw mode is pretty standard where buffering is disabled, no line editing, control characters are interpreted and more.. Raw and cooked are just common terms for setting the terminal into those modes just as `stty` does |
16:56:41 | FromDiscord | <wick3dr0se> They still have rawMode implemented but it's just not exported https://github.com/nim-lang/Nim/blob/version-2-0/lib/pure/terminal.nim#L258C6-L258C6 |
16:56:58 | FromDiscord | <wick3dr0se> (edit) "rawMode" => "raw mode" |
17:03:32 | FromDiscord | <jviega> No, lots of differences in whether things like ISIG, IXON, and OPROC are part of raw mode |
17:04:25 | FromDiscord | <wick3dr0se> Yea it can be but at that point write it from scratch |
17:04:57 | FromDiscord | <jviega> ? Historically those things were in raw mode when it was fairly consistent |
17:06:17 | FromDiscord | <jviega> Lots of stuff. I’m on a phone right now but I think the well-known build a text editor tutorial hits the old classic, which is not a useful set of options for 99% of cases |
17:06:26 | FromDiscord | <jviega> But is often what people think of |
17:07:25 | FromDiscord | <jviega> My point is that “raw mode” isn’t a term worth using these days, it brings the wrong set of functionality to mind to the people that know the term |
17:07:42 | FromDiscord | <jviega> And for people that don’t, they won’t find a consistent definition anymore |
17:07:50 | FromDiscord | <wick3dr0se> Well this is for TUI stuff and its based off how `stty` does thing which I'd say it standard due to how widely used it is |
17:07:59 | FromDiscord | <wick3dr0se> (edit) "thing" => "things" |
17:08:06 | FromDiscord | <wick3dr0se> And its still used.. |
17:08:28 | FromDiscord | <jviega> stty will do anything, that’s part of its point |
17:08:38 | FromDiscord | <wick3dr0se> I get what you mean but people will adapt |
17:08:51 | FromDiscord | <wick3dr0se> `stty raw` |
17:09:21 | FromDiscord | <jviega> Well these days that behavior even depends on the os iirc |
17:09:43 | FromDiscord | <wick3dr0se> I have widely used projects with `stty` |
17:10:02 | FromDiscord | <wick3dr0se> This is all news for me 😅 |
17:10:37 | FromDiscord | <jviega> I’m old and have been writing pty code for 30 years 😉 |
17:11:50 | FromDiscord | <wick3dr0se> Haha I havent been around that long yet. Just been writing since I started on my GH. Sometime since 2021 I think |
17:11:55 | FromDiscord | <wick3dr0se> Just wrote a shitload of bash |
17:33:29 | * | def- quit (Quit: -) |
17:35:23 | * | def- joined #nim |
17:41:39 | FromDiscord | <jviega> Here's my current project using termios if you're interested: https://github.com/crashappsec/cap10 |
17:45:43 | NimEventer | New thread by Charles: Error: expression 'x' is of type 'y' and has to be used (or discarded), see https://forum.nim-lang.org/t/10597 |
17:53:04 | FromDiscord | <Chronos [She/Her]> Hey y'all, how do I decide between a proc with an inline pragma or a template? :p |
18:00:25 | FromDiscord | <Phil> In reply to @chronos.vitaqua "Hey y'all, how do": proc without the inline pragma, let the compiler decide to inline.↵Unless you actually have a benchmark to prove you otherwise that it makes sense, go just proc and let the compiler decide. |
18:11:05 | FromDiscord | <stoneface86> a rule of thumb I follow is if it's a simple one-liner then I'll just template it |
18:11:34 | FromDiscord | <stoneface86> but yeah, best to just use proc unless you have benchmarked it |
18:11:57 | FromDiscord | <stoneface86> I don't bother with {.inline.} |
18:12:14 | FromDiscord | <jmgomez> you shouldnt abuse templates as it increases comp times though |
18:14:29 | FromDiscord | <Phil> Basically: Just accept that the compiler is better than you at this 90% of the time unless you know better |
18:14:40 | FromDiscord | <Phil> (edit) "Basically: Just accept that the compiler is better than you at this 90% of the time unless you know better ... " added "and have proof" |
18:15:30 | FromDiscord | <Phil> But by default - Compiler knows best, any statement otherwise demands evidence in the form of benchmarks. |
18:17:05 | * | CO2 quit (Ping timeout: 240 seconds) |
18:17:53 | FromDiscord | <.aingel.> Can anyone give me some quick docs or something to read about templates? The official doc page seemed pretty complicated |
18:18:03 | FromDiscord | <.aingel.> i'm sure there are lots of features but I just wanted to get the basics down |
18:21:38 | FromDiscord | <Chronos [She/Her]> In reply to @isofruit "proc without the inline": Fair enough |
18:22:47 | * | neceve joined #nim |
18:31:53 | FromDiscord | <nervecenter> How do I get nim 2.0 to make use of `~/.nimble/pkgs2` instead of `~/.nimble/pkgs`? It keeps trying to use my old 1.6.14 packages. |
18:32:12 | FromDiscord | <nervecenter> I don't use nimble except to install packages, I use Makefiles and `nim c` |
18:33:38 | FromDiscord | <graveflo> `nimblepath` in `nim.cfg`? |
18:34:06 | FromDiscord | <nervecenter> I don't use nimble in my projects |
18:34:14 | FromDiscord | <nervecenter> Or |
18:34:19 | FromDiscord | <nervecenter> is this a global nim thing |
18:34:25 | FromDiscord | <graveflo> then use no nimble path cli option or remove those lines from nim.cfg |
18:34:35 | FromDiscord | <graveflo> there is a global `nim.cfg` |
18:34:49 | FromDiscord | <graveflo> in your toolchain dir from either manual install or choosenim |
18:35:13 | FromDiscord | <demotomohiro> In reply to @.aingel. "Can anyone give me": https://internet-of-tomohiro.netlify.app/nim/faq.en.html#frequently-asked-questions-about-nim-programming-language-template |
18:35:16 | FromDiscord | <graveflo> or just use atlas because it autiomatically sets up no nimble path |
18:35:26 | FromDiscord | <graveflo> (edit) "autiomatically" => "automatically" |
18:35:27 | FromDiscord | <nervecenter> In reply to @graveflo "in your toolchain dir": Gooot it, I see |
18:35:36 | FromDiscord | <nervecenter> `.choosenim/toolchains/nim-2.0.0/config/nim.cfg` |
18:35:44 | FromDiscord | <graveflo> yea |
18:37:24 | FromDiscord | <.aingel.> In reply to @demotomohiro "https://internet-of-tomohiro.netlify.app/nim/faq.en": Thank you very much! |
18:38:58 | * | krux02 joined #nim |
18:46:00 | FromDiscord | <Phil> demotomohiro once again swooping in to save a day 😄 ! |
18:46:47 | FromDiscord | <Phil> In reply to @demotomohiro "https://internet-of-tomohiro.netlify.app/nim/faq.en": Seriously just in general huge thanks for writing these articles. Just in this discord alone those have helped dozens of times and more |
18:48:01 | FromDiscord | <ezquerra> In reply to @isofruit "proc without the inline": I’d prefer it if I could decide without having to use a template. Maybe there could be a “forceInline” pragma, which made nim do the unliking instead have letting the C compiler decide |
18:48:20 | FromDiscord | <Phil> One sec, weren't you there when that debate was had in internals? |
18:48:45 | FromDiscord | <ezquerra> Yes 🙂 |
18:52:45 | FromDiscord | <Phil> Hmm arne's points there resonated with me more, thus I rather follow that: Let the compiler do its thing given that it has tens of thousand of manhours of work pumped into it.↵And yeah, it'd be better if `inline` actually forced the compiler to do what needs to be done, but I guess I don't code low-level enough to adopt the gut-feeling that it makes much of a differnece. |
18:52:48 | FromDiscord | <Phil> (edit) "differnece." => "difference." |
19:07:51 | FromDiscord | <System64 ~ Flandre Scarlet> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
19:09:50 | FromDiscord | <stoneface86> should be, https://nim-lang.org/docs/system.html#add%2Cseq%5BT%5D%2CopenArray%5BT%5D |
19:10:47 | FromDiscord | <System64 ~ Flandre Scarlet> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
19:11:17 | FromDiscord | <stoneface86> convert macLen to a byte |
19:11:33 | FromDiscord | <stoneface86> you gave it an array of ints I think |
19:12:39 | * | CO2 joined #nim |
19:13:22 | FromDiscord | <Chronos [She/Her]> sent a code paste, see https://play.nim-lang.org/#ix=down for a while due to DDOS. thanks, buddy! |
19:13:37 | FromDiscord | <Chronos [She/Her]> @System64 ~ Flandre Scarlet |
19:14:06 | FromDiscord | <stoneface86> oh is output immutable? That might be an issue |
19:14:35 | FromDiscord | <Chronos [She/Her]> I didn't even think of that tbh, but yeah that could be an issue |
19:14:38 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @chronos.vitaqua "You can do `output": Oh! So elegant! |
19:14:43 | FromDiscord | <stoneface86> but yeah `&` works too, although it requires a seq instead of openarray |
19:14:48 | FromDiscord | <Chronos [She/Her]> Yeaah |
19:15:03 | FromDiscord | <System64 ~ Flandre Scarlet> yeah I used ``let`` oof |
19:15:21 | FromDiscord | <Chronos [She/Her]> Now ya know haha |
19:34:47 | FromDiscord | <demotomohiro> In reply to @isofruit "Seriously just in general": I'm glad to hear my articles helps. |
19:39:57 | * | m5zs7k quit (Ping timeout: 248 seconds) |
19:41:06 | FromDiscord | <System64 ~ Flandre Scarlet> Aborted('wasmMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ))↵Is it normal I have this runtime error with Emscripten while doing ``var view = new Uint8Array(Module['wasmMemory'].buffer, $0, $1);``? |
19:42:24 | * | m5zs7k joined #nim |
19:56:57 | FromDiscord | <.aingel.> Is there some sort of workaround for having a filename start with a number? |
19:57:02 | FromDiscord | <.aingel.> (edit) "Is there some sort of workaround for having a ... filenameto" added "nim" | "nimfilename ... start" added "to" |
19:57:15 | FromDiscord | <Elegantbeef> Yea, don't |
19:57:28 | FromDiscord | <Elegantbeef> Module names should be valid identifiers |
19:57:29 | NimEventer | New thread by nelsonqt: Decimal operation, see https://forum.nim-lang.org/t/10599 |
19:57:46 | FromDiscord | <nnsee> In reply to @.aingel. "Is there some sort": why do you want this |
19:58:42 | FromDiscord | <.aingel.> I guess I'll just put a letter before it |
19:58:51 | FromDiscord | <.aingel.> Are all symbols not allowed in the beginning of a filename? |
20:05:34 | FromDiscord | <nervecenter> sent a code paste, see https://play.nim-lang.org/#ix=4KCi |
20:05:49 | FromDiscord | <nervecenter> (edit) "https://play.nim-lang.org/#ix=4KCi" => "https://play.nim-lang.org/#ix=4KCj" |
20:06:04 | FromDiscord | <nervecenter> (edit) "https://play.nim-lang.org/#ix=4KCj" => "https://play.nim-lang.org/#ix=4KCk" |
20:06:16 | FromDiscord | <nervecenter> (edit) "https://play.nim-lang.org/#ix=4KCk" => "https://play.nim-lang.org/#ix=4KCl" |
20:06:31 | FromDiscord | <nervecenter> (edit) "https://play.nim-lang.org/#ix=4KCl" => "https://play.nim-lang.org/#ix=4KCm" |
20:07:04 | FromDiscord | <nervecenter> (edit) "https://play.nim-lang.org/#ix=4KCm" => "https://play.nim-lang.org/#ix=4KCn" |
20:07:10 | FromDiscord | <Chronos [She/Her]> In reply to @nervecenter "Reposting from <#768367394547957761> in": Memory management seems completely unrelated to this, but have you tried using the `refc` GC? |
20:07:53 | FromDiscord | <nervecenter> So you're saying switching back to `refc` from `orc` tends to make problems go away? |
20:08:45 | FromDiscord | <.aingel.> What's a nim slice to the end? |
20:08:51 | FromDiscord | <.aingel.> Like index 1 to the end |
20:10:06 | FromDiscord | <nervecenter> `my_seq[1..^1]` |
20:10:09 | FromDiscord | <.aingel.> Gotcha |
20:10:20 | FromDiscord | <.aingel.> Do u think it's worth adding that to the docs |
20:10:35 | FromDiscord | <.aingel.> https://nim-lang.org/docs/tut1.html#advanced-types-slices |
20:10:35 | FromDiscord | <nervecenter> There's a whole section on slicing |
20:10:40 | FromDiscord | <.aingel.> Yeah I mean just that example |
20:10:55 | FromDiscord | <nervecenter> I mean I dunno, I figured it out pretty fast |
20:11:33 | FromDiscord | <nervecenter> If you ever wanna test small stuff, use `nim secret`, it's a not-really-a-full-REPL that works to figure out if you get a syntax feature or other small stuff. |
20:11:42 | FromDiscord | <.aingel.> Oh cool |
20:11:46 | FromDiscord | <.aingel.> Well it's more like |
20:11:49 | FromDiscord | <.aingel.> Yeah I figured it out too |
20:12:07 | FromDiscord | <.aingel.> With a test file but i think it should be there cause I think like other languages have a sort of syntax for the end |
20:12:29 | FromDiscord | <.aingel.> Or rather I mean like there's specific syntax for having only one bound for your slice |
20:12:36 | FromDiscord | <.aingel.> In python you don't include the limit |
20:12:39 | FromDiscord | <Chronos [She/Her]> In reply to @nervecenter "So you're saying switching": No, just curious to see if this is actually a memory management issue |
20:12:51 | FromDiscord | <.aingel.> So naturally someone might look at like, how do I specify I only want one limit |
20:12:59 | FromDiscord | <nervecenter> In reply to @chronos.vitaqua "No, just curious to": Seems it was, `refc` is working. It might be trying to collect the `JsonNodes` aas they're being created. |
20:13:16 | FromDiscord | <.aingel.> Your pfp is cool btw @nervecenter Is it supposed to be like a mutant barney? |
20:13:37 | FromDiscord | <.aingel.> Oh I see he is eating icecream too |
20:13:44 | FromDiscord | <nervecenter> In reply to @.aingel. "So naturally someone might": Nim requires full slices, if you look at `1..^1` on its own without brackets, that's basically macro expanded into an initialization of a Slice object. |
20:13:58 | FromDiscord | <nervecenter> In reply to @.aingel. "Oh I see he": It's Acrid from Risk of Rain |
20:14:21 | FromDiscord | <.aingel.> Ah gotcha, thanks! |
20:16:36 | FromDiscord | <Chronos [She/Her]> In reply to @nervecenter "Seems it was, `refc`": Oh wow, that's really odd |
20:41:05 | FromDiscord | <Chronos [She/Her]> Uhhh not sure how to model the API response for errors tbh |
20:51:06 | NimEventer | New post on r/nim by Better-Process5239: Why i get Error: type mismatch in seq.add?, see https://reddit.com/r/nim/comments/17n4q02/why_i_get_error_type_mismatch_in_seqadd/ |
20:55:38 | FromDiscord | <System64 ~ Flandre Scarlet> sent a long message, see http://ix.io/4KCA |
21:09:06 | FromDiscord | <Elegantbeef> @nervecenter wow a dirty acrid main?! 😄 |
22:07:04 | * | neceve quit (Ping timeout: 258 seconds) |
22:10:46 | FromDiscord | <Chronos [She/Her]> Hmm to use `Option` from stdlib or `Opt` from results |
22:12:43 | FromDiscord | <Chronos [She/Her]> The former will be used solely because it can be parsed nicely |
22:13:08 | * | advesperacit quit () |
22:14:57 | * | thomasross joined #nim |
22:29:06 | * | rockcavera quit (Remote host closed the connection) |
22:31:48 | * | neceve joined #nim |
22:35:02 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @sys64 "I tried to compile": I found the issue↵Chrome security issue (bruh...) |
22:38:44 | FromDiscord | <queebee> sent a code paste, see https://play.nim-lang.org/#ix=4KCS |
22:40:01 | FromDiscord | <Elegantbeef> https://github.com/nim-lang/x11/blob/master/x11/xinerama.nim |
22:46:03 | FromDiscord | <Chronos [She/Her]> `template instantiation too nested nim(nimsuggest chk)` fun |
22:47:23 | Amun-Ra | System64: the server must return to the client two CORS headers: Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp |
22:48:01 | Amun-Ra | shared memory will not work otherwise |
22:57:52 | FromDiscord | <nervecenter> In reply to @Elegantbeef "<@143177514385145856> wow a dirty": Acrid AND Mercenary, I'm filthy |
22:59:01 | FromDiscord | <nervecenter> In reply to @.aingel. "Oh I see he": Also that's not ice cream (it is in the original picture), the edit is Commando feeding him a sticky bomb |
23:04:04 | FromDiscord | <Chronos [She/Her]> Wow, so far my code is working with the restructure |
23:05:25 | FromDiscord | <Chronos [She/Her]> `template instantiation too nested nim(nimsuggest chk)` still getting this weird thing in my code, despite it having no effect at all |
23:05:40 | FromDiscord | <Chronos [She/Her]> This is with nimlsp btw |
23:16:29 | NimEventer | New thread by elcritch: Figuro updates: Scrollpane and more, see https://forum.nim-lang.org/t/10600 |