<< 04-03-2024 >>

00:19:14FromDiscord<Robyn [She/Her]> Hey leorize, if you're around, I have a quick question about the sans-io approach↵↵If my callback is synchronous, won't there be an issue with async sockets? Like, won't it block? Or is that up to the implementor to figure out?
00:20:30FromDiscord<leorize> why would you even have a callback in sans io?
00:21:22FromDiscord<Robyn [She/Her]> To receive the bytes from a streaming protocol?
00:21:47FromDiscord<Robyn [She/Her]> Since Minecraft has `VarInt`s which means the size isn't known until you read the bytes
00:21:56FromDiscord<Robyn [She/Her]> Beef talked about it yesterday when sans-io came up
00:24:20FromDiscord<leorize> so ask for more bytes
00:24:29FromDiscord<leorize> return a "need bytes" event
00:24:42FromDiscord<Robyn [She/Her]> In reply to @leorize "so ask for more": Which is why I'm using the callback
00:24:45FromDiscord<Robyn [She/Her]> In reply to @leorize "return a "need bytes"": I can do that
00:24:57FromDiscord<Robyn [She/Her]> Result types would be suitable here, I'd imagine
00:25:03FromDiscord<leorize> don't do callback, tell the caller what they need
00:25:12FromDiscord<Robyn [She/Her]> Alright!
00:27:13FromDiscord<leorize> but shouldn't you be buffering a bunch of bytes?
00:27:14FromDiscord<leorize> it's inefficient to read n \< 4k bytes at a time
00:29:29FromDiscord<Elegantbeef> Unless you have a incorrectly formatted packet the entirety of your message should be received and in the buffer afaik
00:30:11FromDiscord<Elegantbeef> Atleast if you read all the available data
00:33:54FromDiscord<Robyn [She/Her]> In reply to @leorize "but shouldn't you be": Wdym?
00:34:27FromDiscord<Robyn [She/Her]> MC formats packets as VarInt (id), VarInt (length), <length> bytes
00:34:42FromDiscord<Robyn [She/Her]> So that's the only time I'd be needing to request bytes individually
00:41:18FromDiscord<leorize> read as much as you can
00:41:24FromDiscord<leorize> then parse
00:42:46FromDiscord<leorize> the length tells you how many bytes following should be interpreted as varint
00:42:58FromDiscord<leorize> not how many bytes should you read
00:43:48FromDiscord<Elegantbeef> Wait MC uses variable length ints but uses an entire byte for length?
00:44:53FromDiscord<Robyn [She/Her]> In reply to @leorize "not how many bytes": What?
00:45:14FromDiscord<Robyn [She/Her]> The length is for how many bytes belong to the packet
00:46:11FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Wait MC uses variable": No it's the id of the packet as a VarInt, then the length of the packet data as a VarInt
00:46:15FromDiscord<Elegantbeef> Right but if you read all available data to the buffer you only have an issue if there is a malformed packet
00:47:18FromDiscord<Elegantbeef> Your buffer should never have a unfinished packet as far as I know
00:47:58FromDiscord<Elegantbeef> Though I'm just an evolved monkey at a keyboard so there should be a lot of salt
00:48:20FromDiscord<Robyn [She/Her]> That's... A true assumption to be fair, if that assumption is correct then I don't need to do what I'm doing since it's already implemented
01:03:33FromDiscord<leorize> your packet is just a framing rule
01:03:48FromDiscord<leorize> it doesn't mean anything more than that
01:04:09FromDiscord<leorize> clients will send data in a stream, your job is to make sense of it
01:04:55FromDiscord<Robyn [She/Her]> If I'm using non-blocking io, my concern is I don't want to lose data because I've read too much and don't need it
01:05:19FromDiscord<Robyn [She/Her]> So just requesting more bytes is probably what I'll do
01:05:39FromDiscord<Elegantbeef> If you return the length used and the event you suddenly do not have the read issue
01:05:54FromDiscord<leorize> what does it even mean to read too much?
01:06:35FromDiscord<Elegantbeef> They mean they attempt to read a var int but it is an invalid varint and now their api is in a bad state
01:06:45FromDiscord<Robyn [She/Her]> ^^^
01:06:54FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "*If you return the": I don't understand
01:06:57FromDiscord<Elegantbeef> They're imagining the case where you read `0xff 0xff` and you're at the end of the stream
01:07:46FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "They're imagining the case": Yeah, seems to be a possibility with how MC sends packets according to the people in the MC protocol discord
01:09:25FromDiscord<Elegantbeef> If you return the amount of bytes you read from the buffer and the error state from the procedure you do not ever have a case where you consumed incorrect data
01:09:59FromDiscord<Elegantbeef> think about it if you attempt to read a packet id but there is not enough data you emit a `(0, NeedData)` then you user code goes "Oh we need more data to continue so we read more to the buffer"
01:10:13FromDiscord<Robyn [She/Her]> Ooooh
01:10:21FromDiscord<Robyn [She/Her]> Okay that makes sense now, thank you
01:10:46FromDiscord<Robyn [She/Her]> My brain sucks at interpreting info so thanks for being patient
01:11:58FromDiscord<Elegantbeef> I still say it's likely a non issue as if you read the entirety of data waiting your packets will be fully there
01:12:17FromDiscord<Elegantbeef> You never receive a partial packet
01:13:00FromDiscord<Robyn [She/Her]> While packets are in the process of being sent though? Ah example would be with chunk data since that can be large
01:13:01FromDiscord<Elegantbeef> Minecraft uses TCP on top of it iirc
01:13:14FromDiscord<Robyn [She/Her]> Yeah it does
01:13:17FromDiscord<Elegantbeef> The entire message will be together
01:13:35FromDiscord<Elegantbeef> Atleast if I'm remembering how sockets work
01:14:10FromDiscord<Elegantbeef> Unless we're talking about super large packets that need multiple sends and to be recombined
01:14:35FromDiscord<Robyn [She/Her]> Yeaaah
01:14:48FromDiscord<Robyn [She/Her]> Likely a non-issue for the most part but better to be safe
01:17:49*Mister_Magister quit (Quit: bye)
01:36:05FromDiscord<sanspapyrus683> sent a code paste, see https://play.nim-lang.org/#pasty=zeBhdnPzhdeJ
01:36:29FromDiscord<sanspapyrus683> any way to get like c++ behavior where nim auto-assigns a value of 0
01:37:09FromDiscord<Elegantbeef> use a CountTable instead
01:40:46FromDiscord<sanspapyrus683> 1. tysm!↵2. why does it say you're a bot what
01:41:10FromDiscord<Robyn [She/Her]> It's a bridge to Matrix
01:42:25FromDiscord<sanspapyrus683> oh cool
03:42:47*krux02 quit (Remote host closed the connection)
05:32:08FromDiscord<__nycto__> I think I know the answer to this, but I’m going to ask anyway: is it possible to mark a global variable as gcsafe at the declaration instead of the usage?
05:36:58*azimut quit (Ping timeout: 260 seconds)
05:44:40FromDiscord<Elegantbeef> Nope
05:44:54FromDiscord<Elegantbeef> Either pass it as a parameter or cry in global memory usage
05:47:22FromDiscord<__nycto__> My tears shall be ones and zeroes
05:54:09FromDiscord<Elegantbeef> On the plus side you can always make a template inside the proc that wraps access with the cast
06:14:45FromDiscord<girvo> Anyone know the best way to deal with/represent BigDecimal Java numbers/postgres `numeric(precision, scale)` numbers?↵↵Trying to filter out uint64's that are bigger than our `numeric(19, 3)` (or `BigDecimal(19.3)` in the Java API side
06:15:35FromDiscord<Elegantbeef> https://github.com/status-im/nim-stint ?
06:16:31FromDiscord<girvo> Its for the server side so stack/heap doesn't worry me, but I'll take a look
06:17:03FromDiscord<girvo> I think I just need to work out what the maximum value is for numeric(19, 3) and then just do a uint64 `<` comparison in this case
06:17:47FromDiscord<girvo> We're getting uint64 data via Modbus RTU, and sending it to our Java API via JSON -- which can sometimes send a number bigger than what the Java API and database will accept
06:19:00FromDiscord<girvo> Though stint looks very useful for some other stuff haha, so thanks for that one
06:30:08*advesperacit joined #nim
06:53:40*SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev)
06:54:27*SchweinDeBurg joined #nim
06:54:34*Batzy quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
06:54:55*Batzy joined #nim
07:05:25FromDiscord<ezquerra> Is there a way to check at compile time if a procedure is called with one of its arguments being "static"? I know that you can declare a proc argument as static, and then nim will enforce at compile time that the value of the argument is known at compile time. Is there a way to _not_ declare an argument as static, but do something special at compile time _if_ the argument happens to be static?
07:06:36FromDiscord<odexine> Overloading?
07:06:56FromDiscord<odexine> I don’t know if static counts in overloading
07:09:32FromDiscord<ezquerra> Thanks, I'll need to check if that works. Is that the only way? Overloading doubles the amount of functions you must declare (i.e. you now have 2 versions of the function) so if you have many functions that you want to change in this way in could be inconvenient (compared to a `when arg is static` if that were possible)
07:11:03FromDiscord<odexine> I don’t think you can know whether an argument is static at the call side
07:17:19*rockcavera quit (Remote host closed the connection)
07:18:05FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=JwKenMTDOzHp
07:27:04*ntat joined #nim
07:29:03*Batzy quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
07:29:24*Batzy joined #nim
07:29:27*Batzy quit (Client Quit)
07:29:49*Batzy joined #nim
07:30:36*Batzy quit (Client Quit)
07:30:58*Batzy joined #nim
07:31:50*Batzy quit (Client Quit)
07:32:27*Batzy joined #nim
07:45:36FromDiscord<albassort> sent a code paste, see https://play.nim-lang.org/#pasty=zvMeXXLJudKv
07:45:38FromDiscord<albassort> this is new
07:45:47FromDiscord<albassort> was compiling before
07:46:09FromDiscord<Elegantbeef> Yea before it was wrong
07:46:13FromDiscord<Elegantbeef> drop the `{}`
07:46:43FromDiscord<albassort> but they look nice
07:47:05FromDiscord<albassort> they kinda make dont make much sense tho
07:47:32FromDiscord<Elegantbeef> They make sense if you have 2^64 bits of memory sitting there and want a set
07:48:42FromDiscord<albassort> my pc only has (2^64)-1
07:48:59FromDiscord<Elegantbeef> Sucks to suck
08:26:55FromDiscord<pedogirl> sent a long message, see https://pasty.ee/pufuaRlXpffs
08:27:03FromDiscord<Robyn [She/Her]> <@&371760044473319454>
08:27:10FromDiscord<Robyn [She/Her]> What the fuck
08:27:21FromDiscord<pedogirl> do you like chíld pórn ?
08:43:12*FromDiscord quit (Remote host closed the connection)
08:43:28*FromDiscord joined #nim
08:55:55*FromDiscord quit (Remote host closed the connection)
08:56:08*FromDiscord joined #nim
08:58:12*Mister_Magister joined #nim
09:00:06Amun-Raadmins?
09:07:25FromDiscord<pmunch> FFS..
09:10:24FromDiscord<pmunch> In reply to @Amun-Ra "admins?": Is there anything IRC specific?
09:11:06FromDiscord<pmunch> I think we've managed to ban and clear everything on the Discord/Matrix side
09:13:07FromDiscord<pmunch> If anyone wants a project by the way I'd love a Matrix bot which listened for bans and then banned and removed everything from that user across rooms
09:13:25FromDiscord<pmunch> Currently it's a very tedious, error prone, and manual process to ban someone
09:20:04FromDiscord<Elegantbeef> If mjolnir is setup that's doable
09:21:09FromDiscord<Elegantbeef> Atleast on the matrix side the bridge needs to properly propagate deletions
09:22:09FromDiscord<Elegantbeef> It'd just be `!mjolnir ban user ...` then `!mjolnir redact ...`
09:24:37Amun-Rapmunch: sadly, I don't think there is…
09:25:04FromDiscord<Elegantbeef> It'd also allow having a joint ban list with other servers to reduce spam further
09:46:10*xet7 joined #nim
09:48:22FromDiscord<pmunch> We have Mjølnir set up..
09:48:41FromDiscord<pmunch> But I don't think anyone really knows how it works or how to use it
09:48:58FromDiscord<pmunch> !mjolnir help
09:51:51FromDiscord<pmunch> I tried to figure it out at some point, but never managed.
09:53:29FromDiscord<Elegantbeef> https://github.com/matrix-org/mjolnir/blob/main/docs/moderators.md#quick-usage did you follow this?
09:54:45FromDiscord<pmunch> I literally just found that, not sure if it existed last time I looked at this
09:54:54FromDiscord<pmunch> !mjolnir rules
10:38:20*ntat quit (Quit: Leaving)
10:39:46*gst joined #nim
10:58:15FromDiscord<Robyn [She/Her]> Sort of tempted to do a macro that uses arrays of arrays to store objects and field data now :P
10:58:30FromDiscord<Robyn [She/Her]> Or seqs of seqs
11:05:37FromDiscord<odexine> Why?
11:16:40FromDiscord<ieltan> hello guys
11:17:34FromDiscord<ieltan> just a little question, how many bytes would you allocate on the stack in one go (an array or a really big object) until you go "yeah, that goes on the heap" ?
11:19:10FromDiscord<odexine> I don’t know, a few kilobytes!
11:19:13FromDiscord<odexine> ?
11:19:14FromDiscord<ieltan> I need to define a threshold generally saying `if size > threshold: malloc; else: ...`
11:19:52FromDiscord<ieltan> i see 🙂
11:20:27FromDiscord<ieltan> I was going for 2.6kB
11:21:15FromDiscord<0ffh> That seem like a very specific number, may I ask your reason?
11:22:31FromDiscord<ieltan> my own experience and profiling that showed me user inputs and interacting with api and parsing specific data rarely needed to exceed 2kB
11:23:11FromDiscord<ieltan> + 0.6 is a additional margin
11:23:17FromDiscord<nnsee> In reply to @ieltan "just a little question,": i mean that's dependent on a lot of things, the lifetime of the object being one thing for example
11:25:25FromDiscord<ieltan> In reply to @nnsee "i mean that's dependent": fair enough, i am currently trying to implement a flexible array that benefits from optimizing "small" seq by allocating on the stack instead
11:25:40FromDiscord<ieltan> and if it reaches a certain threshold it would reallocate on the heap
11:26:46FromDiscord<ieltan> surprisingly i didnt find sometime like this yet on Nimble except https://github.com/bpr/vla which is very barebones
11:27:06FromDiscord<ieltan> (edit) "sometime" => "something"
11:27:41FromDiscord<pmunch> There was some work on that for strings
11:27:54FromDiscord<pmunch> Short string of optimisation
11:30:48FromDiscord<ieltan> Right, from the sounds of it SSO is similar but i'm not familiar with the theory behind it but the implementation seems to ressemble what i am trying to do with a "general purpose" (not really) array custom array.
11:31:16FromDiscord<ieltan> (edit) removed "array"
11:42:40FromDiscord<ieltan> How does an implementation of SSO determines the ideal threshold at which it should allocate on the heap ?
11:44:04FromDiscord<Robyn [She/Her]> In reply to @odexine "Why?": Bored, and someone was looking for that before
11:46:47FromDiscord<Robyn [She/Her]> Also I wonder if there's any use to making Nim's compilation process multithreaded, but that seems pretty hard to do with the AST symbol resolution stuff
13:12:45*gst quit (Ping timeout: 250 seconds)
13:29:02*krux02 joined #nim
14:16:36*rockcavera joined #nim
14:17:09*Epsilon- joined #nim
14:17:36*Epsilon quit (Read error: Connection reset by peer)
14:50:17*azimut joined #nim
14:53:33*Ekho quit (Ping timeout: 256 seconds)
15:02:06*ntat joined #nim
15:35:19*Ekho joined #nim
15:44:43*rockcavera quit (Read error: Connection reset by peer)
15:45:02*rockcavera joined #nim
15:45:02*rockcavera quit (Changing host)
15:45:02*rockcavera joined #nim
16:17:03FromDiscord<marioboi3112> how long does it take to learn nim and actually work on a project, if you practice and learn daily for 3+ hours?
16:17:52FromDiscord<odexine> depends on the proejct size?
16:19:04FromDiscord<marioboi3112> what if they were small ones, like 2d and 3d games, and web sites or apps?
16:24:23FromDiscord<isaacpaul> accurate estimates are probably one of the most difficult things to do in the field of software engineering.
16:26:41FromDiscord<marioboi3112> In reply to @isaacpaul "accurate estimates are probably": i see, but on average, how long?
16:28:51FromDiscord<isaacpaul> If you're a complete beginner and following a tutorial. Then technically you're working on a project. ↵I'm assuming you mean how long until I will be somewhat 'productive' and 'capable' in the language. That could be a few weeks to a few months as a complete beginner depending on how talented you are.
16:28:59FromDiscord<jviega> Have you ever programmed??
16:29:53FromDiscord<jviega> Honestly, Nim is cool, but there is much more content to help beginners for many other languages, like Python
16:29:59FromDiscord<␀ Array 🇵🇸 🍉> also depends on previous exp and motovation↵(@isaacpaul)
16:31:45FromDiscord<␀ Array 🇵🇸 🍉> id personally recommend learning an easier langauge (like js) first then nim if you are completely new to programming
16:32:42FromDiscord<␀ Array 🇵🇸 🍉> lots of progeamming knowledge transfers when switching langauges and even libraries carry over to nim
16:33:04FromDiscord<isaacpaul> Yea probably. My first language was Basic then GML (game maker) then finally c++
16:34:51FromDiscord<marioboi3112> In reply to @jviega "Have you ever programmed??": yea, been 4 years
16:36:04FromDiscord<jviega> Well, if you're familiar w/ a game engine that is wrapped already, I assume you'd be fine. I know there's a Godot wrapping
16:36:50FromDiscord<marioboi3112> In reply to @jviega "Well, if you're familiar": nope, i have tried my best to avoid game engines lol, might start soon tho
16:37:52FromDiscord<ikeepgettingfuckingtermed> sent a code paste, see https://play.nim-lang.org/#pasty=XLefxeCJhZMQ
16:41:41FromDiscord<jviega> Well I'd probably pick a language you know better first. Easier than learning two major platforms at once
16:44:32FromDiscord<marioboi3112> In reply to @jviega "Well I'd probably pick": im quite new to nim, so i dont know it better
16:46:15FromDiscord<marioboi3112> so i should avoid nim?
16:53:28FromDiscord<jviega> Given the lack of resources for helping new people learn what you're trying to learn, probably.
16:57:39FromDiscord<that_dude.> sent a code paste, see https://play.nim-lang.org/#pasty=YdxrrCIrmvHq
17:34:48FromDiscord<saint.___.> In reply to @marioboi3112 "so i should avoid": I think you can start with nim it's fine
17:35:02FromDiscord<saint.___.> Depends on the project you're trying to do though I guess
17:36:41FromDiscord<marioboi3112> In reply to @saint.___. "Depends on the project": what could be some exceptions?
17:36:43*ntat quit (Quit: Leaving)
17:37:15FromDiscord<saint.___.> No idea really
17:37:25FromDiscord<saint.___.> Like if you want to make a mobile app or something
17:37:30FromDiscord<saint.___.> For example
17:38:38FromDiscord<marioboi3112> sorry if i'm getting annoying guys, bear with me, just wanted to know a bit more about the pros and cons of nim before i dive in 😅
17:38:56FromDiscord<marioboi3112> In reply to @saint.___. "Like if you want": so you can't do that in nim?
17:41:55FromDiscord<␀ Array 🇵🇸 🍉> its possible to do it but it may be more work than learning kotlin/java/swift/objc and using that for mobile platforms↵(@marioboi3112)
17:42:33FromDiscord<␀ Array 🇵🇸 🍉> those lanagauges also have better resources
17:44:40FromDiscord<␀ Array 🇵🇸 🍉> android\: https://nim-lang.github.io/Nim/nimc.html#crossminuscompilation-for-androidios\: https://nim-lang.github.io/Nim/nimc.html#crossminuscompilation-for-ios
17:44:47FromDiscord<marioboi3112> In reply to @␀ Array 🇵🇸 🍉 "its possible to do": i see, have you heard of this lib tho https://github.com/iffy/wiish
17:45:42FromDiscord<marioboi3112> seems like its on alpha tho
17:46:31FromDiscord<␀ Array 🇵🇸 🍉> i haven't, sad it doesnt support the wii↵(@marioboi3112)
17:46:41*ntat joined #nim
17:50:03FromDiscord<Robyn [She/Her]> Oh something fun I learnt recently, apparently Raylib can be compiled to the Wii
17:50:19FromDiscord<Robyn [She/Her]> Apparently, if my memory is correct
17:50:20FromDiscord<marioboi3112> In reply to @␀ Array 🇵🇸 🍉 "i haven't, sad it": lol, dont know why you would be sad if it doesnt support wii when you are targeting mobile devices
17:50:50FromDiscord<Robyn [She/Her]> Ah, it worked on the N64, so probably does work on the Wii
17:50:58FromDiscord<Robyn [She/Her]> Ray pinged everyone for it, that was pretty neat
18:43:45*rockcavera quit (Read error: Connection reset by peer)
18:44:10*rockcavera joined #nim
18:44:10*rockcavera quit (Changing host)
18:44:10*rockcavera joined #nim
18:50:29*rockcavera quit (Read error: Connection reset by peer)
18:50:50*rockcavera joined #nim
18:50:50*rockcavera quit (Changing host)
18:50:50*rockcavera joined #nim
19:00:31*zgasma quit (Quit: Lost terminal)
19:05:14*rockcavera quit (Read error: Connection reset by peer)
19:05:48*rockcavera joined #nim
19:05:48*rockcavera quit (Changing host)
19:05:48*rockcavera joined #nim
19:10:25*rockcavera quit (Read error: Connection reset by peer)
19:10:44*rockcavera joined #nim
19:15:25*rockcavera quit (Read error: Connection reset by peer)
19:15:45*rockcavera joined #nim
19:25:15*rockcavera quit (Read error: Connection reset by peer)
19:25:57*rockcavera joined #nim
19:30:36*rockcavera quit (Read error: Connection reset by peer)
19:30:55*rockcavera joined #nim
19:30:55*rockcavera quit (Changing host)
19:30:55*rockcavera joined #nim
19:35:31*rockcavera quit (Read error: Connection reset by peer)
19:35:51*rockcavera joined #nim
19:45:16*rockcavera quit (Read error: Connection reset by peer)
19:45:51*rockcavera joined #nim
19:46:18*azimut quit (Ping timeout: 260 seconds)
19:46:50*azimut joined #nim
19:52:10FromDiscord<0x42656e> In reply to @ikeepgettingfuckingtermed "hey, i need to": Hi, maybe this will help you: https://nim-lang.org/docs/httpclient.html#code
20:00:16NimEventerNew thread by xioren: Nim procedure args vs C and the need for pointers., see https://forum.nim-lang.org/t/11147
20:05:14*rockcavera quit (Read error: Connection reset by peer)
20:05:59*rockcavera joined #nim
20:09:30*xet7 quit (Remote host closed the connection)
20:10:05*xet7 joined #nim
20:12:21*Guest31 joined #nim
20:15:11*rockcavera quit (Read error: Connection reset by peer)
20:15:31*rockcavera joined #nim
20:24:08*ntat quit (Quit: Leaving)
20:51:18*Guest31 quit (Quit: Client closed)
20:56:13arkanoidfunny, my program works full speed in release, but crawls to sluggish speed with danger. I have no logic describing this
21:05:30FromDiscord<morgan> so cstring becomes a char pointer, right? is there another compat type that handles char arrays as a value type? like a char[64] or whatever not a pointer to that
21:06:01FromDiscord<Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=PYRtVUKkZDEw
21:07:17FromDiscord<Robyn [She/Her]> That test + this file: https://github.com/Nimberite-Development/ModernNet/blob/master/src/modernnet/io.nim#L82 + this function https://github.com/Nimberite-Development/ModernNet/blob/master/src/modernnet/buffer.nim#L67 seem to be the only culprits I can spot
21:07:46FromDiscord<Robyn [She/Her]> Though, I think it's likely the function in `io.nim` that I'm not seeing the logic error in
21:07:56FromDiscord<intellij_gamer> In reply to @morganalyssa "so cstring becomes a": `array[64, char]` should be that type I think
21:08:29FromDiscord<morgan> yeah im just wondering if there's something that makes it a little easier to interop with normal nim strings, i could write my own procs for that
21:08:52FromDiscord<Robyn [She/Her]> In reply to @morganalyssa "yeah im just wondering": Use `openArray[char]` where you'd normally use a string type
21:09:39FromDiscord<intellij_gamer> If only strutils used openArray 😔
21:09:48FromDiscord<morgan> tho probably all i need to do is convert string to array of chars
21:16:59FromDiscord<Elegantbeef> Patito tried 😄↵(@intellij_gamer)
22:02:57arkanoidI've type-refactored my code, it compiles just as before, everything went smooth apparently ... but now malebolgia goes deadlock lol
22:08:44arkanoidnevemind, result seq for malebolgia doesn't like newSeqWithCap
22:24:35FromDiscord<Robyn [She/Her]> I am so fed up now
22:24:44FromDiscord<Robyn [She/Her]> My code is causing so much headache...
22:24:56FromDiscord<Robyn [She/Her]> I'd rather use the callback method I was gonna use before :/
22:36:30FromDiscord<Elegantbeef> Then use it
22:44:54FromDiscord<Robyn [She/Her]> Wouldn't be following the philosophy :/
23:08:10*dtomato quit (Quit: The Lounge - https://thelounge.chat)
23:09:31*advesperacit quit ()
23:16:55*dtomato joined #nim
23:22:57*Epsilon- is now known as Epsilon
23:38:39*LuxuryMode_ joined #nim
23:39:05*LuxuryMode_ is now known as LuxuryMode