<< 14-04-2021 >>

00:01:54*njoseph quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
00:02:16*njoseph joined #nim
00:17:41FromDiscord<ElegantBeef> Hell yea pmunch due to people trying the bindings atleast for linux it's now even easier. got `nimble setup` which installs the deps and fetches the pico sdk, then you can just `nimble make`
00:21:38*Tlanger quit (Ping timeout: 240 seconds)
00:22:19*tiorock joined #nim
00:22:19*rockcavera is now known as Guest57290
00:22:20*Guest57290 quit (Killed (card.freenode.net (Nickname regained by services)))
00:22:20*tiorock is now known as rockcavera
00:26:59*tiorock joined #nim
00:26:59*tiorock quit (Changing host)
00:26:59*tiorock joined #nim
00:26:59*rockcavera quit (Killed (barjavel.freenode.net (Nickname regained by services)))
00:26:59*tiorock is now known as rockcavera
00:27:51*rockcavera quit (Remote host closed the connection)
00:31:15FromDiscord<Sabena Sema> has the whitespace sensitive operator binding been totally removed?
00:34:01FromDiscord<ElegantBeef> what do you mean?
00:34:23FromDiscord<ElegantBeef> `10 -10` != `10 - 10`
00:34:32FromDiscord<Sabena Sema> there used to be a mode where like `a+b c` would do `(a+b)c`
00:35:01FromDiscord<Sabena Sema> each power of two number of spaces would decrease precedence by one
00:35:49FromDiscord<ElegantBeef> https://nim-lang.org/docs/manual.html#syntax-precedence↵Base off that i think so
00:40:31*rockcavera joined #nim
00:45:06*Vladar quit (Quit: Leaving)
00:47:00*rockcavera quit (Read error: Connection reset by peer)
00:47:45*rockcavera joined #nim
00:49:14FromDiscord<TennisBowling> hey how can I interact with api's? I know I can use python's requests inside of nim but still
00:51:03FromDiscord<ElegantBeef> Well we have multiple HTTP libraries
00:51:18FromDiscord<ElegantBeef> You have the stdlib `httpclient`
00:51:26FromDiscord<ElegantBeef> Treeform has `puppy`
00:52:01FromDiscord<ElegantBeef> The standard library one relies on `openssl` so you need to ship that or statically link it to anywhere you go
00:52:16FromDiscord<ElegantBeef> "Anywhere you go" talking about platforms you compile to
00:53:56FromDiscord<TennisBowling> ahh okay
01:02:21*Tlangir joined #nim
01:08:16FromDiscord<Nisha's alt> In reply to @TennisBowling "hey how can I": (Gonna sound like a hypocrite but whatevs) Bad idea
01:08:22FromDiscord<Nisha's alt> Not necessarily bad
01:08:29FromDiscord<Nisha's alt> But... Dumb
01:09:07FromDiscord<Nisha's alt> I'd always recommend using a Nim library before even LOOKING at another lang's libraries to use in Nim
01:13:10FromDiscord<ElegantBeef> Lol
01:13:20FromDiscord<ElegantBeef> When nisha says dumb idea you know it was silly 😄
01:13:28FromDiscord<ElegantBeef> Sorry couldnt help myself
01:17:42FromDiscord<nsauzede> sent a code paste, see https://play.nim-lang.org/#ix=2W09
01:17:56FromDiscord<Hi02Hi> `for a in -11..<11:`
01:29:20FromDiscord<Sabena Sema> will ↵`static: sizeof(int)` give 64 if I'm compiling a 64-bit executable with a 32-bit version of the compiler?
01:29:46FromDiscord<ElegantBeef> I believe it emulates the destination
01:33:19FromDiscord<nsauzede> Is there some documentation/example on how to access program arguments ? (like argc argv)
01:33:52FromDiscord<ElegantBeef> You can use https://nim-lang.org/docs/parseopt.html for an easy to use abstraction
01:34:06FromDiscord<Sabena Sema> why were case statement macros needed for pattern matching? why not term rewriting macros?
01:34:11FromDiscord<ElegantBeef> or manually access them with `paramStr` and `paramCount` from OS
01:34:36FromDiscord<nsauzede> Thanks
01:35:03FromDiscord<Rika> Because term rewriting macros are kinda broken isn't it?
01:35:24FromDiscord<Sabena Sema> they are not really broken, they are just insanely dangerous
01:35:39FromDiscord<Sabena Sema> also I don't think they participate in overload resolution in quite the same way as case macros
01:36:28FromDiscord<Rika> The implementation is wonky I hear is what I mean from broken
01:44:51*rockcavera quit (Remote host closed the connection)
01:52:00*rockcavera joined #nim
02:04:22FromDiscord<nsauzede> is thee a way to convert a string to int ?
02:04:35FromDiscord<nsauzede> (found toInt but it's for floats)
02:05:31FromDiscord<nsauzede> (edit) "thee" => "there" | "therea way to convert a string to int ? ... " added "(eg: like `atoi`)"
02:06:50rockcaveransauzede https://nim-lang.org/docs/strutils.html#parseInt%2Cstring
02:07:06rockcaveraor https://nim-lang.org/docs/parseutils.html#parseInt%2Cstring%2Cint%2Cint
02:07:25rockcaveraopz
02:07:51rockcaveraIs the string a number?
02:08:43FromDiscord<nsauzede> yep 🙂 it works fine
02:08:50FromDiscord<nsauzede> (edit) "fine" => "fine, thanks"
02:09:09rockcavera=)
02:14:43*thomasross joined #nim
02:14:57FromDiscord<ElegantBeef> Make sure to catch exceptions 😛
02:20:34*rockcavera quit (Remote host closed the connection)
02:34:51*rockcavera joined #nim
02:46:32*thomasross quit (Ping timeout: 240 seconds)
03:09:32*spiderstew_ joined #nim
03:11:21*spiderstew quit (Ping timeout: 260 seconds)
03:30:24*wasted_youth2 quit (Read error: Connection reset by peer)
03:57:45*sknebel quit (Ping timeout: 246 seconds)
03:58:39*sknebel joined #nim
04:12:25*letto quit (Quit: Konversation terminated!)
04:24:07*letto joined #nim
05:42:22*johnnynitwits quit (Quit: Bridge terminating on SIGTERM)
05:42:22*threenp quit (Quit: Bridge terminating on SIGTERM)
05:42:49*johnnynitwits joined #nim
05:42:49*threenp joined #nim
05:42:51*johnnynitwits quit (Excess Flood)
05:43:01*johnnynitwits joined #nim
05:50:36*threenp quit (Quit: Bridge terminating on SIGTERM)
05:50:36*johnnynitwits quit (Quit: Bridge terminating on SIGTERM)
05:51:02*johnnynitwits joined #nim
05:51:03*threenp joined #nim
05:52:42*rockcavera quit (Remote host closed the connection)
06:04:26*narimiran joined #nim
06:13:32*narimiran quit (Ping timeout: 265 seconds)
06:16:15*narimiran joined #nim
06:31:14FromDiscord<TennisBowling> hello everyone, I have this for loop in python `for i in range(1,100000000):↵ a=2(i%2)-1↵ pi+=an/d↵ d+=2` and I can't seem to get it into nim
06:33:38FromDiscord<haxscramper> Replace range with ..< and % with mod. You might have to explicitly convert to int/float or import std/lenientopts to allow for more relaxed math operations (like mixing integer and float in multiplication etc.)
06:33:58FromDiscord<haxscramper> (edit) "or" => "and/or"
06:34:34*raboof quit (Ping timeout: 245 seconds)
06:34:47*notchris quit (Read error: Connection reset by peer)
06:37:01*notchris joined #nim
06:37:25*raboof joined #nim
06:59:05*PMunch joined #nim
06:59:43FromDiscord<TennisBowling> not quite sure I follow.
06:59:53FromDiscord<jtiai> How I should go with types where A depends on B and B depends on A? Should I declare third module where I define both?
07:02:20FromDiscord<Solitude> yes, mutually recursive types have to be in one type section
07:23:57*haxscramper joined #nim
07:28:31FromDiscord<haxscramper> In reply to @TennisBowling "hello everyone, I have": ``nim
07:28:40FromDiscord<haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2W0Z
07:51:49*Gustavo6046 quit (Ping timeout: 250 seconds)
07:57:39FromDiscord<Varriount> sent a code paste, see https://play.nim-lang.org/#ix=2W15
07:58:25FromDiscord<Varriount> (the Python implementation has the same problem)
08:02:58FromDiscord<haxscramper> Yes, this can probably be improved somehow, but I don't think that it really important here
08:12:26FromDiscord<Sabena Sema> how does the `{.compileTime.}` variable access at runtime actually work? is it just going to be broken until IC is fully functional?
08:13:15FromDiscord<ElegantBeef> What's broken with it?
08:13:46FromDiscord<Sabena Sema> the runtime value has no relation to anything that happened at compile time
08:13:50FromDiscord<Sabena Sema> it's just default initialized
08:14:29FromDiscord<Sabena Sema> I can't really find much discussion of this, except for the RFC that wants to remove the feature
08:14:39FromDiscord<haxscramper> You mean something like this? https://play.nim-lang.org/#ix=2W1a
08:15:31FromDiscord<haxscramper> If you do `const runtest = test` it works, but I agree this is not really obvious
08:15:37FromDiscord<Sabena Sema> yeah, that's an example of the odd behavior
08:15:45FromDiscord<Sabena Sema> and you could do the const thing before the behavior change
08:15:49FromDiscord<haxscramper> In reply to @Sabena Sema "I can't really find": https://github.com/nim-lang/RFCs/issues/338
08:15:55FromDiscord<Sabena Sema> yeah
08:16:03FromDiscord<haxscramper> And that's the only discussion basically that was about this
08:16:12FromDiscord<Sabena Sema> then again, if things worked like the manual says it would be a neat feature
08:25:37*Vladar joined #nim
08:42:12*Tlangir quit (Remote host closed the connection)
09:04:07FromDiscord<nsauzede> How can we allocate a byte array at runtime ?
09:05:38FromDiscord<ElegantBeef> What are you after exactly?
09:06:12FromDiscord<ElegantBeef> You can do `seq[byte]`
09:06:18FromDiscord<nsauzede> sent a code paste, see https://play.nim-lang.org/#ix=2W1r
09:06:32FromDiscord<nsauzede> so in Nim, I would like to allocate `bytes` at runtime
09:06:49FromDiscord<ElegantBeef> Well a sequence would work if you dont change the length
09:07:01FromDiscord<nsauzede> yep fixed length
09:07:14FromDiscord<ElegantBeef> Someone should make a `FixedSeq` 😄
09:08:05FromDiscord<nsauzede> fixed as : arbitrary at runtime but doesn't change once the buffer is allocated😅
09:08:11FromDiscord<ElegantBeef> Yea that's what i mean
09:08:15FromDiscord<nsauzede> (edit) "fixed as ... :" added "in"
09:08:21FromDiscord<nsauzede> oof
09:08:22FromDiscord<ElegantBeef> To change the size of FixedSeq you'd need to reinit it
09:08:36FromDiscord<ElegantBeef> But that doesnt exist in the stdlib
09:09:11FromDiscord<nsauzede> In C I would do `bytes = malloc(arbitrary_len);`
09:09:23FromDiscord<ElegantBeef> Sure but that gives you 0 safeties
09:09:39FromDiscord<nsauzede> so in Nim, I should do `var bytes : seq[byte]` ?
09:09:52FromDiscord<nsauzede> then allocate it with some helper ?
09:10:01FromDiscord<Rika> newSeq
09:10:05FromDiscord<Rika> That’s your helper
09:10:24FromDiscord<Rika> The number you pass is the amount of entries in the sequence
09:15:36FromDiscord<ElegantBeef> If you do want a FixedSeq this would be a good start https://play.nim-lang.org/#ix=2W1w
09:16:53FromDiscord<ElegantBeef> All of it was untested and rushed 😄
09:16:59*teasea quit (Quit: teasea)
09:17:48FromDiscord<nsauzede> what would be the benefit over std `seq` ? perf ?
09:17:56FromDiscord<nsauzede> (edit) "perf" => "perf/mem usage"
09:17:57FromDiscord<ElegantBeef> Slightly safer
09:18:02FromDiscord<nsauzede> oh
09:18:12FromDiscord<nsauzede> (edit) "oh ... " added "-- I see"
09:18:18FromDiscord<ElegantBeef> You know to resize you have to do `newFixedSeq` since there is no `.add`
09:18:55*teasea joined #nim
09:19:04FromDiscord<nsauzede> for now it's not required -- I'm only evaluating Nim to see how it performs on my naive benchmark..
09:19:25FromDiscord<nsauzede> ideally I'd like to beat my Rust and C impls 🙂
09:20:46FromDiscord<nsauzede> can I pass the above `bytes` to `writeBuffer` directly ?
09:20:54FromDiscord<ElegantBeef> Probably
09:22:48FromDiscord<nsauzede> sent a code paste, see https://play.nim-lang.org/#ix=2W1x
09:24:47FromDiscord<ElegantBeef> `writeBytes`
09:24:48FromDiscord<haxscramper> `addr buffer, len buffer`
09:25:00FromDiscord<ElegantBeef> well would be `addr buffer[0]`
09:27:23FromDiscord<ElegantBeef> Someone should take my keyboard cause i basically finished `FixedSeq` 😄
09:29:04FromDiscord<nsauzede> sent a code paste, see https://play.nim-lang.org/#ix=2W1z
09:29:08FromDiscord<nsauzede> Is this canoNimcal ?
09:29:22FromDiscord<nsauzede> (edit) "canoNimcal" => "canoNimcal"
09:29:37FromDiscord<ElegantBeef> no the hungarian notation isnt
09:30:14FromDiscord<nsauzede> I didn't get it ?
09:30:32FromDiscord<ElegantBeef> I'm commenting o n`fnameout` and `fout`
09:30:40FromDiscord<nsauzede> oh right -- thanks
09:30:53FromDiscord<nsauzede> should have been `fNameOut` ?
09:30:58FromDiscord<ElegantBeef> `fileName` 😄
09:31:01FromDiscord<nsauzede> (edit) "should have been `fNameOut` ... ?" added "`fOut`"
09:31:22FromDiscord<ElegantBeef> `file` would work for `fOut` i guess
09:31:28FromDiscord<Rika> Out file
09:31:39FromDiscord<ElegantBeef> when i read those vars i just read them with a weird lisp
09:32:15FromDiscord<nsauzede> (for now it's just a bare manual transpile from other langs which explains strangeness -- but I'm willing to learn the Nim way)
09:34:23FromDiscord<ElegantBeef> Worth noting in that code it'll echo `"Cant write"` even if it did write
09:34:36FromDiscord<ElegantBeef> since it returns the number of bytes written to the file
09:34:54*lritter joined #nim
09:34:59FromDiscord<ElegantBeef> So if it only writes half the file it'll say it didnt write, but it in fact did
09:35:51FromDiscord<ElegantBeef> Anyone got a repo that nimble has issue resolving dependancies for?
09:42:09Clonkk[m]Fidget v0.7.5 used to have the issue depending on the packages you already have installed
09:47:01FromDiscord<ElegantBeef> I have a very dumb resolve which might "work" for that now, but it's ughly
09:47:27FromDiscord<nsauzede> Hey, nice ! my little (first) Nim benchmark is slightly slower than Rust but faster than my (suboptimal) C impl ! thanks for your help https://media.discordapp.net/attachments/371759389889003532/831827983467282492/unknown.png
09:47:48FromDiscord<nsauzede> Nim is really great !
09:47:56FromDiscord<ElegantBeef> Did you do `-d:danger -d:flto --gc:arc`?
09:48:04FromDiscord<nsauzede> I did :
09:48:20FromDiscord<ElegantBeef> also possibly `--opt:speed --passC:-flto --passL:-flto`
09:48:49FromDiscord<nsauzede> `nim c --hints:off -d:release -d:danger --gc:arc -d:lto -o:main02.elf main02.nim`
09:49:00FromDiscord<ElegantBeef> Atleast i've seen one case where the opt was stuck on off
09:49:12FromDiscord<ElegantBeef> dont need both danger/release one or the other will work
09:49:38FromDiscord<nsauzede> I also tried `-march native` but that screwed my bit-exact regression
09:49:54FromDiscord<nsauzede> (probably messes with float computes dunno)
09:50:54FromDiscord<nsauzede> should I replace `-d:lto` by your two `--pass` ? or just add them ?
09:51:11FromDiscord<clyybber> `-d:lto` should accomplish the same
09:51:58FromDiscord<ElegantBeef> I'm worried about my bodged dependancy resolver in nimble cause it seems to work properly and how nimble should've worked 😄
09:52:13FromDiscord<clyybber> well then :D push it :D
09:52:29FromDiscord<ElegantBeef> I mean i did but it's certainly not proper
09:52:38FromDiscord<ElegantBeef> It does properly reason about atleast `>=` deps
09:53:13FromDiscord<ElegantBeef> IE if you have >= 0.2.3 and another package has 0.2.5 it does correctly say that the min version allowed is the latter
09:53:27FromDiscord<clyybber> and nimble doesn't?
09:53:41FromDiscord<ElegantBeef> Well it didnt seem to properly fetch them
09:54:07FromDiscord<ElegantBeef> I think i bodged in a whole "collect all deps" then "remove disallowed"
09:54:17FromDiscord<clyybber> cool
09:54:26FromDiscord<ElegantBeef> Emphasis on "think"
09:54:30FromDiscord<clyybber> heh
09:55:19FromDiscord<ElegantBeef> Right now i have an infinite recursion problem and my solution is to just disallow running a procedure more than once using a global bool, so clearly i dont understand how nimble works
09:57:05FromDiscord<zetashift> In reply to @nsauzede "Hey, nice ! my": Very cool! Looking good too
09:57:52FromDiscord<ElegantBeef> atleast at first glance nimble goes through top down and fetches any packages that arent installed
09:58:20FromDiscord<Goel> sent a code paste, see https://play.nim-lang.org/#ix=2W1E
09:58:26FromDiscord<ElegantBeef> `age in 11..17`
09:58:32FromDiscord<ElegantBeef> and you can do it in case
09:59:00FromDiscord<ElegantBeef> sent a code paste, see https://play.nim-lang.org/#ix=2W1F
09:59:00FromDiscord<ElegantBeef> Anywho i sleep
09:59:27FromDiscord<haxscramper> In reply to @ElegantBeef "atleast at first glance": Yes, it just fetches them directly while resolving dependencies
10:00:09FromDiscord<haxscramper> One of the main complaints in #890 is that it is not possible to even run `nimble test` without it trying to download/install something
10:00:33FromDiscord<haxscramper> Well, not "one of the main", but it is certainly annoying
10:01:28FromDiscord<zetashift> In reply to @ElegantBeef "Anywho i sleep": Good night!
10:01:45FromDiscord<clyybber> @Solitude any reason you used nanosleep instead of sleep?
10:06:26FromDiscord<Solitude> i needed sub ms precision
10:08:11FromDiscord<Solitude> or did i
10:08:17FromDiscord<clyybber> seems overkill I think
10:08:31FromDiscord<clyybber> I can't notice any perceptible difference when using sleep
10:12:06FromDiscord<Solitude> thats because default step is 30ms
10:12:28FromDiscord<clyybber> yeah
10:12:54FromDiscord<clyybber> dunno if it makes sense to support sub ms precision
10:13:20FromDiscord<Solitude> it doesn't, ill remove it
10:13:25FromDiscord<clyybber> I made a PR
10:14:05FromDiscord<Goel> "Switch statements are also supported, although in Nim they’re known as case"↵Why are they called Switch if their associated keyword is case?
10:14:10FromDiscord<clyybber> @Solitude <https://github.com/SolitudeSF/nbonsai/pull/1>
10:14:37FromDiscord<clyybber> In reply to @Goel ""Switch statements are also": I guess the sentence is directed at users coming from other languages
10:14:50FromDiscord<Solitude> In reply to @Clyybber "<@!104136074569211904> <https://github.com/Solitude": explain yourself https://media.discordapp.net/attachments/371759389889003532/831834873563971614/unknown.png
10:14:57FromDiscord<clyybber> oh ugh
10:15:05FromDiscord<clyybber> umm
10:15:37FromDiscord<clyybber> leftover from another thing I was trying :D
10:15:57FromDiscord<clyybber> I was thinking about an option to show the current seed somewhere
10:16:50FromDiscord<nsauzede> In reply to @zetashift "Very cool! Looking good": Thanks ! but I only followed the RTIOW book ; and I also know that there was already (at least) one other Nim impl of it -- but I wanted to write it from scratch, to discover the language
10:36:05*aeverr joined #nim
10:36:19*natrys joined #nim
11:06:44FromDiscord<zetashift> In reply to @nsauzede "Thanks ! but I": Yup https://nim-lang.org/blog/2020/06/30/ray-tracing-in-nim.html (there are more but this one is has a lot of extras)
11:09:17FromDiscord<gollark> Is there something case-insensitive like string tables, but not just strings to strings?
11:13:23FromDiscord<nsauzede> In reply to @zetashift "Yup https://nim-lang.org/blog/2020/06/30/ray-tracin": Exactly ; I saw this, and tried not to get tainted by its solution 😉
11:14:02FromDiscord<nsauzede> I'm pretty sure its impl might be even faster than mine
11:14:12FromDiscord<nsauzede> but eh, one must start somewhere
11:17:39FromDiscord<haxscramper> In reply to @gollark "Is there something case-insensitive": You can create `distinct` type and write case-insensetive `hash`/`==` for it
11:17:56FromDiscord<haxscramper> The only thing I can think of
11:18:15FromDiscord<gollark> Hmm, that might work.
11:20:17*inamannerofspeak joined #nim
11:23:55*clyybber joined #nim
11:26:13*clyybber quit (Client Quit)
11:26:26*clyybber joined #nim
11:27:21FromDiscord<clyybber> the current base64 encode takes openarray[SomeInteger | char] even though it will just take the first byte of the passed in integers
11:27:44FromDiscord<clyybber> should probably be changed to openarray[uint8 | int8 | char]
11:27:55FromDiscord<clyybber> or take all the bytes of the integers passed in
11:40:43*antranigv left #nim ("Leaving")
11:45:21FromDiscord<zetashift> In reply to @nsauzede "but eh, one must": Indeed, a good reason to not immediately look up the answer
12:12:08*vicfred quit (Quit: Leaving)
12:25:44*krux02 joined #nim
13:00:54*rockcavera joined #nim
13:27:10ForumUpdaterBotNew Nimble package! csv2dbsrc - create db util sources from csv, see https://github.com/z-kk/csv2dbsrc
13:27:14*tane joined #nim
13:34:56*stefantalpalaru quit (Ping timeout: 245 seconds)
13:36:36*bozaloshtsh quit (Ping timeout: 245 seconds)
13:37:04*Fish-Face quit (Ping timeout: 245 seconds)
13:38:25*bozaloshtsh joined #nim
13:38:25*bozaloshtsh quit (Changing host)
13:38:25*bozaloshtsh joined #nim
13:40:40*stefantalpalaru joined #nim
13:41:09*Fish-Face joined #nim
13:42:49*rockcavera quit (Remote host closed the connection)
13:43:40*narimiran quit (Ping timeout: 252 seconds)
13:45:53*rockcavera joined #nim
13:46:41*stefantalpalaru quit (Ping timeout: 240 seconds)
13:50:53*stefantalpalaru joined #nim
13:51:11*stefantalpalaru quit (Changing host)
13:51:11*stefantalpalaru joined #nim
13:54:57ForumUpdaterBotNew thread by Abudden: Getting started with the Foreign Function Interface - calling library functions, see https://forum.nim-lang.org/t/7790
13:55:35PMunch@ElegantBeef, how happy where you when you saw this post? https://forum.nim-lang.org/t/7789
14:00:20FromDiscord<Rika> oh wow nice, was actually considering to move to the rp2040 as well for my kb lmao
14:01:06PMunchFor a keyboard?! :S What're you going to do with the firmware that requires that much oomph?
14:01:32PMunchHere I am trying to keep my FW small enough that I can potentially port it to an ATtiny85 :P
14:01:48FromDiscord<Rika> well, i dont. its just easy to acquire
14:02:06PMunchBut it's so overpowered! :P
14:02:06FromDiscord<Rika> reminder that i live in fucking whereever the fuck i am in japan
14:02:17FromDiscord<Rika> you think i care, im not mass producing this
14:02:25FromDiscord<Rika> the price difference is what
14:02:29PMunchUhm, I live in the arctic.. Not exactly easy to get stuff here either
14:03:04FromDiscord<Rika> but you live in europe xd
14:03:24PMunchBarely :P
14:04:28FromDiscord<Rika> well you're not the one designing a pcb here, im not really up to designing a keyboard around an attiny
14:04:31PMunchDistance wise I live in Europe about as much as you live in China :P
14:04:34FromDiscord<Rika> keyboard -> pcb i mean
14:05:01FromDiscord<Rika> you're connected to europe
14:05:47FromDiscord<Rika> by using an rp2040 that's like 1 less board for me to design amongst idk 2 or 3 or so
14:06:03PMunchWell, I buy almost all my components and chips and stuff from China..
14:06:12PMunchLocal resellers are crazy expensive
14:06:25PMunchEven with the new tax regulations it's cheaper to just buy from AliExpress
14:07:12FromDiscord<Rika> me being near china doesnt mean its any cheaper if you didnt know
14:08:19FromDiscord<Rika> and again, if i used an attiny then id need to design an extra board
14:08:30FromDiscord<Rika> and i dont even think that thing can drive whatever im planning to put on this board
14:08:35FromDiscord<Rika> actually no it prolly can
14:08:53PMunchProbably get stuff faster though..
14:09:00FromDiscord<Rika> maybe ill just fucking design the board damn it fuck you this is gonna take me a week or something because im fucking slow
14:09:03PMunchI barely remember what I've ordered by the time it arrives :P
14:09:17PMunchHaha, just do whatever suits you :)
14:09:58PMunchI mean you can use a chip on a breakout, I wasn't saying you should actually get an SMD ATtiny85 and the components to have that work
14:11:04FromDiscord<Rika> no, pcb
14:11:06PMunchOh well, I've gotta go
14:11:18FromDiscord<Rika> im not doing some hacky ass wire bullshite for my keyboard xd
14:11:24PMunchHaha :P
14:11:39PMunchI guess when I have my keyboard up and working fully it would be fun to create a PCB for it
14:11:59PMunchWith the IO expanders and mini-jacks all on the board
14:12:30PMunchI'm just a bit paranoid about height.. I can't stand tall keyboards.
14:13:18PMunchBut as I said, gotta go
14:13:24FromDiscord<Rika> height? does the lack of a pcb make it shorter or are you planning on using massive ICs
14:13:25FromDiscord<Rika> okay
14:13:39PMunchNot shorter, slimmer
14:14:07PMunchMy current design makes the keys rest on the desk, only stabilised by the frame
14:14:13PMunchThere's no bottom to the board
14:15:08*PMunch quit (Quit: leaving)
14:15:13FromDiscord<Rika> you should go
14:15:20FromDiscord<Rika> continuing will spend more time
14:28:56*wasted_youth2 joined #nim
14:52:05*Gustavo6046 joined #nim
15:18:26FromDiscord<TennisBowling> sent a code paste, see https://play.nim-lang.org/#ix=2W3b
15:49:07FromDiscord<mlokis> is it possible to pass multiple blocks to template?
15:51:12FromDiscord<Rika> sent a code paste, see https://play.nim-lang.org/#ix=2W3r
15:51:37FromDiscord<mlokis> thnx
15:52:33FromDiscord<mlokis> ah yes satisfaction
16:31:38*inamannerofspeak quit (Ping timeout: 240 seconds)
16:43:08*NimBot joined #nim
16:46:50FromDiscord<mlokis> can i somehow view how template generated code looks like?
16:47:41FromDiscord<haxscramper> https://nim-lang.org/docs/macros.html#expandMacros.m%2Ctyped
16:51:43FromDiscord<TennisBowling> sent a code paste, see https://play.nim-lang.org/#ix=2W3S
16:53:06FromDiscord<Solitude> you are assigning int to float
16:53:12FromDiscord<Solitude> `2 (i mod 2) - 1` is int
16:54:32FromDiscord<TennisBowling> okay but how can I make the `2` and `1` floats?
16:54:46FromDiscord<Solitude> font. make whole expression float
16:54:48FromDiscord<Solitude> dont
16:54:57FromDiscord<TennisBowling> oh
16:55:21FromDiscord<Solitude> now its not clear why a is float in the first place
16:55:40FromDiscord<TennisBowling> why not
16:55:44FromDiscord<TennisBowling> I need decimal
16:56:02FromDiscord<Solitude> yeah, whatevr
16:57:32FromDiscord<TennisBowling> In reply to @Solitude "font. make whole expression": how ? 🔰
16:59:50FromDiscord<Solitude> float(expression)
17:00:08FromDiscord<Solitude> https://nim-lang.org/docs/tut1.html#basic-types-type-conversion
17:04:35*inamannerofspeak joined #nim
17:06:08FromDiscord<mlokis> i em triing to add immediate pragma to template though its not working
17:06:14FromDiscord<mlokis> (edit) "triing" => "trying"
17:06:29FromDiscord<mlokis> (edit) "immediate" => "`immediate`"
17:06:37FromDiscord<mlokis> i get `cannot attach a custom pragma`
17:06:55FromDiscord<mlokis> em i missing an import
17:08:13*Prestige quit (Ping timeout: 250 seconds)
17:09:20*inamannerofspeak quit (Ping timeout: 252 seconds)
17:09:21*Prestige joined #nim
17:17:47FromDiscord<TennisBowling> `proc float fib(): =`
17:18:01FromDiscord<TennisBowling> gives undeclared identifier fib
17:18:26Prestigedon't need the :
17:18:41FromDiscord<Solitude> https://nim-lang.org/docs/tut1.html#procedures
17:18:47FromDiscord<Solitude> proc fib(): float =
17:23:38FromDiscord<TennisBowling> gives implementation of pi.float expected
17:39:25FromDiscord<haxscramper> You can show code via https://play.nim-lang.org/
17:48:05*vicfred joined #nim
18:18:01*lritter quit (Ping timeout: 260 seconds)
18:19:39FromDiscord<mikip0> sent a long message, see http://ix.io/2W4o
18:27:53FromDiscord<ajusa> In reply to @ajusa "Will incremental compilation speed": Just tried IC on the js backend, it's five times faster! It doesn't work, but it crashes five times faster now!↵(I know IC isn't ready, just wanted to try it out though)
18:29:07giaco__how to turn a string int32 the corresponding 1:1 byte-to-byte string (4 bytes long)?
18:29:31giaco__please remove first "string" occurrence in my question
18:35:39FromDiscord<Solitude> giaco, cast int32 into char array and do whatever or copyMem into preallocated string
18:41:10*rockcavera quit (Remote host closed the connection)
18:43:04FromDiscord<haxscramper> In reply to @mikip0 "hi, newbie here, i'm": you can get type via `typeof` so you don't have to make it a template with typedesc (and `typedesc` does not necessarily imply `templte`)
18:43:49giaco__Solitude: thanks
18:44:07FromDiscord<haxscramper> You can have rutime `Table[string, int]` if you wish, and use `$typeof(arg)` for example, if you want to make it simpler (at the expense of runtime performance)
18:46:19FromDiscord<haxscramper> > "map certain types to an increasing uint16 id per type at compile time and replace a macro call with the mapped uint16 for the passed type" ↵You can also try and do this using single function where you explicitly write all mappings for a select number of types
18:46:49FromDiscord<haxscramper> Something like that
18:46:50FromDiscord<haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2W4B
18:50:48FromDiscord<mikip0> sent a code paste, see https://play.nim-lang.org/#ix=2W4C
18:51:25FromDiscord<mikip0> the thing i'm struggling with, and am not sure how to resolve is something like this: <https://play.nim-lang.org/#ix=2W4D>
18:52:53FromDiscord<mikip0> the proc wants to call the macro, but i suppose by the time macros are resolved the templated proc isn't split into 1 proc per type so i can't actually do that?
18:54:03FromDiscord<mikip0> i can post my current code as well instead of this example, but it's a bit more cluttered so idk if anyone actually wants to read through that
18:54:41FromDiscord<haxscramper> https://play.nim-lang.org/#ix=2W4E
18:56:08FromDiscord<haxscramper> `const val = getIdAux()` is for transferring types between compiletime variables and runtime
18:57:05FromDiscord<haxscramper> And you can do it at runtime with almost the same logic https://play.nim-lang.org/#ix=2W4F
18:57:18*blackpawn quit (Ping timeout: 240 seconds)
18:57:22*blackpawn_ joined #nim
18:58:35FromDiscord<mikip0> ok, that's cool, so basically this `const val` part captures it at compile time in the first example right? and it's the added benefit it's actually quite simple
18:59:27FromDiscord<mikip0> and as you said, the runtime version is really similiar so i can probably quite easily merge them, thanks a lot @haxscramper
18:59:57FromDiscord<haxscramper> Though it breaks on
18:59:59FromDiscord<haxscramper> 1. generics
19:00:08FromDiscord<haxscramper> 2. similarly named types from different modules
19:00:19FromDiscord<haxscramper> 3. Generics x2
19:01:08FromDiscord<haxscramper> In reply to @haxscramper "1. generics": Though I'm not sure how you would want to handle `seq[int]` vs `seq[string]` or if this is necessary at all
19:01:25FromDiscord<Goel> @haxscramper If i define `var x: int` it is int32 or int64 based on system architecture right? But what happens in the case of a x86 if that var gets overflow? Nim will automatically turn it into a int64?
19:01:38FromDiscord<mikip0> 2. ik, it's a limitation i have as well↵seq handling is not necessary↵1 and 3 are a shame still
19:01:54*narimiran joined #nim
19:02:13FromDiscord<haxscramper> In reply to @Goel "<@!608382355454951435> If i define": It won't be automatically turned into int64 of couse, because that means you have to change type of a variable
19:02:39FromDiscord<haxscramper> IIRC you would get `OverflowDefect` raised
19:02:52FromDiscord<haxscramper> !eval echo high(int) + 1
19:02:59NimBot/usercode/in.nim(1) in↵/playground/nim/lib/system/fatal.nim(49) sysFatal↵Error: unhandled exception: over- or underflow [OverflowDefect]
19:03:38FromDiscord<Goel> I see, so in this case is better to simply define them as var x: int64 if im not sure to prevent it
19:05:14FromDiscord<haxscramper> If you need specific integer size then use it, otherwise `int` is a good default in almost all cases. I think.
19:07:48*azed joined #nim
19:11:37FromDiscord<PsychoClay> does `continue` work in for loops?
19:17:17FromDiscord<mlokis> sent a code paste, see https://play.nim-lang.org/#ix=2W4Q
19:18:12FromDiscord<mlokis> sent a code paste, see https://play.nim-lang.org/#ix=2W4R
19:18:45FromDiscord<jtiai> sent a code paste, see https://play.nim-lang.org/#ix=2W4S
19:19:31FromDiscord<mlokis> is size static?
19:20:05FromDiscord<mlokis> like you have `const size` not `var size`
19:20:26FromDiscord<jtiai> There is nothing yet. Just trying to setup datastructures.
19:20:27FromDiscord<mlokis> though error is off
19:21:03FromDiscord<haxscramper> In reply to @jtiai "Having some troubles with": You need to specify parameter for `Memory`, like `Memory[256]`
19:21:06FromDiscord<haxscramper> Like for `array`
19:21:31FromDiscord<jtiai> So how I can refer to array which is unknown at the time of writing.
19:21:42FromDiscord<haxscramper> And "not a concrete type" is related to `mem: seq[Memory]` because you didn't specify size explicitly
19:21:43FromDiscord<mlokis> use seq then
19:21:46FromDiscord<haxscramper> no
19:21:57FromDiscord<haxscramper> It can be done witout seq, wait a second
19:22:23FromDiscord<jtiai> There willbe 9878321 different "instances" of Memory,.
19:22:24FromDiscord<haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2W4T
19:22:31FromDiscord<haxscramper> You just need to make `Bus` generic also
19:23:01FromDiscord<haxscramper> Because `Memory` is a generic therefore you need to either specify concrete type or make everything generic too
19:23:03FromDiscord<mlokis> sent a code paste, see https://paste.rs/EAi
19:23:23FromDiscord<mlokis> or maybe not am not sure what he wants
19:23:26FromDiscord<jtiai> Out of curiosity, why bus needs to be generic?
19:23:34FromDiscord<haxscramper> In reply to @haxscramper "Because `Memory` is a": .
19:23:48*Gustavo6046 quit (Read error: Connection reset by peer)
19:24:11FromDiscord<haxscramper> You either need to stop creating generics but substituting some concrete value
19:24:16FromDiscord<haxscramper> Or continue making generics
19:24:21FromDiscord<jtiai> So there is no way to have a list objects that do have arrays?
19:24:23*Gustavo6046 joined #nim
19:24:44FromDiscord<mlokis> all arrays need to have same size or use seq
19:25:05FromDiscord<haxscramper> If arrays have different size no. If they have the same size then they are of the same type and so you can easily store them in seq
19:25:22FromDiscord<jtiai> Arrays are different sizes, since they emulate some computer memory.
19:25:27FromDiscord<jtiai> (or device)
19:25:47FromDiscord<mlokis> so you need array with variable size?
19:25:58FromDiscord<jtiai> Several arrays with fixed sizes.
19:26:11*rockcavera joined #nim
19:26:20FromDiscord<haxscramper> with different fixed sizes?
19:26:21FromDiscord<jtiai> size can be different but they are known at compile time.
19:26:34FromDiscord<mlokis> collection cannot contain data with different sizes
19:26:40FromDiscord<dk> Maybe make a different field for each array size
19:26:53FromDiscord<jtiai> diefferent field?
19:27:04FromDiscord<jtiai> Err for infinite array sizes?
19:27:12FromDiscord<mlokis> In reply to @dk "Maybe make a different": we are getting wery memory effective now
19:27:26FromDiscord<dk> I thought you said you know the sizes, I misunderstand
19:27:44FromDiscord<jtiai> I know when building final configuration for emulated device.
19:27:58FromDiscord<mlokis> can you describe the behavior you want?
19:28:20FromDiscord<mlokis> arrays size needs to be known at compile time
19:28:30FromDiscord<jtiai> A emulated memory , basically an array of different bit sizes.
19:28:43FromDiscord<mlokis> then you need seq
19:29:23FromDiscord<mlokis> well all the arrays inside the seq have same size?
19:29:51FromDiscord<mlokis> (edit) "well" => "will"
19:29:57FromDiscord<jtiai> No.
19:30:11FromDiscord<mlokis> then its imposible to have arrays here
19:30:52FromDiscord<jtiai> Don't you people read? I have several times said: arrays are known at compile time. array size is known at compile time. I don't know before compilation configuration of memories.
19:31:16giaco__Solitude: what do you think about the alternative solution: myint32.toHex.parseHexStr?
19:32:13FromDiscord<haxscramper> You want to have something like a single emulator instance with some fixed number of memory arrays (like RAM, L1 cache or whatever) and use single `Memory` type for all of them?
19:32:54FromDiscord<jtiai> Yes because range is quite huge.
19:33:43FromDiscord<haxscramper> So the emulator instance is parametrized on these sizes (which are known at compile-time)
19:33:48FromDiscord<mlokis> sent a code paste, see https://play.nim-lang.org/#ix=2W4W
19:34:26FromDiscord<jtiai> In reply to @haxscramper "So the emulator instance": Yes. There is nothing "dynamic" involved.
19:34:26FromDiscord<haxscramper> In reply to @haxscramper "So the emulator instance": If you want to make emulator fully parametric on all sizes you would have to pass them as generic type parameters all the way down to where they are used
19:35:15FromDiscord<Solitude> In reply to @giaco__ "<@104136074569211904>: what do you": awful
19:35:30FromDiscord<haxscramper> So create different fields for different memory elements and arrange size parameters however you need
19:36:41FromDiscord<jtiai> If I drop down to `seq` would it be significantly slower?
19:37:32FromDiscord<jtiai> Because majority of emulation revolves around reading and writing memory...
19:38:02FromDiscord<Yardanico> sent a code paste, see https://play.nim-lang.org/#ix=2W4X
19:38:07FromDiscord<Yardanico> (edit) "https://play.nim-lang.org/#ix=2W4X" => "https://paste.rs/1tG"
19:38:21FromDiscord<Yardanico> outside can be an array (if you don't change the length), but inside ones have to be seqs since they have different length
19:38:29FromDiscord<haxscramper> In reply to @jtiai "If I drop down": One more pointer indirection
19:38:32FromDiscord<Yardanico> or you can have padded arrays
19:42:13FromDiscord<mlokis> from what i understand he wants to store differently sized data structure in sequence witch makes you unable to safely index into it
19:42:44FromDiscord<mlokis> (edit) "you unable" => "it impossible"
19:42:52FromDiscord<Yardanico> i'm confused who is asking help with what
19:43:27FromDiscord<mlokis> am not asking for help
19:46:09FromDiscord<Gennadiy> sent a long message, see http://ix.io/2W53
19:47:12FromDiscord<Gennadiy> (edit) "http://ix.io/2W53" => "http://ix.io/2W54"
20:09:19*Vladar quit (Quit: Leaving)
20:10:05*narimiran quit (Ping timeout: 240 seconds)
20:15:33*natrys quit (Quit: natrys)
20:18:06*stefantalpalaru quit (Ping timeout: 240 seconds)
20:18:46FromDiscord<sealmove> @giaco you here?
20:30:37FromDiscord<hamidb80> did you know that`reverse` proc is in `algorithm` module and not `sequtils` 🤔
20:31:21FromDiscord<hamidb80> (edit) "🤔" => "🤔?"
20:43:35FromDiscord<ElegantBeef> yes
20:43:59*inamannerofspeak joined #nim
20:48:49*inamannerofspeak quit (Ping timeout: 252 seconds)
20:49:19*haxscramper quit (Remote host closed the connection)
20:49:43*haxscramper joined #nim
20:49:46*haxscramper quit (Remote host closed the connection)
20:57:13*krux02 quit (Remote host closed the connection)
20:57:49FromDiscord<jtiai> sent a code paste, see https://play.nim-lang.org/#ix=2W5w
21:00:54FromDiscord<ElegantBeef> `array[1024, uint8]`
21:01:15*stefantalpalaru joined #nim
21:03:06FromDiscord<jtiai> So how do I set that to object?
21:04:51FromDiscord<sealmove> Just like this. `data: array[1024, uint8]`
21:05:58FromDiscord<jtiai> So when I do `var rom = Memory()` then I can do `rom.data: array[1024, uint8]`?
21:06:38FromDiscord<sealmove> `:` is mostly for declarations, not assignments
21:06:44FromDiscord<Solitude> no, array is preallocated with object
21:06:49FromDiscord<ElegantBeef> It's an array it'd already be 0'd inited
21:07:03FromDiscord<ElegantBeef> so it'd take up the KB and 0 it
21:07:37FromDiscord<jtiai> Well that's what I want but I want to tell size as a parameter, not as typed fixed static value in code.
21:08:03FromDiscord<Solitude> use a sequence?
21:08:57FromDiscord<Yardanico> In reply to @jtiai "Well that's what I": if that size is known at compile-time, you can make your Memory a generic
21:09:22FromDiscord<jtiai> I tried to make it generic but then I was told that everything that uses it must be generic too...
21:09:55FromDiscord<Yardanico> yes, because you'll be dealing with different types effectively
21:10:00FromDiscord<jtiai> Like bus should be generic - even it's not generic just because it uses generics...
21:10:14FromDiscord<Yardanico> oh, if you want to store seq[Memory] then you can't use generics
21:10:34FromDiscord<Yardanico> if you expect seq[Memory] to be able to contain Memory objects of different sizes
21:10:39FromDiscord<jtiai> Of course because there can be several pieces of memory. like "rom", "ram", video ram"
21:11:03FromDiscord<Yardanico> yes, but what's your actual problem? you were told to use seqs a lot of times if you need dynamic memory sizes
21:11:30FromDiscord<jtiai> My actual problem is to store several predefined static arrays in an array.
21:11:45FromDiscord<jtiai> and second array is dynamic.
21:11:57FromDiscord<jtiai> I don't know at compile time which memories might be enabled.
21:12:10FromDiscord<Yardanico> In reply to @jtiai "My actual problem is": you can't, since seqs can only hold variables of the same type
21:12:20FromDiscord<Yardanico> but two arrays with different sizes are different types
21:12:43FromDiscord<Yardanico> again, why seqs don't work for you?
21:12:54FromDiscord<Yardanico> seq[Memory] and Memory has a data which is a seq too
21:13:17FromDiscord<jtiai> Can I make data as "fixed sized" since I need to use it by index always.
21:13:29FromDiscord<Yardanico> In reply to @jtiai "Can I make data": yes, you can just preallocate the seq when starting the program
21:13:37FromDiscord<Yardanico> so then no reallocations will be needed for it
21:14:23FromDiscord<sealmove> GUYS, can someone tell how is something like nimpy possible O_O I just used it for the first time and I am so amazed and thrilled!!!
21:14:23FromDiscord<jtiai> how about `newSeq`?
21:14:53FromDiscord<Yardanico> In reply to @รєคɭ๓๏שє "GUYS, can someone tell": CPython C API + some Nim sugar, as usual :P
21:15:11FromDiscord<sealmove> OMG I AM SO HAPPY
21:15:12FromDiscord<Yardanico> In reply to @jtiai "how about `newSeq`?": well, that's what I'm talking about
21:15:27FromDiscord<sealmove> now i can write Nim forever
21:15:39FromDiscord<Solitude> thats the plan
21:16:18FromDiscord<jtiai> how about seq performance, though that probably is least of my worries with current cpu power vs machines I plan to emulate...
21:16:32FromDiscord<Yardanico> what about it
21:16:48FromDiscord<sealmove> In reply to @jtiai "how about seq performance,": well jtiai, seqs can use the stack, so it's not like you are allocating on the heap
21:17:01FromDiscord<Yardanico> In reply to @รєคɭ๓๏שє "well jtiai, seqs can": stack wouldn't work for his usecase anyway
21:17:08FromDiscord<Yardanico> and you can't allocate seqs on stack in Nim without hacks
21:17:20FromDiscord<sealmove> really?
21:17:34FromDiscord<Yardanico> yes
21:17:45FromDiscord<Yardanico> seqs are always on the heap, same as "ref object" types
21:18:30FromDiscord<Yardanico> but again, seqs are not that complicated, they won't be worse in performance than a heap allocated array in any other native language like C
21:18:44FromDiscord<Yardanico> since you're not reallocating them anyway, just 1 allocation on the program startup
21:18:55FromDiscord<jtiai> sent a code paste, see https://play.nim-lang.org/#ix=2W5H
21:18:56FromDiscord<Yardanico> what do you want data to be?
21:19:08FromDiscord<Yardanico> what type should it store?
21:19:15FromDiscord<sealmove> seq[byte]?
21:19:19FromDiscord<jtiai> seq[int8]
21:19:50FromDiscord<Yardanico> then just do that
21:19:59FromDiscord<Yardanico> data: seq[int8]
21:23:01FromDiscord<ElegantBeef> that will be 0 len on creation of memory so you might want `Memory(data: newSeq[int8](1024))` or w/e you want the size to be
21:26:35FromDiscord<hamidb80> sent a code paste, see https://play.nim-lang.org/#ix=2W5N
21:26:55FromDiscord<ElegantBeef> `new T`
21:27:50FromDiscord<ElegantBeef> https://play.nim-lang.org/#ix=2W5O
21:28:08FromDiscord<exelotl> you're probably best off using a `var seq` as the parameter
21:28:13FromDiscord<exelotl> rather than ref seq
21:28:35FromDiscord<ElegantBeef> True
21:34:17FromDiscord<jtiai> Now final issue for tonight:
21:36:07FromDiscord<jtiai> sent a code paste, see https://play.nim-lang.org/#ix=2W5R
21:36:52FromDiscord<jtiai> Of course I get recursion error. How that should be done?
21:37:31FromDiscord<Solitude> one of these types has to be a reference
21:37:33FromDiscord<ElegantBeef> `typeB = ref object`
21:39:24FromDiscord<jtiai> Actually both should be refs. That would make sense in this context.
21:42:04FromDiscord<jtiai> At least I learnt a small piece of Nim. After 10 years I will master it!
21:47:56*Vladar joined #nim
21:52:42*thomasross joined #nim
21:53:00*Yardanico quit (Remote host closed the connection)
21:54:07*Yardanico joined #nim
21:58:48*tane quit (Quit: Leaving)
22:03:08*azed quit (Quit: WeeChat 3.1)
22:13:46FromDiscord<sealmove> Nah, you don't need 10 years to master it. It has a lot of features but they I think the learning curve is very smooth. The features really make sense.
22:16:38FromDiscord<dom96> hm, it's been 12 years and I still haven't mastered it
22:17:00FromDiscord<sealmove> It depends what we mean by master
22:17:22FromDiscord<dom96> 🙂
22:20:59FromDiscord<Sabena Sema> can nimpy result in amazing heap corruption? I wrote a nim program that embedded a python interpreter and was also called from C# one time and that was ..... fun
22:21:22FromDiscord<Sabena Sema> "inside me there are three wolves, they are all garbage collectors, and they all want to collect"
22:21:28FromDiscord<Yardanico> compile your extension with arc/orc and you won't have those issues
22:21:37FromDiscord<Sabena Sema> it was like an extremely aggressive garbage collector union action
22:21:46FromDiscord<Sabena Sema> this was before arc/orc existed
22:21:56FromDiscord<Yardanico> but now arc/orc exist
22:40:19*stefantalpalaru quit (Changing host)
22:40:19*stefantalpalaru joined #nim
22:43:38FromDiscord<aab> Hi guys
22:43:45FromDiscord<aab> why does `someFunction(none(openArray[float32))` not work
22:45:30FromDiscord<aab> how would I pass a none option to a function like this? `proc someFunction(optional_array: Option[openArray[float32]]): void =`
22:53:27FromDiscord<Yardanico> this code is invalid since openArray is not a concrete type
22:53:32FromDiscord<Yardanico> it is with experimental views, but they're experimental :)
22:54:20FromDiscord<aab> hmm so I can't really pass an optional type as an openarray?
22:54:50FromDiscord<Yardanico> no, you can't pass openArray with an Option
22:55:58FromDiscord<aab> alright then thanks!
22:57:06*Vladar quit (Quit: Leaving)
23:18:19*clyybber quit (Quit: WeeChat 3.1)
23:36:41*Lord_Nightmare quit (Quit: ZNC - http://znc.in)
23:37:15FromDiscord<exelotl> mann I wish std/marshal worked in nimscript :(
23:37:57FromDiscord<exelotl> passing data from config.nims to a dedicated tool seems like a major use case
23:38:43*Lord_Nightmare joined #nim