<< 27-03-2019 >>

00:01:13FromDiscord<moerm> I's again and again amazed by you, Araq (and NO that' not buttering you up). "Super-stars" created hyped languages ... and then comes some german "nobody" and got closer to the tao of software dev. than all the super stars, hahaha
00:02:39FromDiscord<moerm> *Modula* (in particular 3) has a lot to learn from. Ada does (and btw Sather, too). But not Go. Sorry.
00:03:32*livcd quit (Ping timeout: 250 seconds)
00:03:55*Cthalupa quit (Ping timeout: 246 seconds)
00:04:32*Cthalupa joined #nim
00:04:48sealmoveplanetis: rewrote README providing better explanation: https://github.com/sealmove/ease
00:05:17sealmoveneed to extend this idea for reference semantics
00:12:54Araqfederico3: how to ship a stable product. How libraries are more important than the language itself. How to allow average programmers produce working code. (The last point is a big maybe.)
00:13:42Araqmoerm: Nim is an abbrev for 'New Indented Modula 3'
00:14:51*livcd joined #nim
00:16:59federico3(like go is an abbrev for algol68 :) )
00:17:27FromDiscord<moerm> Araq Well thought and put
00:18:34Araqgah, tell me about your MM strategy
00:19:15*theelous3_ quit (Ping timeout: 250 seconds)
00:19:37FromDiscord<moerm> Can't. Now as you have asked me to write it down I've "switched" brain mode and need to write it down
00:21:24FromDiscord<moerm> But I can tell one thing: I think that "oh god, developers can't be asked to think about their memory" is over-hyped nonsense
00:23:11FromDiscord<moerm> One point that till has me thinking is to *properly* consider and integrate the multi-threading problem
00:24:35Araqok. :-)
00:26:19FromDiscord<moerm> Btw, *where* do I put my article, once it's ready?
00:27:44*rnrwashere quit (Remote host closed the connection)
00:28:00*rnrwashere joined #nim
00:30:20Araqhttps://github.com/nim-lang/rfcs/issues or a gist. or on the forum
00:31:56FromDiscord<moerm> Hmmm, OK
00:32:28FromDiscord<moerm> For git I'd need a git account, right?
00:33:18Araqgithub yeah. your ideas don't have to be fleshed out btw
00:33:31*rnrwashere quit (Remote host closed the connection)
00:33:39Araqa couple of bullet points are enough to get the ball rolling
00:33:43jasomis it possible to clone a lvalue similar to how a "var" parameter works?
00:34:19Araqjasom: yes but it's a bit ugly, 'var alias = addr(lvalue)'
00:34:20FromDiscord<moerm> Thanks
00:34:28Araqgood night
00:34:34jasomAraq: and then I need to do alias[] to use it?
00:34:40*jasom did find that.
00:34:58Araqjasom: yes but you can hide it in a template
00:35:07jasomAraq: oh, example?
00:35:30jasomI can't see how to hide it without doing a full code-walker macro.
00:37:04Araqtemplate a(): untyped = alias[]
00:37:15jasomoh, right.
00:37:20*rnrwashere joined #nim
00:37:29Araqbut good night. this time for real.
00:37:35jasomgood night!
00:38:54FromDiscord<moerm> Sleep well, Araq
00:39:07FromDiscord<moerm> I'll go, too. see you all
00:40:31*zestyr quit (Ping timeout: 255 seconds)
00:41:30*zestyr joined #nim
00:41:35*krux02_ joined #nim
00:43:02*noeontheend joined #nim
00:44:33*krux02 quit (Ping timeout: 268 seconds)
00:44:55*I_Right_I joined #nim
00:45:38*rnrwashere quit (Remote host closed the connection)
00:47:40*zestyr quit (Ping timeout: 246 seconds)
00:48:53*zestyr joined #nim
00:49:35*rnrwashere joined #nim
00:49:58*shadowbane quit (Ping timeout: 255 seconds)
01:13:51*noeontheend quit (Ping timeout: 250 seconds)
01:13:54*lritter quit (Quit: Leaving)
01:14:01*noeontheend joined #nim
01:27:24sealmovewhich proc do we typically use for logging errors in macros?
01:34:12*rnrwashere quit (Remote host closed the connection)
01:34:18*I_Right_I quit (Remote host closed the connection)
01:36:31*rnrwashere joined #nim
01:38:44*rnrwashere quit (Remote host closed the connection)
02:00:19*krux02_ quit (Remote host closed the connection)
02:01:05*noeontheend quit (Ping timeout: 250 seconds)
02:07:36*rnrwashere joined #nim
02:19:29*rnrwashere quit (Remote host closed the connection)
02:23:15*rnrwashere joined #nim
02:26:57*seni quit (Quit: Leaving)
02:27:27*rnrwashere quit (Ping timeout: 240 seconds)
02:34:09*rockcavera joined #nim
02:59:15*rockcavera is now known as Guest25431
02:59:15*tiorock joined #nim
02:59:15*Guest25431 quit (Killed (livingstone.freenode.net (Nickname regained by services)))
02:59:15*tiorock is now known as rockcavera
03:05:58*banc quit (Quit: Bye)
03:10:19*rockcavera quit (Remote host closed the connection)
03:14:31*rockcavera joined #nim
03:16:05*chimez quit (Quit: chimez)
03:27:37*banc joined #nim
03:30:40*a__b__m quit (Ping timeout: 272 seconds)
03:30:43*sealmove quit (Quit: WeeChat 2.4)
03:44:28*tiorock joined #nim
03:44:28*tiorock quit (Changing host)
03:44:28*tiorock joined #nim
03:44:28*rockcavera is now known as Guest48424
03:44:28*tiorock is now known as rockcavera
03:47:48*Guest48424 quit (Ping timeout: 246 seconds)
03:59:35*rnrwashere joined #nim
04:22:51*dddddd quit (Remote host closed the connection)
04:23:17*rockcavera quit (Remote host closed the connection)
04:26:48*rockcavera joined #nim
04:32:54*nsf joined #nim
04:42:51*noeontheend joined #nim
04:45:29*rnrwashere quit (Remote host closed the connection)
04:46:39*rnrwashere joined #nim
05:20:04*kapil____ joined #nim
05:46:25*noeontheend quit (Ping timeout: 250 seconds)
06:03:10*rnrwashere quit (Remote host closed the connection)
06:09:26*narimiran joined #nim
06:22:35*solitudesf joined #nim
06:56:00*jjido joined #nim
07:00:00*gmpreussner quit (Quit: kthxbye)
07:04:34*gmpreussner joined #nim
07:11:56*krux02 joined #nim
07:28:34*disruptek quit (Ping timeout: 250 seconds)
07:29:02*kapil____ quit (Quit: Connection closed for inactivity)
07:30:47*disruptek joined #nim
07:31:52*PMunch joined #nim
07:33:44PMunchHmm, did anyone ever look at the GC crash from trying to free memory owned by a DLL that was unloaded?
07:35:11*disruptek quit (Ping timeout: 250 seconds)
08:10:38*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:14:08PMunchI've been trying to think of a good way to solve it, but it isn't trivial
08:15:35Araqtried --gc:boehm?
08:15:54*Vladar joined #nim
08:17:42*chimez joined #nim
08:20:31*chimez quit (Client Quit)
08:26:09PMunchThat seems to work :)
08:26:33*couven92 joined #nim
08:26:48PMunchHave something changed with boehm? I'm sure I tried that in the past
08:27:36PMunchWithouth boehm it either crashes from trying to free memory in the dynamic library, or it messes up and lets one string point to another
08:28:32PMunchSo you end up with something like this: http://ix.io/1EAP/
08:29:02PMunchNote the second to last line, it tries to load a so file with the name of a random string
08:29:16PMunchCode that is running is this: github.com/nim-lang/Nim/issues/6886
09:02:06*Cthalupa quit (Ping timeout: 246 seconds)
09:03:34*Cthalupa joined #nim
09:10:09*Cthalupa quit (Ping timeout: 246 seconds)
09:11:02*Cthalupa joined #nim
09:16:28*neceve joined #nim
09:35:18*arecacea1 quit (Remote host closed the connection)
09:35:37*arecacea1 joined #nim
09:43:41*a__b__m joined #nim
09:53:27*vlad1777d joined #nim
10:04:36*stefanos82 joined #nim
10:19:20*sealmove joined #nim
10:20:27Zevv /c
10:40:14*lritter joined #nim
10:48:43*sealmove quit (Quit: WeeChat 2.4)
10:58:22*couven92 quit (Ping timeout: 245 seconds)
11:29:08shashlickPMunch - my crash got fixed in the same way in my text editor but I wasn't using nimrtl and was further mixing up thread local memory with shared memory
11:33:17livcdwhat kind of error is this ? https://glot.io/snippets/faqho0ccw6
11:35:35Araqlivcd: don't pass a 'nil' stream to lexbase
11:40:32*Tyresc joined #nim
11:44:12livcdI cannot tell when I am passing a nil stream to lexbase
11:46:01Araqyou called parsexml on a non-existing file
11:48:18*couven92 joined #nim
11:49:24livcdhmm you are right. I am not sure what I am getting from walkDir
12:05:47*jjido joined #nim
12:05:55*dddddd joined #nim
12:10:10planetis[m]sealmove: nice, I also found this: https://github.com/bluenote10/closure_methods by accident
12:11:46*mosORadi joined #nim
12:31:06livcdHow can I find out what am I passing ? I just dont see it.
12:40:02*a_chou joined #nim
12:41:03*a_chou quit (Client Quit)
12:53:18*gangstacat quit (Remote host closed the connection)
12:53:40livcd(oops i think i got it)
12:54:43*gangstacat joined #nim
13:25:58ZevvWhy is it that in some cases I can not use thing.proc() ("attempting to call undeclared routine:") but I can call proc(thing)
13:28:37Zevvoh undo that question
13:30:14narimiranZevv: what was the answer? :)
13:31:49ZevvI was just plain wrong
13:31:55ZevvI was doing stuff in templates in file A
13:31:59Zevvwhich were used in file B
13:32:03Zevvand file B missed the proper import
13:32:30Zevvso after fixing all thing.proc() calls to proc(thing) I got another error message telling me I am stupid
13:32:44ZevvBut I do have another question which is more valid
13:33:14ZevvI'm still munching away on my peg parser, which is pretty much as finished as I want it to be. Araq noted I needed to add abstractions for reading instead of only eating strings.
13:33:27ZevvSo I happily but wearily refactored to handle Streams
13:33:34Zevvand now my performance is down the drain - too much overhead
13:33:43narimiranheh, i knew what's coming
13:33:59narimiranthere are some issues mentioning slow Streams
13:34:05ZevvWell, here is one more.
13:34:50ZevvI really can not use all the string copying. I can not tell in advance how long my stream is so I need to handle IOErrors
13:35:36*cgfuh joined #nim
13:38:55*chimez joined #nim
13:41:22Araquse lexbase.nim
13:41:41AraqI'm sure I told you this already
13:43:02ZevvAh yes, rings a bell
13:43:16Zevvsorry about that - I was thinking streams instead
13:43:54Zevvbut then again, I can't seek anymore, so I'll have to see how to around that.
13:45:05Zevvand I'm not sure if I want to be forced into working line-based.
13:45:26ZevvIf I have 200Mb of json without line endings, how does lexbase behave?
13:46:41Araqyou give it delimiters like '"' and ']' and '}' and it's fine
13:47:00Araqthe lexer becomes more complex then though
13:47:09Zevvuhu, just reading the implementation
13:49:09Zevvhm not ideal still. I need to be able to get back into the source string up to the outermost open capture. And I do not like to grab captures until I'm sure I'm done backtracking. I'll have to think about this a bit more.
13:49:55Araqwell you can also use a MemFile
13:50:05Araqto get random access into the file
13:50:29Araqeasy backtracking. Why you have string copies is beyond me, you use an integer index into the buffer, done.
13:50:54Zevvyes of course, I keep only integers during the parsing. But in the end I want to be able to deliver strings to the caller
13:51:13Zevvreturning indexes and lengths is not a friendly API for 99% of the use cases
13:51:20Araqlet the caller provide a currentToken: var string
13:52:30Zevvthere is no 'current'.
13:52:33Zevvcaptures can be nested
13:53:02Zevvoverlapping
13:53:07Araqthat's the difference between a lexer and a hack, a lexer is clean and performant ;-)
13:53:19Zevvthis is not a lexer
13:53:28Araqyes. that's the problem.
13:53:33ZevvI never wanted to make a lexer
13:53:40Araqit should be a lexer generator ;-)
13:54:06Zevvyeah yeah :)
13:54:42Zevvanyway, I hadn't though of mmap() for the file cases, which is good enough for me
13:55:19ZevvI wasnt aware of the portable memFiles implementation
13:55:39Araqok, so I consider it solved
13:55:56Zevvme too :)
13:56:06Zevvno more questions, your honour
14:04:55*shadowbane joined #nim
14:06:07*kapil____ joined #nim
14:07:21*chimez quit (Quit: chimez)
14:31:04*mosORadi quit (Quit: Connection closed for inactivity)
14:59:28*nc-x joined #nim
15:00:41nc-xAraq: After the multi-method change, code that used the multi aspect is crashing at runtime with `Error: unhandled exception: invalid object conversion [ObjectConversionError]`. Would it be possible to give a better error?
15:00:58nc-xalso, the gitter-irc bridge is down
15:01:24nc-xoprypin: ping!
15:02:32Araqnc-x: example?
15:03:45nc-xWill provide a shorter example in a few minutes. Otherwise `git clone github.com/nc-x/crafty && nimble build && crafty.exe` and type `var x;`
15:04:01nc-xworks fine with --multimethods:on
15:22:12nc-xAraq: https://bpaste.net/show/6231b7626f6f
15:30:16nc-xOpened https://github.com/nim-lang/Nim/issues/10912
15:30:26*nc-x quit (Quit: Page closed)
15:34:03*lritter quit (Quit: Leaving)
15:41:34*mosORadi joined #nim
15:42:54*ng0 joined #nim
15:43:39*ng0 quit (Client Quit)
15:44:23*PMunch quit (Remote host closed the connection)
16:01:26*crem quit (Ping timeout: 258 seconds)
16:03:19*crem joined #nim
16:12:31*rnrwashere joined #nim
16:39:50*noonien quit (Quit: Connection closed for inactivity)
16:55:01*kapil____ quit (Quit: Connection closed for inactivity)
17:02:16*nsf quit (Quit: WeeChat 2.4)
17:04:09*disruptek joined #nim
17:06:02*FromGitter joined #nim
17:09:09*noeontheend joined #nim
17:13:15*a_b_m joined #nim
17:17:10*a__b__m quit (Ping timeout: 272 seconds)
17:17:12*a_b_m quit (Client Quit)
17:22:37federico3https://lobste.rs/s/y9ihql/new_runtime_for_nim
17:24:40*Trustable joined #nim
17:29:16*neceve quit (Read error: Connection reset by peer)
17:43:22*stefanos82 quit (Remote host closed the connection)
17:57:45*Jesin quit (Quit: Leaving)
18:02:13*noeontheend quit (Ping timeout: 250 seconds)
18:02:43*sealmove joined #nim
18:07:02*sutke1178 joined #nim
18:12:42*Jesin joined #nim
18:14:32*fredrik92 joined #nim
18:14:57*I_Right_I joined #nim
18:18:48FromGitter<kdheepak> nimble cannot get the list of files in a directory, is that correct? Because you cannot `import os` in nimble, just `import ospaths`.
18:23:30*rnrwashere quit (Remote host closed the connection)
18:26:56*Perkol joined #nim
18:28:31FromGitter<mratsim> I'm pretty sure there was a walkDir implemented recently
18:28:37FromGitter<mratsim> in december or so
18:28:56*abm joined #nim
18:31:15*mosORadi quit (Quit: Connection closed for inactivity)
18:35:35shashlickThere is functionality in nimscript and vm but nimble hasn't picked up those changes
18:51:08*fredrik92 quit (Ping timeout: 246 seconds)
18:55:23FromGitter<kdheepak> Is there a way to see the nim output of what a macro generates?
18:56:08FromGitter<kdheepak> I have a large number of functions that are in a package that need a single change applied to a function argument, and I think macros are the best way to go about this.
18:56:18Araqyes but you need to modify the macro
18:56:23Araqadd something like
18:56:32Araqwhen defined(debugM):
18:56:36Araq echo repr result
18:56:43*sutke1178 quit (Quit: Leaving)
18:56:44Araqand then compile with -d:debugM
18:56:57Araqmy complex macro DSLs all offer such a switch
18:57:41*theelous3_ joined #nim
18:57:43Araqin the longer run something like --listExpansions:M would be better
18:58:00Araq(where M is the name of the macro)
19:02:15*sutke1178 joined #nim
19:09:19*ng0 joined #nim
19:12:30*shashlick quit (Remote host closed the connection)
19:16:58*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
19:19:52Zevvnice comic mratsim
19:25:45*nsf joined #nim
19:27:11*sealmove quit (Quit: WeeChat 2.4)
19:28:58Araqmore comics please, they are nice
19:29:22Araqeverything is convincing with comics, I should stop writing blog posts and instead write comics
19:34:42I_Right_Iargh! I missed the comic post.
19:40:32Araqhttps://forum.nim-lang.org/t/4745
19:48:13*Perkol quit (Remote host closed the connection)
19:55:51I_Right_ILol! That's awesome. Thanks for sharing.
20:00:22*noeontheend joined #nim
20:12:42FromGitter<alehander42> Coool
20:12:51*nsf quit (Quit: WeeChat 2.4)
20:14:44Araqalehander42: I would like to make your https://github.com/alehander42/comprehension the "project of the month", whatever that means
20:15:12Araqwould you mind?
20:15:25Araqis it ready?
20:24:25FromGitter<alehander42> Ah well I have to take a look
20:25:04*cgfuh quit (Quit: WeeChat 2.3)
20:25:16FromGitter<alehander42> i remember this PR https://github.com/alehander42/comprehension/pull/1 looked better than my initial impl (it's actually based on your code)
20:31:34planetis[m]How a comprehension macro would look like in idiomatic nim?
20:31:55FromGitter<alehander42> yeah, that's your PR, right? (i always confuse the irc / github names)
20:32:54FromGitter<alehander42> so basically we have to decide what is the nice API indeed and move it to a org repo (as its not really mine, i just prototyped an example api on top of others' impls)
20:34:23*rnrwashere joined #nim
20:35:06FromGitter<alehander42> my example API is https://github.com/alehander42/comprehension/blob/master/tests/test_comprehension.nim ⏎ ⏎ and the PR one is https://github.com/alehander42/comprehension/pull/1/files#diff-e26b765841bab10ed1958be5d1aa8705R72 ⏎ ⏎ (but i am not sure how does one generate different kinds of collections in the second one) [https://gitter.im/nim-lang/Nim?at=5c9bde791324252286c7c3c6]
20:38:23*narimiran quit (Ping timeout: 245 seconds)
20:39:41*Vladar quit (Remote host closed the connection)
20:42:37*I_Right_I quit (Remote host closed the connection)
20:45:03*jjido_ joined #nim
20:56:41FromDiscord<UNIcodeX> I like the one line comp syntax in alehander42's solution
20:57:13FromDiscord<UNIcodeX> feels more natural. takes less space
20:57:42FromDiscord<UNIcodeX> checking out the bleeding edge docs, and running Nim 0.19.9, I get an error trying out the following: https://nim-lang.github.io/Nim/manual.html#pragmas-experimental-pragma
20:57:52FromDiscord<UNIcodeX> adding spawn in front of echo seems to do more, but gives this error `Error: internal error: (filename: "ccgexprs.nim", line: 999, column: 17)
20:57:52FromDiscord<UNIcodeX> Traceback from system (most recent call last)`
20:58:21FromDiscord<UNIcodeX> I know it's experimental. Just don't know what state it's in, or if the example needs to be changed, etc...
21:01:10AraqUNIcodeX: please report it on github
21:01:26*Trustable quit (Remote host closed the connection)
21:01:45FromDiscord<UNIcodeX> 👍
21:02:11Araqalehander42: but yours covers the idea of "for loop comprehensions" better
21:02:43Araq'collect' is also nice but something different. Maybe.
21:03:25FromGitter<alehander42> ok
21:03:33FromGitter<alehander42> well if that's so i guess it might work
21:03:40FromGitter<alehander42> the table one seems a bit weird i guess
21:03:48Araqwell your package can just offer both variants
21:03:52FromGitter<alehander42> what is this package of the month
21:03:56FromGitter<alehander42> thing
21:09:44Araqa new desperate attempt to create some buzz
21:10:40planetis[m]alehander42: sorry my client got disconnected and lost the discussion
21:11:59*Senketsu_ joined #nim
21:13:09FromGitter<alehander42> https://irclogs.nim-lang.org/
21:13:13FromGitter<alehander42> last 20-30 messages
21:13:22planetis[m]i read them
21:15:03*Senketsu quit (Ping timeout: 250 seconds)
21:15:38planetis[m]what can I say, I don't really use this future. And modifying the original collect macro to work with tables and sets felt like a hack.
21:16:48Araqhow so?
21:27:35*solitudesf- joined #nim
21:27:56FromDiscord<UNIcodeX> Filed -- https://github.com/nim-lang/Nim/issues/10913
21:29:55planetis[m]so, I was talking alone again (thanks to matrix bridge), and my problem was that, in the macro I needed to keep three seperate copies of the Ast, (one for the ``K: typeof(expr)`` another for value and yet another for the actuall code that gets executed and puts the key, value pairs in the table.
21:30:02*solitudesf quit (Ping timeout: 245 seconds)
21:32:25*shashlick joined #nim
21:35:01planetis[m]if only there was a simpler solution
21:39:17*rnrwashere quit (Remote host closed the connection)
21:40:23*Sencatsu joined #nim
21:42:54*sealmove joined #nim
21:43:06*Senketsu_ quit (Ping timeout: 250 seconds)
21:46:41Araqplanetis[m]: I'm not sure it's so bad.
21:47:07*rnrwashere joined #nim
21:47:07Araqa bit ugly but the users of the macros don't have to care
21:49:11sealmovettps://www.reddit.com/r/nim/comments/b5odxf/a_new_runtime_for_nim/
21:49:22sealmovehttps://www.reddit.com/r/nim/comments/b5odxf/a_new_runtime_for_nim/
21:49:29sealmoveplease someone explain to them
21:49:57*noeontheend quit (Remote host closed the connection)
21:49:57sealmove"After all if I'm writing my code without GC, then I'm going to have to manually dispose."
21:51:19*solitudesf- quit (Quit: Leaving)
21:51:38*solitudesf joined #nim
21:52:23sealmoveoh, you updated the blog, nice <running to read>
21:52:32*rnrwashere quit (Remote host closed the connection)
21:54:46*rnrwashere joined #nim
21:57:30*rnrwashere quit (Remote host closed the connection)
22:06:36*xet7 quit (Ping timeout: 268 seconds)
22:18:30*xet7 joined #nim
22:23:50sealmovenice read, thanks for the blog post
22:39:07*Jesin quit (Quit: Leaving)
22:40:22FromDiscord<Avatarfighter> Would anyone be able to assist me with an issue I currently have, on line 32 of this hastebin, https://hastebin.com/bocetoledo.sql, I'm getting a message that the compiler `cannot evaluate at compile time: check`. Is there anyway anyone could explain to me what the issue is and how I can avoid getting this in the future?
22:41:39*Jesin joined #nim
22:42:07*solitudesf quit (Ping timeout: 245 seconds)
22:42:14sealmovedon't use const
22:44:48FromDiscord<Avatarfighter> Thanks for the pointer, I still don't know how that relates to the compiler not being able to evaluate the var check
22:45:17FromDiscord<Avatarfighter> But I will remember to use let instead of const, I just used const because I thought it did the same thing as in javascript lmao
22:46:37sealmoveI tried it, sorry doesn't work with let either...
22:46:55sealmoveLet me think, it must be something else.
22:48:38FromDiscord<Avatarfighter> Its weird, the proc shown works up until I try and access the index of check in the multiplication table
22:49:01sealmoveOne thing: why () instead of [] for the arrays (maybe I am missing something)?
22:50:34FromDiscord<Avatarfighter> I was using tuples because I meant for the arrays to not be edited, but making them seqs might be better
22:50:45*Tyresc quit (Quit: WeeChat 2.5-dev)
22:50:47FromDiscord<Avatarfighter> Ohhhh
22:50:51sealmovetuples are for heterogenous data
22:50:54FromDiscord<Avatarfighter> that's the issue, i'm using tuples instead of seqs
22:50:58sealmoveyep
22:51:04FromDiscord<Avatarfighter> wow
22:51:08FromDiscord<Avatarfighter> Thank you very much lmao
22:51:08sealmovethey are indexed in different way
22:51:11sealmovenp
22:52:10FromDiscord<Avatarfighter> If I may ask, when do you believe its best to use tuples?
22:52:43sealmoveas I said, for heterogenous data; no point otherwise
22:52:52*luis_ joined #nim
22:52:54sealmoveex (3, "hello")
22:53:03sealmoveor when you want named fields
22:53:16FromDiscord<Avatarfighter> Makes sense, thank you for the explanation 😄
22:53:26sealmoveex (red: 132, green: 233, blue: 123)
22:53:56*luis_ quit (Client Quit)
22:54:31sealmovenote: line 32 you can just do `result = ...`
22:55:27*abm quit (Quit: Leaving)
22:56:43FromDiscord<Avatarfighter> Yes I can 😃 I'll change that right away thank you!
22:57:17sealmoveyou can get rid of `check` variable all together: https://termbin.com/6w4c
22:57:23*rockcavera quit (Remote host closed the connection)
22:58:12sealmove`result` semantics need time to digest, but when you do they are really convinient ;p
23:01:10sealmovelast thing: can just write `numberseq` instead of `numberseq.pairs`
23:02:03sealmoveif you `for` with 2 variables (i and n) it's added implicitly
23:03:16FromDiscord<Avatarfighter> Alrighty, I didn't realize it did that automatically, I've never specifically tried it like that lol
23:04:30sealmovethe more you learn nim, the more it looks like pseudocode, haha
23:05:25*rockcavera joined #nim
23:05:37FromDiscord<Avatarfighter> lmao
23:05:38FromDiscord<Avatarfighter> ikr
23:10:46FromDiscord<Avatarfighter> sealmove, if you're still here do you know how I would be able to do `bool('test')` in nim to get results like in python ?
23:11:42Araq"test".len > 0
23:12:09FromDiscord<Avatarfighter> That works too 😃 thank you Araq
23:13:20*rnrwashere joined #nim
23:15:14*luis_ joined #nim
23:16:41*luis_ quit (Client Quit)
23:17:41*rnrwashere quit (Ping timeout: 250 seconds)
23:26:20*noeontheend joined #nim
23:43:24*shpx joined #nim
23:43:44*rnrwashere joined #nim