<< 06-02-2024 >>

00:00:11*raynei joined #nim
00:09:55FromDiscord<kdot_227> is there a way to use dumpAstGen and having it print in your code rather than compile time?
00:09:56FromDiscord<kdot_227> https://nim-lang.org/docs/macros.html#dumpAstGen.m%2Cuntyped
00:28:25FromDiscord<kdot_227> I've looked everywhere and don't see a solution. It just seems weird that the AST isn't accessible in nim unless your working strictly with macros.
00:29:12FromDiscord<Elegantbeef> Right Nim is an AOT compiled language
00:29:31FromDiscord<Elegantbeef> So you can always use a macro to stringify a tree and return it
00:39:24FromDiscord<girvo> sent a code paste, see https://play.nim-lang.org/#pasty=ZIkgYJeQQjzd
00:42:18FromDiscord<Elegantbeef> `inputs.mitems`
01:07:57FromDiscord<Prestige> is nim-langserver any better than nimlsp by PMunch? I haven't tried the former
01:08:07FromDiscord<Elegantbeef> It supposedly is
01:14:12*krux02 quit (Remote host closed the connection)
01:17:14FromDiscord<girvo> In reply to @Elegantbeef "`inputs.mitems`": Thank you!
01:29:41*KhazAkar quit (Ping timeout: 252 seconds)
01:37:57*KhazAkar joined #nim
01:54:51NimEventerNew Nimble package! mutf8 - An implementation of a Modified UTF-8 encoder and decoder in Nim!, see https://github.com/Yu-Vitaqua-fer-Chronos/MUTF-8
01:54:51NimEventerNew Nimble package! dither - Dithering algorithms in Nim, see https://github.com/Nycto/dither-nim
02:16:39FromDiscord<4zv4l> if I start a lot of threads using `threadpool` and reach the maximum size of the pool↵will it wait for a thread to finish to start a new one or it will throw an error ?
02:18:33*KhazAkar quit (Read error: Connection reset by peer)
02:18:56*KhazAkar joined #nim
02:31:42*rockcavera quit (Read error: Connection reset by peer)
02:32:54*rockcavera joined #nim
02:32:54*rockcavera quit (Changing host)
02:32:54*rockcavera joined #nim
02:36:25*disso-peach quit (Quit: Leaving)
02:36:49FromDiscord<Elegantbeef> I'd say read the source, I assume it waits and does not crash, but who knows
03:09:30FromDiscord<zumi.dxy> damn, looks like jan got cross/double pinged lmao↵it reminds me of a discord server with a youtube feed↵one of the video titles had at everyone on it so the update bot literally pinged everyone
03:12:12*raynei quit (Remote host closed the connection)
03:45:56*azimut quit (Ping timeout: 255 seconds)
03:54:49*azimut joined #nim
04:10:53*derpydoo quit (Ping timeout: 240 seconds)
04:14:45FromDiscord<4zv4l> would be better to be written in the doc but alright
04:15:02FromDiscord<Elegantbeef> I don't disagree but when you have questions put a wet suit on and go diving
04:39:20FromDiscord<4zv4l> sent a code paste, see https://play.nim-lang.org/#pasty=RkbVQfPcaJos
04:40:55FromDiscord<leorize> threadpool is for computation, so it will cap the maximum number of threads to your number of cores
04:47:55FromDiscord<girvo> In reply to @leorize "threadpool is for computation,": Surprising, it's using a lot more threads than we have cores on our server currently
04:50:34FromDiscord<4zv4l> makes sense then, thank you !
04:53:14FromDiscord<leorize> I never said it was actually good \:p↵(@girvo)
04:53:33FromDiscord<leorize> but do be careful using it, it's known to exhibit data races
04:53:41FromDiscord<leorize> and memory leaks
05:14:06FromDiscord<girvo> In reply to @leorize "and memory leaks": Weirdly it doesn't leak in our usage haha, we have crazy uptime
05:14:59FromDiscord<girvo> Data races though, yeah. Ours are nearly completely shared nothing, and channel + message passing for the rare instances where we do need cross thread comms
05:16:31FromDiscord<leorize> the leaks are amplified only if you use certain modules, and you frequently teardown and setup threads
05:16:55FromDiscord<girvo> We might revisit it again at some point; there was issues with asyncdispatch sadly and we didn't have the time to check out the other async implementation that I forget the name of
05:17:19FromDiscord<leorize> basically I don't trust that it works without extensive testing with sanitizers and valgrind
05:17:41FromDiscord<girvo> In reply to @leorize "basically I don't trust": tbf thats me and everything 😄
05:18:03FromDiscord<leorize> we are building some concurrency stuff and the leaks + races are annoying
05:18:18FromDiscord<leorize> and you probably saw Phil posting issues here every now and then
05:18:37FromDiscord<Elegantbeef> Meanwhile tsan fails with traitor and I do not do anything related with threads 😄
05:18:57FromDiscord<leorize> you made the mistake of compiling it with nim, obviously
05:19:07FromDiscord<Elegantbeef> Nimskull doesn't get further
05:19:12FromDiscord<girvo> how dare you!
05:19:22FromDiscord<girvo> Wonder whats causing it, thats odd
05:19:37FromDiscord<Elegantbeef> I almost got generic support done until I hit a nice generic error 😄
05:20:12FromDiscord<leorize> it's a normal sight to have your code races 2 months down the line because devel changed something
05:20:28FromDiscord<leorize> make an issue and you'll get it fixed \:p
05:26:54FromDiscord<girvo> In reply to @leorize "it's a normal sight": keeps you on your toes lol
06:19:39FromDiscord<Robyn [She/Her]> In reply to @NimEventer "New Nimble package! mutf8": Eyy
06:25:44*LuxuryMode_ quit (Quit: Connection closed for inactivity)
06:31:44FromDiscord<gogolxdong666> Is there any live streaming server library in Nim?
06:40:40FromDiscord<Elegantbeef> leorize if curious nimskull actually does compile the generic 😄
06:40:41FromDiscord<Elegantbeef> I minimised it and yep it's a funny error
06:41:00*rockcavera quit (Remote host closed the connection)
06:42:26FromDiscord<Elegantbeef> https://play.nim-lang.org/#pasty=KPghPwqDDbIE min example if you care to see
06:43:46FromDiscord<Elegantbeef> For viewers at home, notice the fact it errors at generic proc instantiation and not usage
06:46:11FromDiscord<Elegantbeef> Holy shit....
06:46:25FromDiscord<Elegantbeef> https://play.nim-lang.org/#pasty=ZgAIFoctLbOQ this compiles
06:47:30FromDiscord<Elegantbeef> It's cursed as hell https://play.nim-lang.org/#pasty=AgXLUhbVdalL
07:07:40FromDiscord<leorize> the good ol' 🥪
07:07:48FromDiscord<Elegantbeef> Nope
07:07:57FromDiscord<Elegantbeef> I refuse to call most errors a generic sammich
07:08:35FromDiscord<Elegantbeef> This error is the type instantiation lacking the type parameters in scope 😄
07:15:08FromDiscord<leorize> sem drops the ball since it couldn't determine the scope in which the generic should be solved
07:15:08FromDiscord<Elegantbeef> Well not really
07:15:08FromDiscord<Elegantbeef> It just has only the symbols of the proc
07:15:10FromDiscord<Elegantbeef> Which is why changing them to match the proc works
07:15:10FromDiscord<Elegantbeef> `seminst` does not instantiate a generic the same way that `semtypinst` does
07:15:10FromDiscord<leorize> if nimskull compiles this then obviously you should target that compiler \:p
07:15:12FromDiscord<Elegantbeef> There is no issue with determination the symbol table quite literally only searches for the proc generic parameters when there is a dispatch
07:15:35FromDiscord<Elegantbeef> Remove the dispatch and it works fine, but the dispatch causes it to forget about the type symbols which is quite fun!
07:16:37FromDiscord<Elegantbeef> If only I knew how to get a type's table \:d
07:17:10FromDiscord<nnsee> reading some of these convos just makes me feel dumb
07:17:23FromDiscord<Elegantbeef> Same
07:20:26FromDiscord<Elegantbeef> If you really want to feel dumb, I generally just echo debug the compiler logic with stack traces
07:21:23FromDiscord<leorize> beef\: https://nim-works.github.io/nimskull/debug.html \<- if only someone made a thing that auto echo for you \:p
07:23:01FromDiscord<Elegantbeef> I mean I know that exists but trying to compile game game just freezes
07:24:38FromDiscord<Elegantbeef> to compile my game\
07:25:30*advesperacit joined #nim
07:27:15FromDiscord<nnsee> game game sounds awesome
07:27:18FromDiscord<nnsee> double the fun
07:41:04*lucerne quit (Ping timeout: 246 seconds)
07:44:50FromDiscord<bung8954> sent a code paste, see https://play.nim-lang.org/#pasty=CWnmSjGiDDcS
07:49:59*PMunch joined #nim
07:50:49NimEventerNew thread by ninovanhooff: LLdb: Is there an .lldbinit file available for Nim's own types?, see https://forum.nim-lang.org/t/10957
08:34:09FromDiscord<fosster> little problem here
08:34:56FromDiscord<fosster> `error: invalid type: 'openArray[Transaction]' in this context: 'proc (header: Header, transactions: openArray[Transaction]): Block' for proc` it seems I can't use an openArray as argument to a proc
08:59:49FromDiscord<fosster> btw thanks [Robyn [She/Her]](https://matrix.to/#/%40_discord_524288464422830095%3At2bot.io) that library you suggested me for serialization (flatty) works like a charm \:)
09:13:27FromDiscord<Elegantbeef> What is `Transaction`?
09:20:41FromDiscord<fosster> is an object
09:20:42FromDiscord<fosster> containing non-primitive fields
09:20:42FromDiscord<Elegantbeef> Are you sure it's not generic?
09:21:22FromDiscord<fosster> yes, it's not
09:21:53FromDiscord<Elegantbeef> I assume you have a type uses a generic typeclass internally and as such is causing this error
09:22:44FromDiscord<fosster> I have an Option
09:22:44FromDiscord<Elegantbeef> hard to say without the type def
09:24:00FromDiscord<Robyn [She/Her]> In reply to @fosster "btw thanks [Robyn [She/Her]](https://matrix.to/#/%4": Of course! I'm glad it worked for you!
09:25:35FromDiscord<fosster> does it make a difference?
09:25:58FromDiscord<Elegantbeef> Is it an Option with a generic parameter?
09:26:03FromDiscord<Elegantbeef> `Option` is invalid as a field inside an object
09:26:12FromDiscord<Elegantbeef> But `Option[SomeTypeHere]` is valid
09:26:26FromDiscord<fosster> yes it is an Option[Hash]
09:26:53FromDiscord<Elegantbeef> Just share the typedef 😄
09:30:08FromDiscord<fosster> actually it is giving me error also with `openArray[uint8]`
09:30:13FromDiscord<fosster> wait
09:31:39FromDiscord<fosster> `proc newTransaction(timestamp: Time, data: openArray[uint8]): Transaction = return Transaction(timestamp: timestamp, data: data)`↵↵where↵` Transaction = object timestamp: Time data: openArray[uint8]`
09:31:58FromDiscord<Elegantbeef> openarray is only allowed as a parameter
09:32:04FromDiscord<Elegantbeef> `seq[T]` there
09:32:06FromDiscord<fosster> sent a code paste, see https://play.nim-lang.org/#pasty=IlPKOkgiAFRs
09:32:12FromDiscord<fosster> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1204358734415925289): `proc newTransaction(timestamp: Time, data: openArray[uint8]): Transaction = return Transaction(timestamp: timestamp, data: data)`↵↵where↵` Transaction = object timestamp: Time data: openArray[uint8]`
09:32:16FromDiscord<fosster> thanks!
09:33:17FromDiscord<fosster> that's because openArray is some sort of generic right?
09:33:23FromDiscord<Elegantbeef> No
09:33:35FromDiscord<Elegantbeef> It's cause openArray is a slice and it's unsafe to have a slice outlive the place of referencing
09:33:44FromDiscord<Elegantbeef> Nim lacks a rust style borrow checker
09:33:56FromDiscord<fosster> oh makes sense
09:34:29FromDiscord<Elegantbeef> Well there is an experimental 'views type' but that explodes like a hand grenade if you look at it the wrong way
09:34:54FromDiscord<fosster> is it like string view?
09:35:07FromDiscord<Elegantbeef> No clue what that's in reference to
09:35:24FromDiscord<Elegantbeef> It's quite literally a safe wrapping of `(data: ptr UncheckedArray[T], len: int)`
09:36:04FromDiscord<fosster> yeah basically stringview
09:36:25FromDiscord<Elegantbeef> well arrayView 😛
09:39:18FromDiscord<Elegantbeef> You should use openArray for parameters of course as I imagine you figured
09:39:29FromDiscord<Elegantbeef> `seq[T]` and `array[Idx, T]` both auto convert to them
09:46:09FromDiscord<fosster> thank you
09:56:21*jmdaemon quit (Ping timeout: 256 seconds)
10:00:44NimEventerNew Nimble package! bttrwttrin - Nim library to fetch weather using wttr.in, see https://github.com/nirokay/bttrwttrin
10:02:44PMunchNice use of the word overmorrow
10:40:36FromDiscord<odexine> Me about to incorporate overmorrow and ereyesterday into my daily use lexicon
10:54:09FromDiscord<adrian> does overmorrow mean the day after tomorrow?
10:54:20FromDiscord<odexine> Yes
10:56:04Amun-Raand by that logic overday - the day before yesterday?
10:56:42FromDiscord<odexine> The word i mentioned is the antonym (ereyesterday)
10:56:45Amun-Raoverday: lasting more than a day; noting a period of more than twenty-four hours
10:58:16Amun-RaTIL ;)
11:06:45FromDiscord<Robyn [She/Her]> Old English is fun
11:08:10PMunchIn Norwegian we still use overimorgen
11:08:46PMunchWhich in Norwegian literally just means the day after tomorrow
11:11:33FromDiscord<Robyn [She/Her]> Fair
11:11:49FromDiscord<Robyn [She/Her]> I wonder if yesteryear is a common saying still
11:15:19FromDiscord<nnsee> same, ülehomme in estonian, literally translated to "overmorrow"
11:17:00FromDiscord<Robyn [She/Her]> Neat!
11:17:06FromDiscord<Robyn [She/Her]> Languages are great
11:28:43*junaid_ joined #nim
11:34:06*krux02 joined #nim
12:15:46*junaid_ quit (Remote host closed the connection)
12:19:26*lucerne joined #nim
13:53:03Amun-Rain polish it's literal equivalent of aftertomorrow
14:48:46*lucasta joined #nim
15:10:50NimEventerNew thread by jmgomez: Tooling update: new version of the nimlangserver and the vscode extension, see https://forum.nim-lang.org/t/10959
15:22:41*PMunch quit (Quit: Leaving)
15:53:55*lucasta quit (Remote host closed the connection)
16:25:16FromDiscord<nnsee> In reply to @NimEventer "New thread by jmgomez:": neat
17:07:59*rockcavera joined #nim
17:42:30*jmdaemon joined #nim
17:49:55*derpydoo joined #nim
17:51:41*jmdaemon quit (Ping timeout: 240 seconds)
17:52:35FromDiscord<whisperecean> What kind of pattern can I use to parse this time? "May 2 09:27:20 2024 GMT"
18:02:27FromDiscord<whisperecean> Should be ASN.1_TIME from what I see
18:04:16*jmdaemon joined #nim
18:34:32NimEventerNew thread by xioren: ANSI Escape Sequences, see https://forum.nim-lang.org/t/10960
18:44:05FromDiscord<nervecenter> Is there any way to print floats to specific number of significant digits? NOT a number of decimal places, which is all that Nim's library formatters support.
18:48:49FromDiscord<odexine> if you accept exponential format, yes
18:53:05FromDiscord<nervecenter> Cannot do scientific notation
18:56:05FromDiscord<odexine> i dont think there is anything in the stdlib for this
19:05:56FromDiscord<nervecenter> In the C standard, `%g` and `%G` both do this, rather than the fixed->scientific switch behavior in Nim. Who wrote the strformat library?
19:06:45*jmdaemon quit (Ping timeout: 272 seconds)
19:06:49FromDiscord<nervecenter> (edit) "this," => "significant digits,"
19:07:32*azimut quit (Ping timeout: 255 seconds)
19:08:22FromDiscord<odexine> ? https://media.discordapp.net/attachments/371759389889003532/1204503870395523082/image.png?ex=65d4f8a5&is=65c283a5&hm=89e80e89a546446e3d525483fa95dabf55342d4aa9802be88f5e49b086ea1fbb&
19:12:35*Goodbye_Vincent quit (Ping timeout: 264 seconds)
19:19:32*Goodbye_Vincent joined #nim
19:22:47FromDiscord<spacelucy> hi, i'm trying to read the db file at `/var/lib/pacman/core.db` for the arch linux pacman command. this file contains all the available packages on the arch core repository. i'm trying to be able to check a string for a package name against this file to see if the package exists. how would i go about doing this?
19:23:24FromDiscord<spacelucy> i found [this](https://nim-lang.org/docs/db_sqlite.html but i'm not sure how to use it really
19:23:49FromDiscord<spacelucy> i found this\: https://nim-lang.org/docs/db_sqlite.html, but i'm not sure how to use it really
19:25:04FromDiscord<nnsee> In reply to @spacelucy "i found this\: https://nim-lang.org/docs/db_sqlite.": first try using the sqlite command line tool to try and read the database and fetch the information you need (using SQL statements)
19:25:55FromDiscord<nnsee> once you've got a clear idea on how the data you're interested in is structured and how to query it, you can use the sqlite library you linked to do pretty much the exact same thing
19:26:41FromDiscord<spacelucy> okay, thanks
19:26:52FromDiscord<spacelucy> i've never used anything related to SQL before
19:27:20FromDiscord<spacelucy> w3schools my beloved
19:27:47FromDiscord<nnsee> the statement itself will probably be something like `SELECT FROM packages WHERE name='whatever package name';` or something similar
19:28:02FromDiscord<nnsee> maybe the LIKE keyword to do an inexact match
19:28:40FromDiscord<nnsee> `packages` and `name` likely aren't correct either, you should figure out the actual table and field names
19:28:52FromDiscord<spacelucy> a .db file contains a table which contains rows... right?
19:30:00advesperacitit can contain one or more tables, yes
19:30:11FromDiscord<nnsee> a db file may (and probably will) contain many tables
19:31:16FromDiscord<spacelucy> ok
19:31:25FromDiscord<nnsee> tables are described using a schema, which generally dictates the tables structure (columns, column types etc - although sqlite is quite flexible with types). a table then contains rows which contain the actual data
19:32:38*Goodbye_Vincent quit (Ping timeout: 252 seconds)
19:32:54FromDiscord<spacelucy> got it
19:33:29FromDiscord<spacelucy> i've used MongoDB before in the past so i understand for the most part how it works, it's just very different syntax
19:34:07FromDiscord<nnsee> mongodb is very different from sql
19:34:33FromDiscord<nnsee> mongo works with documents, which can be of arbitrary structure
19:35:00FromDiscord<nnsee> there is some overlap but i would say they're pretty drastically different
19:35:38FromDiscord<nnsee> whereas different SQL engines work in a much more similar fashion to each other, comparitively speaking
19:35:56FromDiscord<spacelucy> yeah, mongodb doesn't use tables
19:36:09*PMunch joined #nim
19:36:17FromDiscord<spacelucy> but it's similar enough that sql makes sense to me
19:36:47*jmdaemon joined #nim
19:37:10FromDiscord<spacelucy> image.png https://media.discordapp.net/attachments/371759389889003532/1204511121344831498/image.png?ex=65d4ff66&is=65c28a66&hm=fa3122f93b831219e363a7726be8f7281674dd349af254fa89dff743852d08d8&
19:37:14FromDiscord<spacelucy> okay, what did i do wrong
19:37:17Amun-Raless known fact: S in MongoDB stands for Security
19:37:47advesperacitthe R stands for Reliability
19:38:15FromDiscord<spacelucy> yeah, i was using it for a discord bot lol↵(<@709044657232936960_=41mun-=52a=5b=49=52=43=5d>)
19:38:29FromDiscord<nnsee> In reply to @spacelucy "image.png": wait
19:39:09FromDiscord<nnsee> isn't the alpm database just a .tar.xz file?
19:39:22*Figworm joined #nim
19:39:51FromDiscord<nnsee> i'm pretty sure it is
19:39:54*Figworm quit (Client Quit)
19:39:55FromDiscord<nnsee> run `file` on it
19:40:07*Goodbye_Vincent joined #nim
19:40:17FromDiscord<spacelucy> maybe, i can open it in ark
19:40:37FromDiscord<spacelucy> oh, gzip
19:41:00FromDiscord<nnsee> close enough
19:41:01FromDiscord<spacelucy> so yeah
19:41:35Amun-Raadvesperacit: ;)
19:41:36FromDiscord<spacelucy> okay, that makes it a lot easier
19:41:54Amun-Raadvesperacit: exactly like in IoT
19:43:26*rockcavera quit (Remote host closed the connection)
19:52:05*Goodbye_Vincent quit (Ping timeout: 260 seconds)
19:59:50*Goodbye_Vincent joined #nim
20:07:36*rockcavera joined #nim
20:15:25*Goodbye_Vincent quit (Ping timeout: 264 seconds)
20:21:58*Goodbye_Vincent joined #nim
20:41:09FromDiscord<Robyn [She/Her]> Nearly fixed my NBT dumping code...
20:41:14FromDiscord<Robyn [She/Her]> Idk what the issue is nw tho
20:41:26FromDiscord<Robyn [She/Her]> It seems like the incorrect type is recorded...?
20:49:58FromDiscord<leorize> you have a reference impl right?
20:50:10FromDiscord<leorize> just try dumping the same stuff and compare the bits
20:50:28FromDiscord<Robyn [She/Her]> I am doing that ye
20:50:31FromDiscord<Robyn [She/Her]> And I fixed it~
20:51:04FromDiscord<leorize> neat
20:51:20FromDiscord<Robyn [She/Her]> Yeah! I use a very hacky workaround for the last hurdle though
20:51:51FromDiscord<Robyn [She/Her]> Wait nvm I think I can fix that
20:54:00FromDiscord<Robyn [She/Her]> Yep, fixed!
20:58:11*jmdaemon quit (Ping timeout: 264 seconds)
21:23:05FromDiscord<whisperecean> How do I guard execCmdEx
21:23:34FromDiscord<Elegantbeef> From what?
21:25:46FromDiscord<spacelucy> is there a way to do `import folderName/` or similar
21:25:58FromDiscord<spacelucy> i just don't want to have to import each file in a folder manually
21:26:17FromDiscord<Elegantbeef> Nope
21:26:40FromDiscord<whisperecean> In reply to @Elegantbeef "From what?": From any failure that might happen by executing a cmd
21:26:45FromDiscord<huantian> your ever consuming hungar
21:27:15FromDiscord<spacelucy> ok
21:27:17FromDiscord<whisperecean> I am trying to catch all exceptions but it does not seem to work. I get a ValueError but it does not seem to be caught
21:27:33FromDiscord<Elegantbeef> You are holding it wrong then
21:30:27FromDiscord<huantian> might be worth sending an example
21:32:22*PMunch quit (Ping timeout: 264 seconds)
21:53:34NimEventerNew thread by ninovanhooff: Unreachable code is reached, see https://forum.nim-lang.org/t/10961
22:02:45FromDiscord<whisperecean> Figured it out
22:02:55FromDiscord<whisperecean> All of a sudden I am getting this reader.nim(10, 7) Error: cannot open file: stew/enums
22:03:14FromDiscord<whisperecean> I have "toml_serialization" in nimble
22:04:01FromDiscord<Elegantbeef> How are you compiling?
22:06:34FromDiscord<whisperecean> Ah I thought it would only install the package but I had a wrong code in a nim file that imported this
22:06:58FromDiscord<whisperecean> ah actually no
22:07:12FromDiscord<whisperecean> if I just import toml_serialization it fails on this stew dependency
22:07:28FromDiscord<that_dude.> In reply to @spacelucy "is there a way": @nikhilsimha a semicommon thing I see is importing a single file that exports everything you want.
22:07:57FromDiscord<that_dude.> Then you only need to do it once and you get more control
22:08:49FromDiscord<Elegantbeef> One could write a macro to do it, but yea
22:10:50FromDiscord<whisperecean> How can I force uninstall package?
22:15:14FromDiscord<Elegantbeef> Think there is a hidden flag somewhere to force it but I do not recal
22:16:28FromDiscord<Robyn [She/Her]> @nnsee https://github.com/Nimberite-Development/TagForge-Nim hope this is useful for you, both read/writing NBT is implemented for the BE and LE formats!
22:16:55FromDiscord<Robyn [She/Her]> I need better documentation but it's mostly intended for private use so I haven't put much effort into it :p
22:17:21FromDiscord<graveflo> is there a compiler definition for recognizing IDE support? Like `defined(nimSuggset)` or something
22:17:36FromDiscord<Robyn [She/Her]> In reply to @graveflo "is there a compiler": There is! Hold on let me find it
22:18:58FromDiscord<Robyn [She/Her]> In reply to @graveflo "is there a compiler": `defined(nimcheck)`
22:19:16FromDiscord<graveflo> In reply to @chronos.vitaqua "`defined(nimcheck)`": perfect thanks
22:19:27FromDiscord<Robyn [She/Her]> No worries!
22:49:13*rockcavera quit (Remote host closed the connection)
23:10:42*rockcavera joined #nim
23:36:49*azimut joined #nim
23:38:23*advesperacit quit ()
23:55:39FromDiscord<grumblygibson> sent a code paste, see https://play.nim-lang.org/#pasty=dEJpbQhdzQlZ
23:58:31FromDiscord<graveflo> dont need the `auto` return and I would avoid that as much as possible
23:58:37FromDiscord<Elegantbeef> Given you do not cover all integers and floats, yes
23:58:43FromDiscord<Elegantbeef> Also just use procs
23:58:43FromDiscord<graveflo> but yea the std lib is missing a lot of odds and end
23:58:56FromDiscord<graveflo> (edit) "end" => "ends"
23:59:09FromDiscord<Elegantbeef> "Prs might be welcome"