00:01:13 | FromDiscord | <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:39 | FromDiscord | <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:48 | sealmove | planetis: rewrote README providing better explanation: https://github.com/sealmove/ease |
00:05:17 | sealmove | need to extend this idea for reference semantics |
00:12:54 | Araq | federico3: 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:42 | Araq | moerm: Nim is an abbrev for 'New Indented Modula 3' |
00:14:51 | * | livcd joined #nim |
00:16:59 | federico3 | (like go is an abbrev for algol68 :) ) |
00:17:27 | FromDiscord | <moerm> Araq Well thought and put |
00:18:34 | Araq | gah, tell me about your MM strategy |
00:19:15 | * | theelous3_ quit (Ping timeout: 250 seconds) |
00:19:37 | FromDiscord | <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:24 | FromDiscord | <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:11 | FromDiscord | <moerm> One point that till has me thinking is to *properly* consider and integrate the multi-threading problem |
00:24:35 | Araq | ok. :-) |
00:26:19 | FromDiscord | <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:20 | Araq | https://github.com/nim-lang/rfcs/issues or a gist. or on the forum |
00:31:56 | FromDiscord | <moerm> Hmmm, OK |
00:32:28 | FromDiscord | <moerm> For git I'd need a git account, right? |
00:33:18 | Araq | github yeah. your ideas don't have to be fleshed out btw |
00:33:31 | * | rnrwashere quit (Remote host closed the connection) |
00:33:39 | Araq | a couple of bullet points are enough to get the ball rolling |
00:33:43 | jasom | is it possible to clone a lvalue similar to how a "var" parameter works? |
00:34:19 | Araq | jasom: yes but it's a bit ugly, 'var alias = addr(lvalue)' |
00:34:20 | FromDiscord | <moerm> Thanks |
00:34:28 | Araq | good night |
00:34:34 | jasom | Araq: and then I need to do alias[] to use it? |
00:34:40 | * | jasom did find that. |
00:34:58 | Araq | jasom: yes but you can hide it in a template |
00:35:07 | jasom | Araq: oh, example? |
00:35:30 | jasom | I can't see how to hide it without doing a full code-walker macro. |
00:37:04 | Araq | template a(): untyped = alias[] |
00:37:15 | jasom | oh, right. |
00:37:20 | * | rnrwashere joined #nim |
00:37:29 | Araq | but good night. this time for real. |
00:37:35 | jasom | good night! |
00:38:54 | FromDiscord | <moerm> Sleep well, Araq |
00:39:07 | FromDiscord | <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:24 | sealmove | which 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:44 | PMunch | Hmm, 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:08 | PMunch | I've been trying to think of a good way to solve it, but it isn't trivial |
08:15:35 | Araq | tried --gc:boehm? |
08:15:54 | * | Vladar joined #nim |
08:17:42 | * | chimez joined #nim |
08:20:31 | * | chimez quit (Client Quit) |
08:26:09 | PMunch | That seems to work :) |
08:26:33 | * | couven92 joined #nim |
08:26:48 | PMunch | Have something changed with boehm? I'm sure I tried that in the past |
08:27:36 | PMunch | Withouth 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:32 | PMunch | So you end up with something like this: http://ix.io/1EAP/ |
08:29:02 | PMunch | Note the second to last line, it tries to load a so file with the name of a random string |
08:29:16 | PMunch | Code 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:27 | Zevv | /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:08 | shashlick | PMunch - 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:17 | livcd | what kind of error is this ? https://glot.io/snippets/faqho0ccw6 |
11:35:35 | Araq | livcd: don't pass a 'nil' stream to lexbase |
11:40:32 | * | Tyresc joined #nim |
11:44:12 | livcd | I cannot tell when I am passing a nil stream to lexbase |
11:46:01 | Araq | you called parsexml on a non-existing file |
11:48:18 | * | couven92 joined #nim |
11:49:24 | livcd | hmm 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:10 | planetis[m] | sealmove: nice, I also found this: https://github.com/bluenote10/closure_methods by accident |
12:11:46 | * | mosORadi joined #nim |
12:31:06 | livcd | How 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:40 | livcd | (oops i think i got it) |
12:54:43 | * | gangstacat joined #nim |
13:25:58 | Zevv | Why 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:37 | Zevv | oh undo that question |
13:30:14 | narimiran | Zevv: what was the answer? :) |
13:31:49 | Zevv | I was just plain wrong |
13:31:55 | Zevv | I was doing stuff in templates in file A |
13:31:59 | Zevv | which were used in file B |
13:32:03 | Zevv | and file B missed the proper import |
13:32:30 | Zevv | so after fixing all thing.proc() calls to proc(thing) I got another error message telling me I am stupid |
13:32:44 | Zevv | But I do have another question which is more valid |
13:33:14 | Zevv | I'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:27 | Zevv | So I happily but wearily refactored to handle Streams |
13:33:34 | Zevv | and now my performance is down the drain - too much overhead |
13:33:43 | narimiran | heh, i knew what's coming |
13:33:59 | narimiran | there are some issues mentioning slow Streams |
13:34:05 | Zevv | Well, here is one more. |
13:34:50 | Zevv | I 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:22 | Araq | use lexbase.nim |
13:41:41 | Araq | I'm sure I told you this already |
13:43:02 | Zevv | Ah yes, rings a bell |
13:43:16 | Zevv | sorry about that - I was thinking streams instead |
13:43:54 | Zevv | but then again, I can't seek anymore, so I'll have to see how to around that. |
13:45:05 | Zevv | and I'm not sure if I want to be forced into working line-based. |
13:45:26 | Zevv | If I have 200Mb of json without line endings, how does lexbase behave? |
13:46:41 | Araq | you give it delimiters like '"' and ']' and '}' and it's fine |
13:47:00 | Araq | the lexer becomes more complex then though |
13:47:09 | Zevv | uhu, just reading the implementation |
13:49:09 | Zevv | hm 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:55 | Araq | well you can also use a MemFile |
13:50:05 | Araq | to get random access into the file |
13:50:29 | Araq | easy backtracking. Why you have string copies is beyond me, you use an integer index into the buffer, done. |
13:50:54 | Zevv | yes 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:13 | Zevv | returning indexes and lengths is not a friendly API for 99% of the use cases |
13:51:20 | Araq | let the caller provide a currentToken: var string |
13:52:30 | Zevv | there is no 'current'. |
13:52:33 | Zevv | captures can be nested |
13:53:02 | Zevv | overlapping |
13:53:07 | Araq | that's the difference between a lexer and a hack, a lexer is clean and performant ;-) |
13:53:19 | Zevv | this is not a lexer |
13:53:28 | Araq | yes. that's the problem. |
13:53:33 | Zevv | I never wanted to make a lexer |
13:53:40 | Araq | it should be a lexer generator ;-) |
13:54:06 | Zevv | yeah yeah :) |
13:54:42 | Zevv | anyway, I hadn't though of mmap() for the file cases, which is good enough for me |
13:55:19 | Zevv | I wasnt aware of the portable memFiles implementation |
13:55:39 | Araq | ok, so I consider it solved |
13:55:56 | Zevv | me too :) |
13:56:06 | Zevv | no 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:41 | nc-x | Araq: 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:58 | nc-x | also, the gitter-irc bridge is down |
15:01:24 | nc-x | oprypin: ping! |
15:02:32 | Araq | nc-x: example? |
15:03:45 | nc-x | Will 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:01 | nc-x | works fine with --multimethods:on |
15:22:12 | nc-x | Araq: https://bpaste.net/show/6231b7626f6f |
15:30:16 | nc-x | Opened 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:37 | federico3 | https://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:48 | FromGitter | <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:31 | FromGitter | <mratsim> I'm pretty sure there was a walkDir implemented recently |
18:28:37 | FromGitter | <mratsim> in december or so |
18:28:56 | * | abm joined #nim |
18:31:15 | * | mosORadi quit (Quit: Connection closed for inactivity) |
18:35:35 | shashlick | There 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:23 | FromGitter | <kdheepak> Is there a way to see the nim output of what a macro generates? |
18:56:08 | FromGitter | <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:18 | Araq | yes but you need to modify the macro |
18:56:23 | Araq | add something like |
18:56:32 | Araq | when defined(debugM): |
18:56:36 | Araq | echo repr result |
18:56:43 | * | sutke1178 quit (Quit: Leaving) |
18:56:44 | Araq | and then compile with -d:debugM |
18:56:57 | Araq | my complex macro DSLs all offer such a switch |
18:57:41 | * | theelous3_ joined #nim |
18:57:43 | Araq | in the longer run something like --listExpansions:M would be better |
18:58:00 | Araq | (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:52 | Zevv | nice comic mratsim |
19:25:45 | * | nsf joined #nim |
19:27:11 | * | sealmove quit (Quit: WeeChat 2.4) |
19:28:58 | Araq | more comics please, they are nice |
19:29:22 | Araq | everything is convincing with comics, I should stop writing blog posts and instead write comics |
19:34:42 | I_Right_I | argh! I missed the comic post. |
19:40:32 | Araq | https://forum.nim-lang.org/t/4745 |
19:48:13 | * | Perkol quit (Remote host closed the connection) |
19:55:51 | I_Right_I | Lol! That's awesome. Thanks for sharing. |
20:00:22 | * | noeontheend joined #nim |
20:12:42 | FromGitter | <alehander42> Coool |
20:12:51 | * | nsf quit (Quit: WeeChat 2.4) |
20:14:44 | Araq | alehander42: I would like to make your https://github.com/alehander42/comprehension the "project of the month", whatever that means |
20:15:12 | Araq | would you mind? |
20:15:25 | Araq | is it ready? |
20:24:25 | FromGitter | <alehander42> Ah well I have to take a look |
20:25:04 | * | cgfuh quit (Quit: WeeChat 2.3) |
20:25:16 | FromGitter | <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:34 | planetis[m] | How a comprehension macro would look like in idiomatic nim? |
20:31:55 | FromGitter | <alehander42> yeah, that's your PR, right? (i always confuse the irc / github names) |
20:32:54 | FromGitter | <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:06 | FromGitter | <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:41 | FromDiscord | <UNIcodeX> I like the one line comp syntax in alehander42's solution |
20:57:13 | FromDiscord | <UNIcodeX> feels more natural. takes less space |
20:57:42 | FromDiscord | <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:52 | FromDiscord | <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:52 | FromDiscord | <UNIcodeX> Traceback from system (most recent call last)` |
20:58:21 | FromDiscord | <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:10 | Araq | UNIcodeX: please report it on github |
21:01:26 | * | Trustable quit (Remote host closed the connection) |
21:01:45 | FromDiscord | <UNIcodeX> 👍 |
21:02:11 | Araq | alehander42: but yours covers the idea of "for loop comprehensions" better |
21:02:43 | Araq | 'collect' is also nice but something different. Maybe. |
21:03:25 | FromGitter | <alehander42> ok |
21:03:33 | FromGitter | <alehander42> well if that's so i guess it might work |
21:03:40 | FromGitter | <alehander42> the table one seems a bit weird i guess |
21:03:48 | Araq | well your package can just offer both variants |
21:03:52 | FromGitter | <alehander42> what is this package of the month |
21:03:56 | FromGitter | <alehander42> thing |
21:09:44 | Araq | a new desperate attempt to create some buzz |
21:10:40 | planetis[m] | alehander42: sorry my client got disconnected and lost the discussion |
21:11:59 | * | Senketsu_ joined #nim |
21:13:09 | FromGitter | <alehander42> https://irclogs.nim-lang.org/ |
21:13:13 | FromGitter | <alehander42> last 20-30 messages |
21:13:22 | planetis[m] | i read them |
21:15:03 | * | Senketsu quit (Ping timeout: 250 seconds) |
21:15:38 | planetis[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:48 | Araq | how so? |
21:27:35 | * | solitudesf- joined #nim |
21:27:56 | FromDiscord | <UNIcodeX> Filed -- https://github.com/nim-lang/Nim/issues/10913 |
21:29:55 | planetis[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:01 | planetis[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:41 | Araq | planetis[m]: I'm not sure it's so bad. |
21:47:07 | * | rnrwashere joined #nim |
21:47:07 | Araq | a bit ugly but the users of the macros don't have to care |
21:49:11 | sealmove | ttps://www.reddit.com/r/nim/comments/b5odxf/a_new_runtime_for_nim/ |
21:49:22 | sealmove | https://www.reddit.com/r/nim/comments/b5odxf/a_new_runtime_for_nim/ |
21:49:29 | sealmove | please someone explain to them |
21:49:57 | * | noeontheend quit (Remote host closed the connection) |
21:49:57 | sealmove | "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:23 | sealmove | oh, 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:50 | sealmove | nice read, thanks for the blog post |
22:39:07 | * | Jesin quit (Quit: Leaving) |
22:40:22 | FromDiscord | <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:14 | sealmove | don't use const |
22:44:48 | FromDiscord | <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:17 | FromDiscord | <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:37 | sealmove | I tried it, sorry doesn't work with let either... |
22:46:55 | sealmove | Let me think, it must be something else. |
22:48:38 | FromDiscord | <Avatarfighter> Its weird, the proc shown works up until I try and access the index of check in the multiplication table |
22:49:01 | sealmove | One thing: why () instead of [] for the arrays (maybe I am missing something)? |
22:50:34 | FromDiscord | <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:47 | FromDiscord | <Avatarfighter> Ohhhh |
22:50:51 | sealmove | tuples are for heterogenous data |
22:50:54 | FromDiscord | <Avatarfighter> that's the issue, i'm using tuples instead of seqs |
22:50:58 | sealmove | yep |
22:51:04 | FromDiscord | <Avatarfighter> wow |
22:51:08 | FromDiscord | <Avatarfighter> Thank you very much lmao |
22:51:08 | sealmove | they are indexed in different way |
22:51:11 | sealmove | np |
22:52:10 | FromDiscord | <Avatarfighter> If I may ask, when do you believe its best to use tuples? |
22:52:43 | sealmove | as I said, for heterogenous data; no point otherwise |
22:52:52 | * | luis_ joined #nim |
22:52:54 | sealmove | ex (3, "hello") |
22:53:03 | sealmove | or when you want named fields |
22:53:16 | FromDiscord | <Avatarfighter> Makes sense, thank you for the explanation 😄 |
22:53:26 | sealmove | ex (red: 132, green: 233, blue: 123) |
22:53:56 | * | luis_ quit (Client Quit) |
22:54:31 | sealmove | note: line 32 you can just do `result = ...` |
22:55:27 | * | abm quit (Quit: Leaving) |
22:56:43 | FromDiscord | <Avatarfighter> Yes I can 😃 I'll change that right away thank you! |
22:57:17 | sealmove | you can get rid of `check` variable all together: https://termbin.com/6w4c |
22:57:23 | * | rockcavera quit (Remote host closed the connection) |
22:58:12 | sealmove | `result` semantics need time to digest, but when you do they are really convinient ;p |
23:01:10 | sealmove | last thing: can just write `numberseq` instead of `numberseq.pairs` |
23:02:03 | sealmove | if you `for` with 2 variables (i and n) it's added implicitly |
23:03:16 | FromDiscord | <Avatarfighter> Alrighty, I didn't realize it did that automatically, I've never specifically tried it like that lol |
23:04:30 | sealmove | the more you learn nim, the more it looks like pseudocode, haha |
23:05:25 | * | rockcavera joined #nim |
23:05:37 | FromDiscord | <Avatarfighter> lmao |
23:05:38 | FromDiscord | <Avatarfighter> ikr |
23:10:46 | FromDiscord | <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:42 | Araq | "test".len > 0 |
23:12:09 | FromDiscord | <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 |