<< 25-03-2022 >>

00:02:50FromDiscord<exelotl> oh yeah ofc, this was in response to a snippet someone posted but they deleted it
00:10:24*Zectbumo joined #nim
00:13:27*jmdaemon quit (Ping timeout: 260 seconds)
00:17:05FromDiscord<Bubblie> how do I remove something from nimble
00:17:38FromDiscord<Bubblie> nvm
00:17:38FromDiscord<Bubblie> got it
00:19:21FromDiscord<Bubblie> ok
00:19:26FromDiscord<Bubblie> for some reason futhark is failing
00:19:51FromDiscord<Bubblie> dont I have clang in my path wtf
00:19:56FromDiscord<Bubblie> let me check
00:20:14FromDiscord<Bubblie> oh wait yeah
00:20:15FromDiscord<Bubblie> I uh
00:20:22FromDiscord<Bubblie> un installed
00:20:23FromDiscord<Bubblie> LMAO
00:20:45FromDiscord<Bubblie> redownload ig
00:23:01*acidsys quit (Excess Flood)
00:23:33*acidsys joined #nim
00:26:58FromDiscord<Bubblie> there we go
00:27:05FromDiscord<Bubblie> clang should be useable now
00:27:17FromDiscord<Bubblie> gotta restart though cause windows is fucking garbage
00:31:22FromDiscord<Bubblie> @PMunch not sure if you will get this ping on IRC but do I need to have the user install clang on their machine as well to use my compiled application?
00:32:48FromDiscord<Bubblie> also im having problems with making nimble find the path I made for clang
00:38:10FromDiscord<Bubblie> I add the bin to the path right?
00:38:27FromDiscord<Bubblie> or lib
01:02:49*acidsys quit (Excess Flood)
01:03:21*acidsys joined #nim
01:24:32NimEventerNew Nimble package! romanim - Converts Roman numerals to what you understand without a blink, see https://github.com/bichanna/romanim#romanim
01:41:29FromDiscord<Reptorian> that's very easy to code in, but better in a package anyway. less work to whoever wants that.
01:42:28FromDiscord<Elegantbeef> \But it uses my nemesis, regex!&
01:49:51FromDiscord<huantian> I need to make I-DUNNO in nim at some point
01:50:09FromDiscord<huantian> might need it for a future project
01:51:19FromDiscord<Reptorian> I-DUNNO?
01:51:33FromDiscord<Reptorian> googles it
01:52:06FromDiscord<Bubblie> LMAO
01:52:51FromDiscord<Elegantbeef> Is that your package reptor?
01:54:29FromDiscord<huantian> it's a joke RFC, #8771↵(@Reptorian)
01:55:26FromDiscord<Reptorian> yeah, i only googled as i was like "that's not a thing". couldn't hurt to check.
01:55:44FromDiscord<Reptorian> there are projects with strange name though
02:35:47*neurocyte0917090 quit (Ping timeout: 260 seconds)
02:42:44FromDiscord<Sabena Sema> static in C++ is even more cursed than C. The initializers can be non-static (and in that case are "run once", additionally YOU CAN USE THEM IN INLINE FUNCTIONS
02:43:10FromDiscord<Sabena Sema> you can use them in C inline functions too, I think, maybe, but C inline doesn't have the semantics that make it problematic in C++
02:43:31FromDiscord<Sabena Sema> if you use a library that ever uses them in such an inline function as a DSO then it can _never_ be unloaded
02:44:13FromDiscord<Sabena Sema> and they don't respect RTLD_LOCAL afaik
02:45:04FromDiscord<huantian> [Elegantbeef](https://matrix.to/#/@elegantbeef:matrix.org)\: thoughts on using `compiles()` like I mentioned here https://github.com/nim-lang/Nim/pull/19622#issuecomment-1078591299
02:45:31FromDiscord<Elegantbeef> If it works it seems fine
02:45:38FromDiscord<Elegantbeef> But i dont think it'll compile
02:46:09FromDiscord<Elegantbeef> `yield FutureBase()` is only ever valid inside an iterator and `compiles` doesnt know the scopee
02:46:33FromDiscord<huantian> https://play.nim-lang.org/#ix=3ToX↵this does seem to work though
02:46:48FromDiscord<Elegantbeef> Then there you go
02:48:52FromDiscord<Equinox> Is there are nim library for playing audio files?
02:49:20FromDiscord<Elegantbeef> there is an openal wrapper, you can use sdl2, you can use slappy
02:52:58*rockcavera quit (Remote host closed the connection)
02:59:50FromDiscord<Bubblie> openal is really good
03:00:00FromDiscord<Bubblie> never heard of slappy
03:00:21FromDiscord<Elegantbeef> slappy is treeforms abstraction on openal
03:00:30FromDiscord<Bubblie> thats cool
03:00:42FromDiscord<Elegantbeef> Do you just arbitrarily say that? 😛
03:01:08FromDiscord<huantian> I mean it's a treeform library that ends in y it has to be cool
03:01:29FromDiscord<Bubblie> In reply to @Elegantbeef "Do you just arbitrarily": I mean. what else do you want me to say
03:01:48FromDiscord<Bubblie> In reply to @huantian "I mean it's a": LOL
03:03:38FromDiscord<Bubblie> well idk how to tell windows to stop being an annoying piece of shit
03:03:50FromDiscord<Bubblie> so I can use fucking futhark
03:04:00FromDiscord<Bubblie> pain in my fucking ass
03:05:58*Gustavo6046 joined #nim
03:07:12FromDiscord<huantian> hey beef do you know how to fix windows failing the text case because the nimout has \\ instead of /
03:07:28FromDiscord<Elegantbeef> Nope
03:07:49FromDiscord<Elegantbeef> Installing a better OS tends to tell windows that 😜↵(@Bubblie)
03:09:39FromDiscord<Bubblie> I need fedora linux 😭
03:13:55*Zectbumo quit (Remote host closed the connection)
03:16:00nrds<Prestige99> Get it :P
03:16:05nrds<Prestige99> (it's free)
03:21:37*Zectbumo joined #nim
03:30:32FromDiscord<Elegantbeef> Wait redhat is free?
03:31:24FromDiscord<Elegantbeef> Shit i fucked that up
03:31:40FromDiscord<Elegantbeef> Prestige did you get pmunch to send you an example tour?
03:37:23nrds<Prestige99> nah I was busy all day
03:50:56FromDiscord<spoon> isnt the nim version on debian still a beta? personally i go for manjaro
03:52:15FromDiscord<Rika> Sorry what do you mean?
03:52:24FromDiscord<Rika> What’s the version number there
03:53:06FromDiscord<Elegantbeef> If you're using your package manager for a language you're going to have a bad time
03:54:47nrds<Prestige99> Yep - just use choosenim
03:55:59FromDiscord<huantian> I'd recommend using endeavor instead of manjaro, as a manjaro user↵(@spoon)
03:57:11FromDiscord<Elegantbeef> I love how picky people can be about distro, my bar is "does it work and does it not do overly stupid shit"
03:59:01*Zectbumo quit (Remote host closed the connection)
03:59:57FromDiscord<huantian> I mean I use manjaro and it's a fine distro and I'm too lazy to switch rn
03:59:57FromDiscord<Elegantbeef> Just use a distro that doesnt piss you off, and provides you with a good default in your view
04:01:03FromDiscord<Elegantbeef> Anywho yea use linux bubblie
04:01:05*ltriant joined #nim
04:02:07*ltriant_ quit (Ping timeout: 256 seconds)
04:13:13FromDiscord<Goat> Whats the best way of ensuring performace when acessing and replacing an item in a 2d array?
04:13:31FromDiscord<Elegantbeef> What do you mean?
04:13:40FromDiscord<Elegantbeef> `array[id][id] = myVal`
04:13:54FromDiscord<Goat> I mean, is there anything beyond that
04:14:24FromDiscord<Elegantbeef> Nope
04:14:48FromDiscord<Elegantbeef> What are you trying to avoid?
04:17:44*slowButPresent quit (Quit: leaving)
04:19:36nrds<Prestige99> That reminds me, I should make that 2D seq library...
04:25:32FromDiscord<Goat> In reply to @Elegantbeef "What are you trying": Theres not really anything but I just wanted to know
04:25:53FromDiscord<Goat> Also trying ot wrap my head around pararules
04:25:59FromDiscord<Elegantbeef> The seq library would just be `[a, b]` accessors for `seq[T]`?
04:25:59FromDiscord<Goat> (edit) "ot" => "to"
04:27:34*redj quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
04:28:26*redj joined #nim
04:29:16nrds<Prestige99> Pretty much, beef
04:29:33FromDiscord<Elegantbeef> Guess you'd also have some iterators for row/cols
04:29:51nrds<Prestige99> https://github.com/avahe-kellenberger/maze_bench_nim/blob/master/src/seq2d.nim
04:30:04nrds<Prestige99> Yeah I'd extend it a bit
04:30:31FromDiscord<Elegantbeef> Well you'd doing stuff wrong there but anyway
04:30:59nrds<Prestige99> Hmm.
04:31:01nrds<Prestige99> ?*
04:31:19FromDiscord<Elegantbeef> Doing `when defined(danger)`
04:31:40FromDiscord<Elegantbeef> It should be if checks are on
04:32:01nrds<Prestige99> Can you elaborate?
04:33:18FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3Tpg
04:33:22FromDiscord<Elegantbeef> I think that's right
04:34:15nrds<Prestige99> Hmm okay, I'll look into it
04:34:50FromDiscord<Elegantbeef> That's not right either, dammit gotta look at it more
04:35:01FromDiscord<Elegantbeef> Anyway the point being is `--checks:off` is what controls that not `-d:danger`
04:36:20nrds<Prestige99> I'll have to figure out how to get the value of that switch
04:36:40FromDiscord<Elegantbeef> Could also just use an assert
04:37:07FromDiscord<Elegantbeef> But i dont think that's "proper"
04:37:39nrds<Prestige99> That's true, assertions would be turned off in some cases yeah?
04:38:18FromDiscord<Elegantbeef> Yea
04:39:20FromDiscord<Elegantbeef> ah it's `when compilerOption"checks"`
04:39:35FromDiscord<Elegantbeef> `compileOption`\
04:40:09FromDiscord<Elegantbeef> Though you probably want `--boundChecks`
04:40:19nrds<Prestige99> Does that presume it's on, or does that hold the value?
04:40:38FromDiscord<Elegantbeef> It returns the value
04:40:50FromDiscord<Elegantbeef> if it's `--checks:off` it's false if it's `--checks:on` it's true
04:41:07nrds<Prestige99> Awesome, thanks
04:41:12nrds<Prestige99> Where did you find this info?
04:41:26FromDiscord<Elegantbeef> `system.nim` code 😛
04:41:30nrds<Prestige99> I'm on mobile atm so haven't been looking
04:41:33nrds<Prestige99> Nice
04:41:46FromDiscord<Elegantbeef> It's not well documented how to properly do that
06:01:30*Gustavo6046 quit (Remote host closed the connection)
06:02:01*Gustavo6046 joined #nim
06:04:08*Gustavo6046 quit (Remote host closed the connection)
06:04:35*Gustavo6046 joined #nim
06:13:42*acidsys quit (Excess Flood)
06:14:14*acidsys joined #nim
06:29:06*GreaseMonkey quit (Read error: Connection reset by peer)
07:49:07*Gustavo6046 quit (Read error: Connection reset by peer)
07:49:30*Gustavo6046 joined #nim
07:54:02*PMunch joined #nim
07:56:01PMunch@Bubblie, yes I get your pings through the bridges
07:56:24PMunchAnd no, a user don't need clang installed to run an application compiled with Futhark
07:57:08FromDiscord<Elegantbeef> Pmunch got a link to one of the playground tours, i really need to bookmark it for whenever it comes up again 😛
07:57:37PMunchAnd yes, it's a pain to get it working on Windows. I don't really have a Windows machine to test things on, but I might spin up a VM one of these days to see if I can make it work properly
07:57:50PMunch@Elegantbeef, I think those are broken unfortunately
07:58:05PMunchI tried to share a link to one a couple weeks back but it just kept erroring out
07:58:08FromDiscord<Elegantbeef> Ah
07:58:30PMunchAnd since no-one ever used the feature I think it will get removed in the redesign
07:58:59FromDiscord<Elegantbeef> So i guess nevermind prestige no more tour'd playground
07:59:46PMunchI mean if you see a usecase for it I guess I could bring it back
08:00:35FromDiscord<Elegantbeef> Prestige wanted to port the Nim tutorial RSTs to an interactive tutorial so i suggested playground
08:05:33PMunchAaah right, that would definitely be one way of doing it
08:10:17PMunchTo be honest I'm not entirely sure why it suddenly broke
08:19:17FromDiscord<hmmm> friendsies how to check if an HSlice is empty?
08:19:38FromDiscord<Elegantbeef> empty?
08:19:46FromDiscord<Elegantbeef> `myHslice.b < myHslice.a`?
08:19:50FromDiscord<hmmm> nu
08:20:08FromDiscord<hmmm> if I check an empty one with echoes it prints : Slice[system.int]
08:20:12FromDiscord<hmmm> I want to check for that
08:20:26FromDiscord<Elegantbeef> what's an empty hslice?
08:20:38FromDiscord<hmmm> I don't know lol but I want to check for it 😄
08:20:49FromDiscord<Elegantbeef> Show your code so i dont have to pull teeth
08:20:57FromDiscord<enthus1ast> echo (0..0).len ?
08:21:04FromDiscord<hmmm> MAYBE
08:21:06FromDiscord<hmmm> wait
08:22:13FromDiscord<Elegantbeef> I guess len would work, it's just what my math shows anyway
08:22:20FromDiscord<Elegantbeef> my logic shows\
08:22:27FromDiscord<hmmm> it werks! ty enthy and beefy
08:23:33FromDiscord<Elegantbeef> "The enthy and beefy show"
08:23:53FromDiscord<hmmm> the best in town
08:23:55FromDiscord<Elegantbeef> One gives the answer the other gives the answer in a different way
08:34:20*xet7 quit (Read error: Connection reset by peer)
08:46:03*Gustavo6046 quit (Remote host closed the connection)
08:46:20*Gustavo6046 joined #nim
09:15:09*acidsys quit (Excess Flood)
09:15:44*acidsys joined #nim
09:15:46*acidsys quit (Excess Flood)
09:16:24*acidsys joined #nim
09:17:51FromDiscord<enthus1ast> I finally found a /terrible/ solution to insert json into mariadb with db\_mysql....
09:18:28FromDiscord<enthus1ast> https://play.nim-lang.org/#ix=3TpW
09:18:50FromDiscord<enthus1ast> if you have other solutions please share ...
09:19:33FromDiscord<enthus1ast> the last fff is not correct in db.exec
09:19:55FromDiscord<enthus1ast> imho its a bug, it should work like normal with ?
09:20:02FromDiscord<enthus1ast> with `?`
09:20:17NimEventerNew thread by Stedi: Xml-rpc client lib?, see https://forum.nim-lang.org/t/9041
09:27:19FromDiscord<Phil> You can only do boolean compiler flags right? As in, check with "defined(compilerFlagName)", not associate a value with it?
09:27:54FromDiscord<TryAngle> sent a code paste, see https://play.nim-lang.org/#ix=3TpZ
09:29:58FromDiscord<enthus1ast> imho you must do this on C creation, but others might know a way
09:34:13PMunchYeah I don't think there's a way to have a variant object limited to a certain kind. Would be neat though, especially for things like NimNodes
09:34:28PMunch@Phil, no you can also assign string and number values to them
09:36:54FromDiscord<TryAngle> In reply to @PMunch "Yeah I don't think": yes, I'm using a node structure right now but not having the limitation is also fine↵Thanks for answering, would be cool if something this would be implemented in the future
09:37:03FromDiscord<TryAngle> (edit) "In reply to @PMunch "Yeah I don't think": yes, I'm using a node ... structure" added "data"
09:47:49FromDiscord<hmmm> hooy
09:48:20FromDiscord<hmmm> do we happen to have something like python maketrans() and translate()
09:48:52FromDiscord<hmmm> seems very comfy
09:50:16PMunchWe have strutils.multireplace which does the work of translate()
09:50:44PMunchAnd writing a makereplacements procedure should be fairly trivial, although I don't believe one exists in the standard library
09:50:46FromDiscord<hmmm> pmunchie thanks I'll go check
09:51:17FromDiscord<hmmm> I'll make one no prob, we must have 1:1 feature parity with pythons amiright?
09:52:36FromDiscord<TryAngle> may somebody ELI5 why objects can't be self referential but reference objects can 🥺
09:54:57PMunch@TryAngle, sure
09:55:06PMunchObjects are copied by value
09:55:16FromDiscord<demotomohiro> reference types are actually pointers
09:55:40PMunchSay object A has a single integer field, then its size would be 8 bytes (on a 64-bit machine)
09:56:14PMunchIf object B has an int field and an object A field it would take 16 bytes, 8 for the int, and 8 for the A object
09:57:02PMunchNow if object C tries to have a object C field, that means that it is infinitely big, since its own size is recursively defined on itself
09:57:24PMunchHowever with references, as @demotomohiro pointed out, only a reference to that object is stored
09:57:41PMunchReferences are the same size as a pointer, and these are always fixed size
09:58:03FromDiscord<TryAngle> Ah I see that makes sense
09:58:07PMunchSo If object C is a reference object, and it contains an object C field, it will also be 8 bytes big
09:58:24PMunchThis is because pointers and references are 8 bytes on a 64-bit machine
09:59:10FromDiscord<TryAngle> sent a code paste, see https://paste.rs/GDC
09:59:13PMunchNow if object A had another int field and it was 16 bytes big, then object B would be 16+8=24 bytes large. But if object A was a reference object then object B would still be 16 bytes big, 8 for the reference to A, and 8 for the int
09:59:38PMunch@TryAngle, yes, or better yet a reference
10:00:42FromDiscord<TryAngle> ah ok, I understand now thanks a lot 🥺😊
10:00:59FromDiscord<TryAngle> the size definition was what I lacked I think 🤔
10:01:02PMunchhttps://play.nim-lang.org/#ix=3Tq7
10:01:48PMunchMight be even clearer with a repr: https://play.nim-lang.org/#ix=3Tq8
10:02:26FromDiscord<TryAngle> No reply from server: 502 💀💀
10:02:36PMunch@TryAngle, just try again
10:02:39FromDiscord<TryAngle> (edit) "502" => "503"
10:03:03PMunchNote that in a way a ref A is the same as an option, since the reference can be nil
10:04:24PMunchAh never mind, the server is down for some reason..
10:24:15FromDiscord<fbpyr> sent a code paste, see https://paste.rs/fGX
10:25:21FromDiscord<enthus1ast> sent a code paste, see https://play.nim-lang.org/#ix=3Tqc
10:25:47FromDiscord<fbpyr> aah ok! thanks!!
10:27:59FromDiscord<hmmm> wot
10:28:27FromDiscord<hmmm> sent a code paste, see https://paste.rs/jca
10:28:51FromDiscord<fbpyr> well then the string is empty
10:28:57FromDiscord<fbpyr> I tried that as well.
10:29:05FromDiscord<enthus1ast> yeah you can do it like this as well (i use both styles, where i see it fits
10:29:06FromDiscord<enthus1ast> )
10:29:16FromDiscord<hmmm> I didn't know about your style
10:29:23FromDiscord<fbpyr> ah no mine is different
10:31:52FromDiscord<fbpyr> thank you for the different versions 😌
10:35:10PMunchThey have their pros and cons. The second way might feel more common from other languages, but it has a couple drawbacks. Mainly that the resulting variable has to be a var, it's easier to leave in uninitialised by accident, with let and a block assignment Nim will check all your branches and guarantee that it is actually set to something, and it can't ever be changed after the initial assignment.
10:44:01FromDiscord<fbpyr> if the whole purpose of the conditional is getting to the variable (as in my example) , ↵then I actually like version 1 better. ↵but it is great to have seen both possibilities and reasoning of their pros/cons. 🙂
10:46:21PMunchI mean your initial problem is simply that the variable isn't declared in the scope you try to use it in
11:00:48*toulene3 joined #nim
11:01:22*toulene quit (Ping timeout: 272 seconds)
11:01:23*toulene3 is now known as toulene
11:11:06FromDiscord<enthus1ast> i get random SIGSEGV in my prologue app \:/
11:11:32FromDiscord<enthus1ast> but i think the're gc issues
11:11:59FromDiscord<enthus1ast> https://play.nim-lang.org/#ix=3Tqn
11:12:19FromDiscord<enthus1ast> have you seen these @xflywind ?
11:15:13FromDiscord<enthus1ast> also crashes on stable ;\_;
11:33:14FromDiscord<Bubblie> Pmunch, do you know where I should put the path to clang in windows
11:33:25FromDiscord<Bubblie> For futhark
11:33:39FromDiscord<Bubblie> And should it be the path to the lib folder?
11:36:53PMunchUhm, damn it, I should've written it down when I went through this with System64..
11:39:07FromDiscord<Rika> discord has a search function, do you know what you said roughly?
11:39:18FromDiscord<Rika> or check irc logs if you know what time
11:39:28PMunchI can't remember exactly when it was
11:40:02PMunchIt was a conversation over multiple days between me and System64 Flandre Scarlett about clang, futhark, and windows paths
11:42:33PMunch@Bubblie, they had major issues with spaces in the path, so put it in a path without spaces
11:42:49PMunchAnd not sure what you mean path to the lib folder
11:42:55PMunchWhat exactly doesn't work?
11:43:08PMunchCan you install Futhark?
11:43:13PMunchDoes it build Opir?
11:44:55FromDiscord<xflywind> In reply to @enthus1ast "have you seen these": I have no idea, but it looks like a gc bug.
11:46:48FromDiscord<hmmm> hoy do we have a builtin utility to iterate over multiline strings line by line?
11:47:50FromDiscord<Solitude> splitLines
11:47:55FromDiscord<Solitude> in strutils or something
11:48:00FromDiscord<hmmm> muh bro
11:48:12PMunchNothing that takes a bunch of strings and iterates over all their lines though
11:48:16PMunchAs far as I'm aware
11:48:34FromDiscord<hmmm> bunch as multiple different strings?
11:48:48FromDiscord<Solitude> thats called two for loops
11:49:42PMunchYeah multiple different strings
11:49:56PMunchAnd is splitLines an iterator?
11:50:02PMunchOr will that allocate all the new strings?
11:52:16FromDiscord<Solitude> its both
11:52:20FromDiscord<Solitude> power of overloading
11:52:29PMunchNice
11:52:35FromDiscord<auxym> In reply to @Solitude "thats called two for": or something like chain from https://github.com/narimiran/itertools
11:53:53FromDiscord<Solitude> In reply to @auxym "or something like chain": that requires to allocate each subsequence of lines, losing the advantage of iterated form
12:01:16FromDiscord<hmmm> also do we have some fuzzy thing for measuring the string distance of 2 strings like Levenshtein or whatever
12:02:28FromDiscord<Rika> https://nim-lang.org/docs/editdistance.html
12:02:57FromDiscord<hmmm> unicode-rune distance? hmm? works for ascii too?
12:03:09FromDiscord<hmmm> oh there is one for ascii
12:03:10FromDiscord<Rika> look LITERALLY RIGHT BELOW THAT
12:03:12FromDiscord<Rika> lol
12:03:13FromDiscord<hmmm> haha
12:03:24FromDiscord<Rika> btw
12:03:47FromDiscord<Rika> ascii is a subset of utf-8 which is what nim means by unicode rune i believe
12:07:24FromDiscord<Solitude> zamn, another module allergic to openArray[char], amazing
12:08:07FromDiscord<Rika> well its not well known
12:09:06FromDiscord<konsumlamm> or rr
12:09:30FromDiscord<konsumlamm> or rather in the case of the stdlib, most of it was written before `openArray` was a thing
12:16:42FromDiscord<Bubblie> In reply to @PMunch "@Bubblie, they had major": So like
12:16:53FromDiscord<Bubblie> I have installed llvm and clang in a folder pmunch
12:16:56FromDiscord<Bubblie> And
12:17:02FromDiscord<Bubblie> This folder contains a lib folder
12:17:04FromDiscord<Bubblie> A bin folder
12:17:07FromDiscord<Bubblie> Etc.
12:17:15FromDiscord<Bubblie> I added the lib folder to the path
12:17:21PMunchWhich path?
12:17:26FromDiscord<Bubblie> User
12:17:33PMunchOkay
12:17:39FromDiscord<Bubblie> Didnt work
12:17:47FromDiscord<Bubblie> So I tried the bin folder
12:17:49FromDiscord<Bubblie> Also didn’t work
12:17:50PMunchAgain, what didn't work
12:17:56FromDiscord<Bubblie> Building futhark
12:17:59PMunchRight
12:18:09FromDiscord<Bubblie> Trying to remember
12:18:09PMunchThe error being that it can't find libclang or something?
12:18:12FromDiscord<Bubblie> What exactly
12:18:16FromDiscord<Bubblie> Im not at my computer
12:18:17FromDiscord<Bubblie> OH WAIT
12:18:20FromDiscord<Bubblie> Yes -lclang
12:18:30FromDiscord<Bubblie> “Failed to find lclang”
12:18:36FromDiscord<Bubblie> And then it proceeds to print a bunch of paths
12:18:48FromDiscord<Bubblie> (edit) "lclang”" => "-lclang”"
12:18:51PMunchYeah, for that libclang.dll or whatever needs to be in your library loading path
12:19:13FromDiscord<Bubblie> Ah okay, so im assuming that dll is somewhere in the install
12:19:31PMunchOn linux this includes a system path (so you can just do `apt install libclang; nimble install futhark`) but on Windows I'm not sure how that works
12:19:38PMunchYeah it should be in the lib folder of clang
12:20:34FromDiscord<Bubblie> God I hate windows
12:20:44FromDiscord<Bubblie> Ill try doing this again when I get home
12:20:51FromDiscord<Bubblie> Thanks for helping so far pmunch
12:21:23FromDiscord<Bubblie> Im installing fedora linux on a seperate external drive
12:21:29FromDiscord<Bubblie> I cant wait to just
12:21:30FromDiscord<Bubblie> Use it
12:21:31FromDiscord<Bubblie> God
12:25:28PMunchI mean part of the problem here is that I've developed it on a Linux machine, the fact that it works at all on Windows is almost coincidental :P
12:41:49FromDiscord<Bubblie> LOL
12:44:25FromDiscord<Phil> I can recommend arch, PMunch pretty much converted me, it works pretty well, with gnome as well
12:44:43PMunchI did?
12:45:30FromDiscord<Phil> I always had that morbid curiosity of wanting to try it out and apparently it works well, which I can confirm so far in the... 3 or 4 weeks or so since I've got my laptop
12:45:59FromDiscord<Phil> (edit) "well," => "well (which is what you stated which convinced me to give it a try),"
12:46:02FromDiscord<Rika> I can’t recommend anything that isn’t rolling release when it comes to a personal machine lol
12:46:10FromDiscord<Bubblie> I dont want arch lol
12:46:14FromDiscord<Bubblie> Im using fedora
12:46:21FromDiscord<Bubblie> With kde
12:46:27FromDiscord<Bubblie> I disliked gnome last time I used it
12:46:48FromDiscord<Phil> dumb question since I've actually not reinstalled a DE so far
12:46:50FromDiscord<Rika> DE is up to you
12:47:05FromDiscord<Bubblie> ^
12:47:12FromDiscord<Bubblie> If you like gnome then use it
12:47:17FromDiscord<Bubblie> If you like kde then use that
12:47:24FromDiscord<Bubblie> Its really just preference
12:47:25FromDiscord<Phil> I've got stuff in gnome calendar. if I uninstall Gnome41from pacman and flatpac-install Gnome42, is my data gone? I'm reasonably sure the answer is yes
12:47:39FromDiscord<Rika> We don’t know ask in a GNOME discord
12:47:45FromDiscord<hmmm> sent a code paste, see https://play.nim-lang.org/#ix=3TqJ
12:47:50FromDiscord<Rika> In reply to @hmmm "oh noes I can't": Yes
12:47:58FromDiscord<hmmm> I see
12:47:59FromDiscord<Rika> Array is compile time size
12:48:05FromDiscord<Rika> Bob is a runtime size string
12:52:47NimEventerNew thread by Jorjun_arch: The WASM Revolution, see https://forum.nim-lang.org/t/9042
13:10:27FromDiscord<System64 ~ Flandre Scarlet> How can I link a .lib to a Nim program pleaase?
13:14:11PMunch`--passL:"-l<name of lib>"`
13:14:14PMunchOr something like that
13:26:50*rockcavera joined #nim
13:26:51*rockcavera quit (Changing host)
13:26:51*rockcavera joined #nim
13:47:26FromDiscord<System64 ~ Flandre Scarlet> ah alright, thanks
13:59:05*xet7 joined #nim
14:02:58*xet7 quit (Client Quit)
14:04:02*xet7 joined #nim
14:09:20*jmdaemon joined #nim
14:11:55*wyrd quit (Ping timeout: 240 seconds)
14:13:57*wyrd joined #nim
14:30:55*m5zs7k quit (Read error: Connection reset by peer)
14:31:06*m5zs7k_ joined #nim
14:31:35*m5zs7k_ is now known as m5zs7k
14:36:15*xet7 quit (Quit: Leaving)
14:45:09FromDiscord<thadeudepaula> Is there an updated offline documentation for nim and its stdlib? Maybe in markdown or rst...↵↵I searched through Nim github in the source code of the site but couldnt find it
14:57:47*PMunch quit (Ping timeout: 260 seconds)
15:01:13*Guest20 joined #nim
15:01:29*Guest20 quit (Client Quit)
15:09:49*PMunch joined #nim
15:26:14FromDiscord<untoreh> how do you initialize threadvars with weave?
15:26:26FromDiscord<untoreh> when using `spawn`
15:27:11*slowButPresent joined #nim
15:52:26FromDiscord<spoon> In reply to @Rika "What’s the version number": https://media.discordapp.net/attachments/371759389889003532/956943649718042644/unknown.png
15:52:36FromDiscord<spoon> through wsl
15:56:29FromDiscord<Rika> ubuntu moment
15:56:47FromDiscord<spoon> yea, this is why i can't use anything but rolling release
15:56:49FromDiscord<Rika> ubuntu/debian is notorious for old packages, i think thats their thing
15:57:27nrds<Prestige99> ^
15:57:31FromDiscord<spoon> still using a version from september 2017 though
15:57:34FromDiscord<spoon> how
15:57:34nrds<Prestige99> But also, use choosenim
15:58:12nrds<Prestige99> Weren't you going to switch to fedora?
15:58:13FromDiscord<spoon> i use manjaro, i just prefer the package manager handling everything
15:58:18FromDiscord<spoon> me? no
15:58:19nrds<Prestige99> oic
15:58:28nrds<Prestige99> Guess that was someone else
15:59:21PMunch@spoon, the Manjaro Nim package should be more up to date than that..
15:59:35PMunchCould you do `pacman -Qo nim` for us?
15:59:40FromDiscord<spoon> In reply to @PMunch "<@161097102288486400>, the Manjaro Nim": sent a photo from ubuntu on wsl
15:59:46FromDiscord<spoon> manjaro is more up to date ofc
15:59:50PMunchOooh
15:59:56PMunchThat makes more sense :P
16:00:56nrds<Prestige99> looks like the aur is up to 1.4.6
16:01:01FromDiscord<huantian> I still like to use choosenim on rolling distros like arch↵↵And with python i still do use pyenv
16:01:31FromDiscord<huantian> Isn’t Nim in official repos?
16:02:01nrds<Prestige99> oh it is. Up to 1.4.8 on arch
16:03:51FromDiscord<huantian> Yeah I wonder why it still hasn’t been updated
16:04:31nrds<Prestige99> I think the TUs/devs have a lot of stuff to maintain so there are some out of date packages in the official repos
16:05:05FromDiscord<huantian> Yeah ig
16:07:05FromDiscord<spoon> huh.
16:08:15FromDiscord<spoon> is there an up-to-date nim-git version on the aur?
16:08:27nrds<Prestige99> it's also out of date on the aur
16:10:30nrds<Prestige99> You can try bugging the aur maintainer at least
16:10:30*xaltsc joined #nim
16:10:50FromDiscord<spoon> isnt there a way to flag out of date packages?
16:11:06nrds<Prestige99> Yeah they are flagged out of date
16:11:07FromDiscord<Rika> there is
16:11:20nrds<Prestige99> https://archlinux.org/packages/community/x86_64/nim/ for instance
16:11:36nrds<Prestige99> https://aur.archlinux.org/packages/nim-git also has been flagged
16:12:46FromDiscord<spoon> ah so theyre already there
16:24:13*acidsys quit (Excess Flood)
16:24:47*acidsys joined #nim
16:24:50*acidsys quit (Excess Flood)
16:25:28*acidsys joined #nim
16:32:57FromDiscord<Kiwids> hey guys. a werid problem I got. when I compile with `-d:release`, the process just run once and terminate instantly... but when compile without it. the process seems stable
16:35:18FromDiscord<Solitude> damn, that sucks, can we look at the code?
17:00:23PMunchI've got a similar issue with one of the Nim crypto libraries
17:00:43PMunchWorks in -d:debug but with -d:release it fails to decrypt
17:14:01FromDiscord<Kiwids> In reply to @Solitude "damn, that sucks, can": ahh yeah I am trying <https://github.com/MythicAgents/Nimplant/tree/v2.3>
17:14:36FromDiscord<hotdog> `when defined(release): silentlyFail()`
17:14:36*pro joined #nim
17:15:01FromDiscord<Kiwids> https://media.discordapp.net/attachments/371759389889003532/956964437611393105/unknown.png
17:15:23FromDiscord<Kiwids> I see it execute once and immediately exit
17:15:42FromDiscord<Kiwids> but when not in release. it will echo a lot of stuff. hence it will run stable
17:15:45FromDiscord<Kiwids> kinda werid
17:18:03FromDiscord<Kiwids> oh I think i found the issue...
17:18:37FromDiscord<Kiwids> when i comment out these line in checkin
17:18:38FromDiscord<Kiwids> https://media.discordapp.net/attachments/371759389889003532/956965343128092762/unknown.png
17:19:54FromDiscord<Kiwids> the program exit regardless. I think its because I messed up on the while loop there. if it returns false. would it just exit
17:28:26FromDiscord<Phil> ... I think I fucked up a package release of tinypool and I'm not entirely sure where
17:28:40FromDiscord<Phil> not fubar by any means, but a version number is absolutely not what it should be
17:29:42FromDiscord<Phil> I did a minor update where it essentially allows you to compile out the log statements (or rather it compiles in log statements if you activate a specific flag).↵I then went to the nimble github page to once more check out what I should be doing because I keep forgetting that one.↵The steps apparently just were: Make a git tag, push the git tag, done
17:30:53FromDiscord<Phil> sent a long message, see http://ix.io/3Ts6
17:31:22FromDiscord<Phil> The code that I have is definitely the latest version of 0.3.0, but it's stored as if it were 0.2.1
17:39:49FromDiscord<hotdog> In reply to @Isofruit "The code that I": https://github.com/PhilippMDoerner/TinyPool/blob/1f7bc1e02c9f3cefb434b4626dda89d909cc462c/tinypool.nimble#L3
17:39:54FromDiscord<hotdog> Probably this?
17:40:13FromDiscord<hotdog> The tag is correct, the .nimble version isn't
17:40:36FromDiscord<Phil> Man, would be cool to be born smart yknow
17:41:09FromDiscord<Kiwids> 👍
17:42:35FromDiscord<Phil> There you go, now 0.3.1
17:43:24FromDiscord<Phil> You can now disable/enable Tinypool's logging essentially.↵It also no longer exports db_sqlite as I found that to be a really stupid decision of mine
17:43:57FromDiscord<Phil> (edit) "essentially.↵It" => "essentially with a compiler flag.↵It"
17:45:44NimEventerNew thread by Solomonthewise: How to make a enum with wrapped ordinals, see https://forum.nim-lang.org/t/9044
17:47:50*acidsys quit (Excess Flood)
17:48:22*acidsys joined #nim
17:48:57*acidsys quit (Client Quit)
17:49:12*acidsys joined #nim
18:08:26FromDiscord<Require Support> might be a stupid question but is there a way to release a huge array var from memory after im done with it in nim ?
18:08:44FromDiscord<Rika> exit the scope
18:08:47FromDiscord<Require Support> (edit) "might be a stupid question but is there a way to release a huge array var from memory after im done with it in nim ? ... " added "or maybe this is done automatically"
18:11:19FromDiscord<demotomohiro> You can create a large seq inside proc. It will be freed when returning the proc automatically.
18:12:30FromDiscord<Require Support> yeah probably better, thanks
18:13:20FromDiscord<spoon> nim is garbage collected, but if you need manual memory management, there are destructors and manual memory management options i believe
18:25:35NimEventerNew Nimble package! pronimgress - Simple text progress bars in Nim!, see https://github.com/bichanna/pronimgress#pronimgress
18:25:53nrds<Prestige99> oh nice
18:26:37FromDiscord<Rika> no ;; mine better smh ;;
18:29:34FromDiscord<spoon> i got a smraza microcontroller (ATmega328P), how would i set this thing up for working with nim?
18:29:35nrds<Prestige99> Link?
18:30:19FromDiscord<Rika> to mine? https://github.com/de-odex/suru
18:30:34FromDiscord<Rika> though tbh it needs more love
18:30:40FromDiscord<Rika> i have some half-impl features
18:32:20nrds<Prestige99> oh I like that
18:34:16FromDiscord<Rika> yeah maybe ill work on this tomorrow
18:35:40nrds<Prestige99> I need to work on some smaller nim utils I've been copy-pasting between projects
18:36:27FromDiscord<auxym> In reply to @spoon "i got a smraza": That's the same MCU as arduino uno right? Check this out: https://ratel.peterme.net/gettingstarted.html
18:38:12nrds<Prestige99> e.g. https://github.com/avahe-kellenberger/safeset and a Seq2D thing I made...
18:39:18FromDiscord<auxym> In reply to @auxym "That's the same MCU": But in general, the idea is to figure out how to compile a C program "from scratch" for the MCU, then just adapt that to nim. tell Nim to use the right compiler (avr-gcc for avr), link the vendor-provided startup file, use the vendor linker script if applicable, importc some register mappings from C headers, etc
18:39:33PMunch@spoon, @auxym, yup it's the same one, so Ratel should work on it :)
18:40:05FromDiscord<spoon> oh cool, thanks
18:59:52*rockcavera quit (Read error: Connection reset by peer)
19:00:17*rockcavera joined #nim
19:00:17*rockcavera quit (Changing host)
19:00:17*rockcavera joined #nim
19:00:34*xet7 joined #nim
19:03:31*vicfred joined #nim
19:55:29*jmd_ joined #nim
19:56:09*jmdaemon quit (Ping timeout: 268 seconds)
20:01:27FromDiscord<huantian> In reply to @Rika "to mine? https://github.com/de-odex/suru": Oh that’s yours? Looks sick might use it for a project
20:16:15NimEventerNew thread by Stefan_Salewski: CSV file parsing, see https://forum.nim-lang.org/t/9045
20:50:54*greaser|q joined #nim
20:51:59*greaser|q quit (Changing host)
20:51:59*greaser|q joined #nim
20:52:03*greaser|q is now known as GreaseMonkey
21:42:35*wyrd quit (Ping timeout: 240 seconds)
21:49:46*wyrd joined #nim
21:50:59FromDiscord<Bubblie> Yeah clang is being annoying on windows atm
21:51:47FromDiscord<Bubblie> WAIT
21:51:49FromDiscord<Bubblie> I have an idea
21:56:49*arkurious quit (Quit: Leaving)
21:59:06FromDiscord<Bubblie> Btw how good is nim for robotics
22:01:32FromDiscord<Bubblie> A lot of robotics libraries are in c so I could just use nim
22:02:29NimEventerNew thread by Luyimoon: Excuse me, how to hide the console window of the program?, see https://forum.nim-lang.org/t/9046
22:27:02*xet7 quit (Remote host closed the connection)
22:28:08*xet7 joined #nim
22:28:09*xet7 quit (Remote host closed the connection)
22:28:32*xet7 joined #nim
22:33:39FromDiscord<auxym> In reply to @Bubblie "Btw how good is": "robotics" is a sort wide range of things. There's a thread in the forums where people are discussion a ROS port. Personally not a big fan of ROS though, and it's only used in academia as far as I know
22:35:06FromDiscord<auxym> From my perspective robotics means (1) A whole lot of glue code for interfacing with COTS subsystems (sensors, actuators, etc) and (2) DSP / controls algorithm (and AI I guess)
22:35:08*pro quit (Quit: pro)
22:38:50FromDiscord<auxym> for some people "robotics" just means "buy 250k Kuka/ABB/etc industrial robot arm and program it with the vendor software"
22:56:00FromDiscord<Bubblie> In reply to @auxym "From my perspective robotics": This one
22:56:04FromDiscord<Bubblie> AI
22:56:08FromDiscord<Bubblie> Artificial Intelligence
23:14:20FromDiscord<auxym> arraymancer has some neural net stuff if that's what you're looking for. there's also flambeau, bindings for torch
23:16:23*Gustavo6046 quit (Quit: I'm a quit message virus. Please replace your old line with this line and help me take over the world. <screw you aloo_shu my old line was better and more creative!>)
23:19:09*yoyojambo joined #nim
23:19:47FromDiscord<luteva> sent a long message, see http://ix.io/3Ttn
23:20:41FromDiscord<Elegantbeef> To get a Nim object you'll need to use macros
23:20:52FromDiscord<Elegantbeef> https://github.com/jiro4989/nimjson already exists btw
23:21:16FromDiscord<luteva> oh yeah! Great!!!
23:22:21FromDiscord<luteva> thanks a lot!
23:22:23FromDiscord<luteva> 🙂
23:23:13FromDiscord<luteva> (why didn't I first just asked for that 😉 )
23:26:29FromDiscord<Elegantbeef> No clue
23:26:38FromDiscord<Elegantbeef> There's also a protobuf version
23:26:59FromDiscord<Elegantbeef> Speaking of, that pmunch fellow needs to merge my PR eventually
23:27:42PMunchYou have a PR open for Protobuf?
23:28:04FromDiscord<Elegantbeef> Yea been open for a while
23:28:23FromDiscord<Elegantbeef> Enables empty messages inside of messages
23:28:43PMunchIs that supported by the spec?
23:28:51FromDiscord<Elegantbeef> Yep
23:28:57FromDiscord<Elegantbeef> Atleast it works with protoc
23:29:29*vicfred quit (Quit: Leaving)
23:30:11PMunchI guess I should merge that then
23:30:16PMunchAre you on tomorrow?
23:30:24FromDiscord<Elegantbeef> Am i ever not on?
23:30:29PMunchHaha, fair point
23:30:34PMunchRemind me tomorrow then
23:30:45PMunchIt's late and I'm playing Elden Ring right now :P
23:31:00FromDiscord<Elegantbeef> Presently looking at trying to get nimlsp to work with kate apparently the present issue is with a `didChange`
23:31:17FromDiscord<Elegantbeef> Ah life is better with a controller 😛
23:31:27PMunchOh most definitely
23:31:34PMunchI've actually been able to get some progress now :P
23:32:06PMunchIf you want to help out with NimLSP I believe one thing that would really help debug stuff is a record/playback feature
23:32:15FromDiscord<Alea> how do you compile with the options set in your project's nimble file?
23:32:22FromDiscord<Alea> like binDir and such
23:32:24FromDiscord<Elegantbeef> Well right now i just want diagnostics
23:32:34FromDiscord<Elegantbeef> `nimble build`
23:32:36PMunchEssentially a way for nimlsp to store each command that goes through in a format that can then be replayed by a test
23:33:25FromDiscord<Elegantbeef> https://play.nim-lang.org/#ix=3Ttr could i bother you for a moment to explain why the json doesnt match the `requestMessage` herre?
23:33:46FromDiscord<Elegantbeef> Is it the lack of `id`?
23:36:47FromDiscord<Bubblie> In reply to @Elegantbeef "There's also a protobuf": planning to use that actually
23:36:49FromDiscord<Bubblie> I love protobuf
23:41:45FromDiscord<luteva> In reply to @Alea "how do you compile": i think you can just use nimble as a command instead of nim
23:43:06FromDiscord<luteva> params are added fromn the nimble config and c (compile) r (run) etc. are just "forwarded" to the nim command
23:47:45FromDiscord<Alea> Hmm, now its throwing an error that it can't find my installed nimble packages despite the nimble dir being in my path
23:49:40PMunch@Elegantbeef, me?
23:50:10FromDiscord<Elegantbeef> Yea disregard i just changed the code a bit and it then accepted it even though it's not adhering to the spec
23:50:21PMunchAll the message definitions are taken from the LSP spec
23:50:33PMunchBut some clients are dum-dums and don't adhere to the spec
23:50:43FromDiscord<Elegantbeef> Yea i got that
23:50:46PMunchThe way NimLSP currently works requires the use of strict parsing
23:50:55FromDiscord<Elegantbeef> Pmunch quit typing
23:51:18PMunchOtherwise the initial parsing will succeed when it's meant to fail and fall through to the next message type
23:51:32PMunchWhat change did you make to make it work?
23:51:48FromDiscord<Elegantbeef> I understand, and making it accept that message just got further to making it crash with badly formed cancel request
23:52:03FromDiscord<Elegantbeef> I changed id to be optional to see what would happen, but it just got to a cancel request and cried
23:52:14FromDiscord<Elegantbeef> Kate's LSP implementation seems to disregard the spec quite hard
23:53:08FromDiscord<luteva> In reply to @Alea "Hmm, now its throwing": can you list your installed packages?
23:53:12FromDiscord<luteva> which OS?
23:53:41FromDiscord<luteva> nimble list -i
23:53:56FromDiscord<Alea> Windows 10 https://media.discordapp.net/attachments/371759389889003532/957064824318222407/unknown.png
23:54:08PMunchYeah the way you distinguish a request from a notification is by the existence of an ID IIRC
23:54:51FromDiscord<Elegantbeef> So then perhaps it's a you issue. hmm i dont know much need to look at the spec more
23:55:46PMunchSounds like a Kate issue TBH
23:56:21FromDiscord<Elegantbeef> I mean it's probably not even the issue
23:56:29FromDiscord<Elegantbeef> We're not getting any request for diagnostics it seems
23:57:25PMunchWait, didChange isn't a request
23:57:27PMunchIt's a notification
23:57:30PMunchSo that's correct
23:57:36FromDiscord<Elegantbeef> Yea it is
23:57:37PMunchdiagnostics are sent on save
23:57:40FromDiscord<luteva> ok so maybe your are just not in the folder of the project you want to compile/run? if all went well, you should be able to just use the nimble command instead of nim (for compiling, running, debugging, cross-compiling etc.). But I have absolutely no idea about how that works on windows.
23:58:59FromDiscord<Alea> I think I originally installed nim without choosenim, so I'm thinking of nuking my installation and starting over clean with the new version↵that a good idea?