| 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 |