00:30:58 | * | Jesin joined #nim |
00:32:14 | * | Jesin quit (Client Quit) |
00:33:39 | * | abm quit (Quit: Leaving) |
00:48:08 | * | Jesin joined #nim |
00:51:36 | FromGitter | <Varriount> @Altarrel: You'll either need to put this at the beginning of the header file, or use Nimgen to preprocess the header file. ⏎ ⏎ ```#def DISCORD_DYNAMIC_LIB ⏎ #def int64_t int64 ⏎ #def int32_t int32 ⏎ #def int8_t int8``` [https://gitter.im/nim-lang/Nim?at=5b591b181be9bb57bcc3bd3c] |
00:59:35 | * | xet7 quit (Quit: Leaving) |
01:00:45 | * | rayman226 joined #nim |
01:01:02 | * | rayman22201 quit (Read error: Connection reset by peer) |
01:01:22 | * | rayman22201 joined #nim |
01:04:57 | * | rayman226 quit (Ping timeout: 240 seconds) |
01:15:32 | * | rayman288 joined #nim |
01:15:50 | * | mwbrown quit (Ping timeout: 256 seconds) |
01:17:44 | * | rayman22201 quit (Ping timeout: 244 seconds) |
01:20:44 | * | mwbrown joined #nim |
01:21:13 | * | stefanos82 quit (Quit: Quitting for now...) |
01:21:37 | * | rayman22201 joined #nim |
01:23:45 | * | rayman288 quit (Ping timeout: 248 seconds) |
01:28:16 | * | rayman22201 quit (Quit: -a- IRC for Android 2.1.40) |
01:45:06 | * | Jesin quit (Quit: Leaving) |
01:50:24 | * | ftsf joined #nim |
01:53:21 | FromGitter | <gogolxdong> How to parse from ast like ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b592991a31e386158b1610c] |
01:58:31 | FromGitter | <gogolxdong> and build NimNode from it. |
02:07:54 | FromGitter | <gogolxdong> What's the difference between `object of RootObj` and `ref object of RootObj`? |
02:08:12 | * | DarkArctic_ joined #nim |
02:09:35 | FromGitter | <Quelklef> One is a reference :P |
02:09:41 | FromGitter | <Quelklef> Look up reference types vs object types |
02:11:13 | * | DarkArctic quit (Ping timeout: 248 seconds) |
02:13:23 | * | DarkArctic__ joined #nim |
02:16:20 | * | DarkArctic_ quit (Ping timeout: 256 seconds) |
02:18:32 | * | gmpreussner joined #nim |
02:20:03 | * | DarkArctic_ joined #nim |
02:24:16 | * | DarkArctic__ quit (Ping timeout: 256 seconds) |
02:30:04 | * | DarkArctic__ joined #nim |
02:32:06 | * | dddddd quit (Remote host closed the connection) |
02:33:41 | * | DarkArctic_ quit (Ping timeout: 244 seconds) |
02:33:45 | * | DarkArctic joined #nim |
02:36:47 | * | DarkArctic__ quit (Ping timeout: 244 seconds) |
02:38:49 | * | DarkArctic_ joined #nim |
02:39:19 | * | DarkArctic quit (Read error: Connection reset by peer) |
02:40:08 | * | DarkArctic__ joined #nim |
02:44:06 | * | DarkArctic_ quit (Ping timeout: 256 seconds) |
03:03:24 | * | DarkArctic_ joined #nim |
03:06:05 | * | DarkArctic joined #nim |
03:06:57 | * | DarkArctic__ quit (Ping timeout: 264 seconds) |
03:07:59 | * | DarkArctic_ quit (Ping timeout: 260 seconds) |
03:10:20 | * | DarkArctic_ joined #nim |
03:13:33 | * | DarkArctic quit (Ping timeout: 264 seconds) |
03:16:43 | * | DarkArctic joined #nim |
03:20:09 | * | DarkArctic_ quit (Ping timeout: 264 seconds) |
03:25:14 | * | icebattle joined #nim |
03:30:05 | FromGitter | <gogolxdong> Since objects are value types in Nim, composition is as efficient as inheritance. |
03:30:55 | FromGitter | <gogolxdong> new an object will return its ref right? |
03:31:01 | FromGitter | <Quelklef> no |
03:31:10 | FromGitter | <Quelklef> pretty sure new is `proc newT (x: ref T): void` |
03:31:43 | FromGitter | <Quelklef> not quite, apparently its `proc newT (x: var ref T): void` |
03:34:53 | * | endragor joined #nim |
03:34:55 | FromGitter | <gogolxdong> ```code paste, see link``` ⏎ ⏎ ref 0x7f94f6d7f048 --> [name = 0x7f94f6d80058"sheldon"] [https://gitter.im/nim-lang/Nim?at=5b59415edb4bcb16e879aaf5] |
03:35:35 | * | icebattle quit (Ping timeout: 240 seconds) |
03:35:40 | FromGitter | <Quelklef> ? |
03:37:48 | * | icebattle joined #nim |
03:51:29 | * | icebattle quit (Read error: Connection reset by peer) |
03:55:36 | * | icebattle joined #nim |
04:01:48 | FromGitter | <gogolxdong> Why does it say? ⏎ `Error: invalid expression: wsdl` of ⏎ nodes.add newNimNode(nnkTypeDef).add(newIdentNode("wsdl"), newEmptyNode()) |
04:14:46 | * | icebattle quit (Ping timeout: 256 seconds) |
04:18:04 | * | rayman22201 joined #nim |
04:34:48 | * | Shivelight joined #nim |
04:36:47 | * | nsf joined #nim |
04:40:23 | FromGitter | <Quelklef> You're gonna need to give us more info than that |
04:40:28 | FromGitter | <Quelklef> like the source code |
05:13:12 | * | DarkArctic_ joined #nim |
05:16:40 | * | DarkArctic quit (Ping timeout: 256 seconds) |
05:25:34 | * | DarkArctic__ joined #nim |
05:28:33 | * | DarkArctic_ quit (Ping timeout: 264 seconds) |
06:02:13 | FromGitter | <gogolxdong> Why does the following ⏎ ⏎ ```in expression '[("b", 3), ("c", 5)]."toTable"': identifier expected, but found '"toTable"'``` [https://gitter.im/nim-lang/Nim?at=5b5963e5ee7b230b4469fee1] |
06:02:58 | FromGitter | <gogolxdong> according to the astspec.txt , it should be `{a: 3, b: 5}` |
06:04:31 | FromGitter | <gogolxdong> and ⏎ ⏎ ```undeclared identifier: 'b'``` [https://gitter.im/nim-lang/Nim?at=5b59646fe5fc191d959e3c5a] |
06:44:29 | * | Shivelight quit (Quit: Connection closed for inactivity) |
06:56:56 | * | xylef joined #nim |
07:08:40 | * | NamPNQ joined #nim |
07:16:54 | * | leorize quit (Ping timeout: 260 seconds) |
07:31:42 | * | yglukhov[i] joined #nim |
07:37:31 | * | Shivelight joined #nim |
07:39:18 | * | ng0 joined #nim |
07:51:23 | * | floppydh joined #nim |
07:52:36 | * | yglukhov_ joined #nim |
07:56:28 | * | yglukhov[i] quit (Ping timeout: 256 seconds) |
07:57:28 | FromGitter | <andreaferretti> is there a way to configure which backend to use when running `nim c` from inside a nim.cfg file? |
07:57:37 | FromGitter | <andreaferretti> something like `--backend: cpp` |
07:57:49 | FromGitter | <andreaferretti> I skimmed the compiler options but could not find it |
07:57:55 | FromGitter | <mratsim> you should use nim cpp? |
07:58:01 | FromGitter | <andreaferretti> yeah I know |
07:58:23 | FromGitter | <andreaferretti> the point is that I am trying to automate checking for the status of nim issues |
07:58:32 | FromGitter | <mratsim> i.e. the “way” to go is do do: ⏎ ⏎ when not defined(cpp): ⏎ {.error: “Use CPP backend”.} [https://gitter.im/nim-lang/Nim?at=5b597f275301255724c76ce2] |
07:58:35 | FromGitter | <mratsim> ah |
07:58:37 | FromGitter | <andreaferretti> and I have already many variants |
07:58:52 | FromGitter | <andreaferretti> I wouldn't like to treat issues that involve cpp differently |
07:59:06 | FromGitter | <andreaferretti> just add issuexxx.nim.cfg file if possible |
08:00:24 | FromGitter | <andreaferretti> (I have variants like: this thing should compile, this thing should not, this one should output this result and so on - I'd rather not duplicate them for cpp) |
08:00:58 | FromGitter | <andreaferretti> I will use some bash hack with the file name instead |
08:12:54 | * | gmpreussner quit (Ping timeout: 256 seconds) |
08:13:28 | * | gmpreussner joined #nim |
08:20:55 | * | xylef quit (Quit: WeeChat 2.2) |
08:24:59 | FromGitter | <gogolxdong> What's the form of `nnkFormalParams`? |
08:36:30 | * | arecacea1 quit (Read error: Connection reset by peer) |
08:36:51 | * | arecacea1 joined #nim |
08:37:00 | FromGitter | <mratsim> you should use `dumpASTGen`on a proc to check |
08:38:03 | FromGitter | <mratsim> ```dumpASTGen: ⏎ myAwesomeProc(x, y: int): int {.myPragma.} = result = 1``` [https://gitter.im/nim-lang/Nim?at=5b59886bc0fa8016e73a502c] |
08:38:22 | FromGitter | <mratsim> maybe add a dose of generics as well |
08:41:38 | FromGitter | <gogolxdong> reverse engineering , this is helpful, I found there is a elaborate sample of proc in astspec.txt . |
08:46:46 | * | literal quit (Ping timeout: 256 seconds) |
08:47:30 | * | literal joined #nim |
08:49:12 | * | Ven`` joined #nim |
08:50:36 | * | leorize joined #nim |
08:51:39 | FromGitter | <gogolxdong> How to put params ? It's varargs, seq[NimNode] cannot convert to varargs[NimNode] |
08:53:47 | * | xet7 joined #nim |
08:54:13 | * | dddddd joined #nim |
08:55:09 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
08:56:03 | * | krux02 joined #nim |
09:21:53 | * | xylef joined #nim |
09:57:55 | * | Vladar joined #nim |
10:03:22 | * | clyybber joined #nim |
10:11:56 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
10:24:29 | * | Shivelight quit (Quit: Connection closed for inactivity) |
10:30:33 | * | ng0 joined #nim |
10:31:33 | FromGitter | <mratsim> @gogolxdong use nnkarglistj.newTree |
10:45:53 | * | yglukhov_ quit (Ping timeout: 248 seconds) |
10:46:27 | * | yglukhov[i] joined #nim |
10:48:05 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
11:07:38 | * | xylef quit (Quit: WeeChat 2.2) |
11:09:55 | FromGitter | <Varriount> @dom96 When you said that you're "largely happy with this [exceptions] proposal, did you mean the original proposal by Araq, or the systems suggested in the comments? |
11:10:26 | dom96 | The latter |
11:10:56 | dom96 | but it really depends what else will be on the menu for Nim 2.0 |
11:17:47 | * | ng0 joined #nim |
11:18:20 | krux02 | dom96: this is what I think when you talk about Nim 2.0: https://www.bueromarkt-ag.de/bilder/bonbons_nimm2_orange_und_zitrone,p-270162_2,s-700.jpg |
11:31:35 | * | NamPNQ quit (Remote host closed the connection) |
11:46:27 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
11:48:07 | * | yglukhov[i] joined #nim |
11:55:30 | * | yglukhov[i] quit (Ping timeout: 260 seconds) |
12:03:00 | * | yglukhov[i] joined #nim |
12:07:13 | * | stefanos82 joined #nim |
12:27:50 | * | nsf quit (Quit: WeeChat 2.1) |
12:29:00 | * | noonien joined #nim |
12:29:46 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
12:30:23 | * | yglukhov[i] joined #nim |
12:45:21 | * | stefanos82 quit (Quit: Quitting for now...) |
12:48:30 | * | stefanos82 joined #nim |
12:51:18 | * | endragor quit (Remote host closed the connection) |
13:05:52 | * | endragor joined #nim |
13:07:08 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
13:07:38 | * | clyybber quit (Ping timeout: 244 seconds) |
13:09:28 | * | ng0 joined #nim |
13:10:13 | * | endragor quit (Ping timeout: 244 seconds) |
13:10:26 | * | ng0 quit (Client Quit) |
13:16:37 | * | Ven`` joined #nim |
13:21:42 | * | ng0 joined #nim |
13:22:36 | * | krux02 quit (Quit: Leaving) |
13:23:55 | livcd | dom96: windows defender detects choosenim as a virus |
13:23:58 | livcd | or is this known ? |
13:24:05 | * | Ven`` quit (Ping timeout: 268 seconds) |
13:25:25 | FromGitter | <ephja> I knew it couldn't be trusted! |
13:25:29 | * | BitPuffin joined #nim |
13:26:22 | livcd | maybe it's just a setting in my organization |
13:31:35 | FromGitter | <Quelklef> hahaha |
13:31:56 | FromGitter | <Quelklef> I knew dom was a secret evil villain all this time |
13:32:29 | dom96 | darn, my evil has been discovered. I would have gotten away with it too, if it wasn't for you meddling kids! |
13:32:29 | FromGitter | <Quelklef> He's don a Ken Thompson hack and inserted a virus into the choosenim's bootstrapping process! |
13:32:32 | * | dom96 shakes fist |
13:33:07 | FromGitter | <ephja> book advertisement botnet |
13:34:00 | livcd | well actually |
13:34:20 | livcd | i was just trying to build Chapter7 from Nim in Action |
13:34:40 | livcd | and it refused because i am on 0.18.0 |
13:35:29 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
13:36:06 | * | yglukhov[i] joined #nim |
13:38:10 | * | Ven`` joined #nim |
13:38:53 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
13:39:58 | FromDiscord | <Hel> so i have both 32bit and 64bit version of mingw on my pc |
13:40:09 | FromDiscord | <Hel> how do i make nim switch between them when compiling? |
13:41:15 | FromGitter | <Bennyelg> how do I run my "fixed" forked version to see if my build is pass ? |
13:41:32 | livcd | what does switch between them mean or what do you want to achieve ? |
13:41:53 | FromDiscord | <Hel> i want nim to be able to compile to both 32 and 64 bit |
13:45:16 | * | d10n-work joined #nim |
13:52:08 | FromDiscord | <Hel> nvm |
13:57:56 | * | cryptocat1094 joined #nim |
14:05:19 | * | fvs joined #nim |
14:23:28 | zacharycarter[m] | change the nim compiler executable |
14:23:39 | zacharycarter[m] | and the target arch |
14:23:48 | zacharycarter[m] | which is the cpu flag I think |
14:35:33 | * | Sembei joined #nim |
14:37:06 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:37:33 | * | Pisuke quit (Ping timeout: 264 seconds) |
14:40:48 | * | yglukhov_ joined #nim |
14:40:49 | FromDiscord | <Hel> yeah i forgot nim.cfg existed and that it has a purpose |
14:41:30 | Calinou | https://github.com/Calinou/clr/releases |
14:41:38 | Calinou | yay for making Travis CI and GitLab CI work together :P |
14:41:41 | Calinou | there's macOS builds now |
14:42:42 | * | yglukhov[i] quit (Ping timeout: 244 seconds) |
14:51:58 | FromGitter | <gogolxdong> What does Error: cannot generate code for: mSlice mean? |
14:52:26 | FromGitter | <Quelklef> @gogolxdong please give us the source code |
14:53:03 | * | Ven`` joined #nim |
14:53:24 | FromGitter | <mratsim> mSlice is toopenArray i think |
14:54:37 | FromGitter | <gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b59e0ade5fc191d959fc5bf] |
14:55:21 | FromGitter | <gogolxdong> the last line ,error raised from packedjson. |
14:55:45 | Araq | use Nim devel to compile packedjson |
14:56:12 | * | DarkArctic__ quit (Quit: Leaving) |
14:56:42 | * | DarkArctic joined #nim |
14:57:50 | * | Trustable joined #nim |
14:59:15 | FromGitter | <gogolxdong> It's latest. |
14:59:27 | FromGitter | <gogolxdong> both Nim and packedjson. |
15:00:07 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:00:51 | Araq | can you extract a small test case for packedjson then? |
15:04:57 | FromGitter | <gogolxdong> tested ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b59e3191be9bb57bcc5f072] |
15:06:06 | FromGitter | <gogolxdong> it works but the above doesn't. |
15:10:25 | * | icebattle joined #nim |
15:17:13 | FromGitter | <gogolxdong> don't know where trigger this error ,but it's from macro body. |
15:17:40 | FromGitter | <gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b59e614c0fa8016e73b97e1] |
15:17:42 | * | gangstacat quit (Quit: Ĝis!) |
15:19:31 | FromGitter | <gogolxdong> seems packedjson doesn't work in macro |
15:21:10 | FromGitter | <gogolxdong> BTW, stdlib.json works |
15:21:30 | * | rayman22201 quit (Quit: -a- IRC for Android 2.1.40) |
15:21:34 | FromGitter | <gogolxdong> should I use json instead? |
15:47:48 | * | ftsf quit (Ping timeout: 244 seconds) |
15:53:48 | ehmry | m |
15:53:50 | ehmry | c |
15:53:59 | ehmry | woops |
16:01:05 | FromGitter | <gogolxdong> my debug shows it follows the path of `[]` -> rawGet -> extractLen -> x[pos] |
16:05:27 | FromGitter | <kayabaNerve> The recent Exceptions RFC is irrelevant if your program can never error. RFC to make Nim never Error by making the only valid Nim program an empty file. |
16:05:42 | FromGitter | <kayabaNerve> 🤔 |
16:06:49 | FromGitter | <Quelklef> Seconded |
16:07:03 | * | yglukhov_ quit (Read error: Connection reset by peer) |
16:07:38 | * | yglukhov[i] joined #nim |
16:07:56 | FromGitter | <Quelklef> RFC to make exception-handling Go-style so that no exception "actually" ever occurs |
16:09:13 | * | icebattle quit (Ping timeout: 256 seconds) |
16:16:41 | * | icebattle joined #nim |
16:30:13 | FromGitter | <kayabaNerve> How to destroy the Nim language: give @Quelklef full repo ownership and tell him to do whatever he thinks is best. 🤔 |
16:30:35 | FromGitter | <kayabaNerve> Nah. We're open source. We don't have to listen to a centralized authority like that :D |
16:30:41 | FromGitter | <Quelklef> ;)) |
16:31:01 | FromGitter | <Quelklef> I wouldn't do anything to it 'cause I have no fuckin clue how the compiler works |
16:31:41 | FromGitter | <Quelklef> I could poke around the parser I suppose but |
16:31:59 | FromGitter | <Quelklef> once it gets to static analysis and compilation, I'm out |
16:32:00 | dom96 | Replace all keywords with emojis :D |
16:32:06 | FromGitter | <Quelklef> OH GO |
16:32:08 | FromGitter | <Quelklef> D |
16:32:20 | FromGitter | <Quelklef> Like this? https://www.emojicode.org/ |
16:32:23 | FromGitter | <kayabaNerve> Someone else already did that |
16:32:23 | FromGitter | <kayabaNerve> ^^ |
16:32:45 | dom96 | Damn it, it's almost impossible to have an original thought in this world nowadays |
16:32:48 | FromGitter | <Quelklef> darn my browser doesn't have support for those emojis :( |
16:32:54 | FromGitter | <Quelklef> I feel that |
16:33:03 | FromGitter | <Quelklef> I've had several "original ideas" that I found out Nim implements, lol |
16:33:13 | FromGitter | <kayabaNerve> dom96 other people have already said that exact same thing |
16:33:35 | FromGitter | <kayabaNerve> Something something asking Ara_q to implement converters |
16:34:15 | FromGitter | <kayabaNerve> That day I learned they were already there |
16:40:56 | FromGitter | <rayman22201> lmao. |
16:43:06 | FromGitter | <rayman22201> Serious question / thought about the RFC. @dom96, you brought up a good point, which is that I just assumed this RFC was for post 1.0. But that might have just been me doing the "making assumptions makes an ass out of you and me". Should it be part of the RFC or a Tag or something to make it clear what version an RFC is targeting? |
16:45:44 | leorize | github have something called milestone |
16:46:04 | leorize | I think everything that's targeting v1 is tagged with v1 milestone |
16:46:05 | FromGitter | <rayman22201> Yes, milestones are used in Nim. you can see them |
16:46:55 | FromGitter | <rayman22201> The reason I assumed the RFC was not for 1.0 was because the 1.0 milestone did not have that RFC listed. |
16:47:45 | FromGitter | <rayman22201> @dom96 made several comments that he thinks @Araq wanted the new exceptions for 1.0 though. |
16:47:52 | FromGitter | <rayman22201> which contradicts the milestone |
16:48:20 | FromGitter | <rayman22201> and it doesn't make sense to put a newly proposed RFC into a milestone anyway |
16:48:27 | dom96 | I think it's safe to assume that any RFC you see is meant for "right now" |
16:48:34 | dom96 | Unless it explicitly mentions v2.0 |
16:48:55 | dom96 | if you add it to the milestone then it's as if the RFC was accepted |
16:50:56 | FromGitter | <rayman22201> when you say meant for "right now", you mean meant for discussing right now, or implementing right now? |
16:52:15 | * | literal quit (Ping timeout: 265 seconds) |
16:53:08 | dom96 | Implementing right now |
16:53:20 | * | literal joined #nim |
16:53:27 | dom96 | In fact, it's rather pointless to discuss 2.0 currently |
16:53:35 | dom96 | It's too far in the future |
16:53:57 | FromGitter | <rayman22201> hrmmm.... |
16:55:09 | * | yglukhov_ joined #nim |
16:56:26 | FromGitter | <rayman22201> Doesn't "implement right now" defeat the purpose of the milestones? |
16:57:04 | FromGitter | <rayman22201> I see your issue with the whole thing now |
16:58:03 | * | yglukhov[i] quit (Ping timeout: 265 seconds) |
16:58:27 | FromGitter | <rayman22201> the real issue for me is that, even with the milestones, I am not clear on what the goals for 1.0 are. There are seveal RFCs in github right now that are not part of the 1.0 milestone. Are those unofficially blocking 1.0? |
17:01:47 | FromGitter | <rayman22201> A good RFC should be able to be proposed for implementation past the current milestone. It may be pointless to talk about 2.0 right now, but it's useful to talk about features > 1.0, we should always have goals for the future. |
17:08:03 | FromGitter | <rayman22201> Maybe I'm asking for a more clear roadmap. A common practice is to have a feature freeze, and focus only on bug fixes and stability for a period leading up to a release. Is that something that the you guys have discussed? |
17:08:06 | * | krux02 joined #nim |
17:09:23 | FromGitter | <Quelklef> IIRC Araq has expressed a similar sentiment |
17:09:27 | FromGitter | <Quelklef> let me see if I can find the post |
17:10:32 | * | krux02_ joined #nim |
17:11:13 | FromGitter | <rayman22201> I just feel bad because I was "fanning the flames" on this RFC, because I think it's cool. But I never meant to derail core development over it. I want 1.0 as much as the next Nim programmer lol |
17:11:16 | * | nsf joined #nim |
17:12:38 | FromGitter | <rayman22201> not that I think I'm actually "derailing" anything. I realize I don't have that kind of power :-P |
17:13:27 | FromGitter | <Quelklef> I can't find the post |
17:13:37 | * | ng0 joined #nim |
17:13:38 | FromGitter | <Quelklef> but I remember Araq saying somewhere that he does want to focus on stability until 1.0 |
17:13:44 | FromGitter | <Quelklef> And try not to introduce new features |
17:14:52 | FromGitter | <rayman22201> It's Ironic that he introduced this RFC then lol. |
17:15:53 | FromGitter | <rayman22201> I remember seeing Araq say something similar at one point as well. That is another reason I assumed it was an after 1.0 proposal though. |
17:16:58 | FromGitter | <rayman22201> If there is a feature freeze for 1.0 in effect, it should really be more clearly visible somewhere... |
17:17:11 | Araq | the v1 plan is in github |
17:17:28 | Araq | and RFCs like "different exceptions" are not part of it |
17:17:40 | FromGitter | <rayman22201> that's what I thought!?! |
17:17:43 | Araq | the v1 plan is probably overly ambitious though |
17:17:57 | Araq | ok, so ... what's the question? |
17:18:40 | FromGitter | <rayman22201> @dom96 has been very vocal in the RFC about reminding people that "this is not for 1.0". Which makes me and other people think that it was proposed for 1.0 |
17:18:57 | Araq | "in the RFC"? which one? |
17:19:02 | FromGitter | <rayman22201> the exceptions RFC |
17:19:17 | FromGitter | <rayman22201> #8363 |
17:19:18 | Araq | yeah, not for 1.0 |
17:19:26 | Araq | should have been more clear, sorry |
17:19:30 | dom96 | what? |
17:19:50 | dom96 | Pretty sure you even told me this was for 1.0 |
17:19:56 | Araq | well ... it started with something I want to do for v1 |
17:20:17 | Araq | and then it developed into something that can't be done for v1 |
17:20:19 | dom96 | Yes, so the RFC was for 1.0 |
17:20:23 | dom96 | But you changed your mind about it |
17:20:27 | dom96 | So it's no longer for 1.0 |
17:20:37 | FromGitter | <rayman22201> lol! #BDFL powers activate |
17:20:38 | Araq | tbh I'm not sure. |
17:21:11 | dom96 | lol |
17:21:14 | dom96 | Please be more explicit |
17:21:16 | FromGitter | <Quelklef> we'll find out when 1.0 comes out whether it's in 1.0 or not |
17:21:17 | dom96 | What are you unsure about? |
17:21:32 | Araq | if I initially thought it would be for v1 |
17:23:00 | * | dorelix quit (Quit: Leaving) |
17:23:10 | dom96 | IMO all RFCs that don't explicitly say "This is for v2.0" are effectively a proposal for 1.0 |
17:23:21 | dom96 | Discussing 2.0 proposals is a bit of a waste of time at this point |
17:23:26 | Araq | IMO it's different |
17:23:44 | Araq | all RFCs that are not in the v1 plan, are not for v1 but for v2, unless (and that's a big unless) |
17:24:01 | stefanos82 | well, you could excuse yourself by clarifying to v1.x than to v1 that indirect points to v1.0, whereas .x could be any version number you want |
17:24:14 | Araq | it's not implemented by the core team anyway |
17:24:25 | dom96 | No, RFCs are suggested by our community |
17:24:31 | dom96 | It's up to them whether they are suggesting it for 1.0 or not |
17:24:50 | Araq | depends on if the community is working on them or not |
17:25:04 | FromGitter | <rayman22201> @dom96, I have to agree with @Araq. That shouldn't be the community decision. They get to propose the RFC, the core team gets to decide when it gets merged! |
17:25:14 | Araq | I regard these as orthogonal to v1 |
17:25:34 | FromGitter | <Quelklef> I'm in this boat as well. RFCs are about the features which shouldn't (IMO) be tied to any specific version |
17:26:03 | Araq | well we have a v1 plan, I'm working on *only* that (even though I'm on holidays right now) |
17:26:10 | dom96 | But ... this is exactly why we are having trouble here. |
17:26:10 | FromGitter | <rayman22201> I know of no software project that works that way. It would be chaos if the community decided what feature goes into a certain version. You would never get anything shipped! |
17:26:10 | FromGitter | <Quelklef> Unless there's a known change coming up which will be incompatible with the RFC and it needs to be merged before then, or something like that |
17:26:35 | dom96 | RFCs are proposed now |
17:26:38 | Araq | well ok, it also depends on whether the RFC will break stuff or not. |
17:26:44 | dom96 | The people proposing them assume that they will be implemented now |
17:27:01 | dom96 | **Especially** if these features break backwards compatibility |
17:27:07 | dom96 | Which the exceptions RFC did do |
17:27:31 | Araq | let me mark that RFC with "postponed" |
17:27:34 | dom96 | This isn't about "This RFC goes into exactly version 1.0.0" |
17:27:58 | dom96 | It's about "This RFC is for the 0.x.x releases" or "pre-1.0" |
17:28:10 | dom96 | It makes a big difference to RFCs which it is |
17:28:31 | Araq | well the exception RFC was written by me |
17:28:36 | dom96 | Of course, it makes no sense for an RFC to say "This is to be implemented in version 0.18.2" (which might not even exist). |
17:28:39 | Araq | and I got too many downvotes |
17:28:50 | FromGitter | <rayman22201> lol |
17:28:57 | Araq | so, if something like that makes it into Nim |
17:29:09 | Araq | it will need an updated RFC. |
17:29:20 | Araq | first. I can close it too if you want to. |
17:29:40 | Araq | but that's a special RFC, ninja'ed by myself. |
17:29:53 | Araq | what about RFCs in general? |
17:30:19 | Araq | they can't be for v1. |
17:30:37 | FromGitter | <rayman22201> It was a good idea though! A good idea that breaks backwards compatibility / needs to be implemented in the future, still needs an avenue to be discussed. |
17:31:10 | FromGitter | <rayman22201> The C++ committee has proposals for C++ 24... Talking about RFCs for the far future is not that weird |
17:31:58 | FromGitter | <rayman22201> It just needs to be made explicit approximately where that RFC is in the roadmap. |
17:32:04 | FromGitter | <rayman22201> which is subject to change of course |
17:33:07 | Araq | the "let's have better init RFC" is backwards compatible and so if somebody works on it and pushes it through, it will be in v1. if not, then it won't. seems fair to me. |
17:33:43 | Araq | an RFC which would break too much code has little chance to be accepted to begin with. |
17:35:05 | FromGitter | <rayman22201> fair enough |
17:36:10 | * | icebattle quit (Ping timeout: 256 seconds) |
17:38:32 | * | gangstacat joined #nim |
17:39:00 | FromGitter | <Quelklef> Wait, what versioning system does Nim use? I had assumed semantic versioning, but I'm getting the sense that that's perhaps not correct |
17:39:13 | FromGitter | <Quelklef> 1) 0-compatible features will be merged before 2.0, right? |
17:40:31 | * | rockcavera quit (Remote host closed the connection) |
17:42:15 | Araq | we are trying semantic versioning. |
17:42:30 | FromGitter | <Quelklef> Cool |
17:52:16 | * | endragor joined #nim |
17:55:32 | FromGitter | <mratsim> should we create a tag backward-incompatible to further classify RFCs? |
17:57:00 | * | endragor quit (Ping timeout: 256 seconds) |
17:57:37 | * | krux02_ quit (Remote host closed the connection) |
17:58:07 | * | dorelix joined #nim |
17:59:02 | Araq | can't hurt |
18:00:00 | stefanos82 | for some reason I had the impression Nim's metaprogramming was supposed to allow language's extension based on a user's needs |
18:00:22 | FromGitter | <Quelklef> ... that sounds about right. What's up? |
18:02:17 | FromGitter | <Quelklef> Also, is there any convention on what `{}` and `{}=` are? They're accessors, but how do they differ from `[]` and `[]=`? If there is none, I'd like to suggest that they be "lax" versions of corresponding `[]` and `[]=`. Where `string[string.len]` throws an error, `string{string.len}` returns '\0', etc. |
18:03:36 | dom96 | that is exactly what the convention is :) |
18:03:51 | FromGitter | <Quelklef> Oh, awesome! |
18:04:32 | FromGitter | <kayabaNerve> What if I do {len+1} |
18:04:35 | FromGitter | <kayabaNerve> Null or error? |
18:04:55 | FromGitter | <Quelklef> null still, I suppose |
18:05:16 | subsetpark | dom96: new error running a nimble task from CI: `Error: undeclared identifier: 'version'`. Any ideas where to start looking? |
18:07:56 | FromGitter | <kayabaNerve> @Quelklef Or error :P I guess null though |
18:08:06 | FromGitter | <Quelklef> Nah, I think null is good, especially in this case |
18:08:11 | FromGitter | <kayabaNerve> It could also cause random data |
18:08:23 | FromGitter | <kayabaNerve> I'm not asking what it should; I'm asking what it does |
18:08:24 | FromGitter | <Quelklef> Since a valid `string[x]` call will NEVER return '\0', since '\0' is the string terminator |
18:08:31 | FromGitter | <Quelklef> Oh. It's not defined right now my man |
18:08:39 | FromGitter | <mratsim> @stefanos82, lots of the recent RFCs are not just extension but syntax or semantic changes |
18:08:53 | dom96 | subsetpark: show me more of the output |
18:08:55 | dom96 | that's really weird |
18:08:58 | FromGitter | <kayabaNerve> Oh. Yep. Just realized that |
18:09:12 | stefanos82 | @mratsim: semantic, like how something it's implemented behind the scenes? |
18:09:13 | FromGitter | <kayabaNerve> @mratsim Yeah. I added one to normalize the paths in Nim handled pragmas. |
18:09:24 | FromGitter | <kayabaNerve> It'll change how every path in the header pragma works |
18:09:42 | subsetpark | dom96: https://ghostbin.com/paste/3bjjp |
18:10:00 | FromGitter | <mratsim> @stefanos82: this is an example of semantic change: https://github.com/nim-lang/Nim/issues/8208 |
18:10:04 | subsetpark | i replaced the nimble task invocation with the commands that those tasks execute, and they work fine |
18:10:13 | subsetpark | and the tasks work fine from my local |
18:10:27 | subsetpark | as did they, i'm pretty sure, on that particular commit that choosenim is pegged at... |
18:10:40 | dom96 | can you reproduce this? |
18:10:56 | FromGitter | <kayabaNerve> I support null btw @Quelklef |
18:11:41 | subsetpark | hmm... nope, i reran the same build and it worked fine |
18:12:14 | FromGitter | <kayabaNerve> MAGIC |
18:12:17 | stefanos82 | @mratsim: this example shows something that shouldn't have been allowed in the first place I'm afraid. It can lead to unnecessary confusion to those who come to Nim for the first time or want to learn more about Nim metaprogramming |
18:12:43 | FromGitter | <Quelklef> Yeah. It'd also be really nice to have a `{}` on slices that doesn't complain about being out of range, just makes the result string smaller. Means result.len != slice.b - slice.a, but also means that you can idiomatically do `s{0 ..< 100}` to take 100 or less from the string |
18:12:47 | FromGitter | <Quelklef> I think I'll make a PR |
18:13:31 | FromGitter | <mratsim> I’d like {} to be an alias to `toopenArray` actually |
18:14:01 | FromGitter | <Quelklef> example? |
18:14:03 | * | vivus joined #nim |
18:15:21 | FromGitter | <Quelklef> Oh it's not in the docs cause its in devel innit |
18:15:22 | FromGitter | <mratsim> if you slice+assign a seq `b[10..20] = a[0..10]`, you create a new seq, then copy the data. |
18:15:57 | FromGitter | <mratsim> if you want to avoid the extra allocation you have to do `b[10..20] = a.toOpenArray(0, 10)` currently |
18:17:17 | FromGitter | <Quelklef> Ah |
18:17:33 | FromGitter | <Quelklef> I mean you could have `a{x .. y}` be lax slicing and `a{x, y}` be toOpenArray |
18:17:37 | FromGitter | <Quelklef> it'd be a little weird though |
18:17:54 | FromGitter | <mratsim> yeah it will be tricky |
18:18:19 | FromGitter | <mratsim> well if {} is lready used for lax slicing on string, it can stay so. |
18:18:28 | FromGitter | <Quelklef> it isn't, not yet, I don't think |
18:18:31 | FromGitter | <mratsim> I wasn’t even aware that existed |
18:18:36 | FromGitter | <Quelklef> Not in stable, anyway |
18:19:26 | FromGitter | <mratsim> toOpenArray can even be `a[.10..20.]`, though it’s super strange and unsearchable too. |
18:19:51 | FromGitter | <Quelklef> Oh, is `[. .]` an operator? I thought it was unused but reserved syntax |
18:20:04 | FromGitter | <mratsim> no it’s not. |
18:20:12 | FromGitter | <Quelklef> No it's not what |
18:20:16 | FromGitter | <Quelklef> Not an operator, or no unused? |
18:20:57 | FromGitter | <mratsim> I’m not even sure the parser maps it to any symbol |
18:20:57 | FromGitter | <Quelklef> not* |
18:21:07 | FromGitter | <Quelklef> yeah thats what I thought |
18:21:51 | FromGitter | <Quelklef> close enough, anyway |
18:22:40 | FromGitter | <Quelklef> I think `{}` being toOpenArray would be weird because if it were then it should be implemented generically, not just for strings |
18:22:50 | * | Ven`` joined #nim |
18:22:58 | FromGitter | <Quelklef> But having a generic `{}` would be weird because that's what `.toOpenArray` is for |
18:23:39 | FromGitter | <Quelklef> Dunno, perhaps a `` `{}`T (x: T, a, b: int) = x.toOpenArray(a, b)`` wouldn't be too bad |
18:27:13 | stefanos82 | what is {}T supposed to do? |
18:27:25 | FromGitter | <Quelklef> It just means I'm defining {} to be generic |
18:27:42 | stefanos82 | that looks confusing |
18:27:47 | FromGitter | <Quelklef> /shrug |
18:28:00 | FromGitter | <Quelklef> identifier, generic params, formal params, `=`, body |
18:28:05 | FromGitter | <Quelklef> just like any other proc |
18:28:16 | stefanos82 | Nim should retain its simplicity |
18:28:23 | stefanos82 | no need to add unnecessary complexities |
18:28:28 | stefanos82 | we have C++ already doing that for us |
18:28:35 | FromGitter | <Quelklef> Um |
18:28:54 | FromGitter | <Quelklef> What part of ``proc `{}`T (x: T, a, b: int) = x.toOpenArray(a, b)`` is unnecessarily complex? |
18:29:29 | stefanos82 | any part that adds an extra layer of complexity in the language |
18:29:58 | FromGitter | <Quelklef> Generics are indispensable IMO |
18:31:27 | FromGitter | <Quelklef> Unless you want to get rid of user-defined operators, generics, `x.f(a, b)` call syntax, `a, b: T` type annotations, or expressions as proc bodies, I don't know what you'd remove |
18:31:54 | FromGitter | <Quelklef> And personally the first 3 things there are some of my favorite parts of the language and are quite elegant and not that complex |
18:32:01 | stefanos82 | I agree with the indispensable comment, but I'm sure there is a way to implement them without adding syntax complexities. |
18:32:04 | FromGitter | <Quelklef> (Well, generics is complex) |
18:32:12 | FromGitter | <Quelklef> Not Nim's generics |
18:32:22 | FromGitter | <Quelklef> You may want to do something like Haskell does |
18:32:43 | FromGitter | <Quelklef> Where types have to start with an upper case letter, and then all identifiers in a type that are lowercase are assumed to be type parameters |
18:33:01 | FromGitter | <Quelklef> So it'd instead be `proc `{}`(x: a, a, b: int) = x.toOpenArray(a, b)` |
18:33:29 | FromGitter | <Quelklef> However, the reason Haskell is able to do that is because its type parameters are local to the expression. Nim's are not, take a look at: |
18:33:56 | FromGitter | <Quelklef> ```proc f[T](x: T) = ⏎ when T == int: ⏎ echo("biinegigenge") ⏎ echo(x)``` [https://gitter.im/nim-lang/Nim?at=5b5a1414d2f0934551d36d61] |
18:34:20 | FromGitter | <Quelklef> Then consider: |
18:34:35 | FromGitter | <Quelklef> Sorry, let me undo the previous line |
18:34:42 | FromGitter | <Quelklef> "line" as in "message" |
18:34:58 | FromGitter | <Quelklef> Now, consider if we had these Haskell-like type type annotations with nicer syntax |
18:35:05 | FromGitter | <Quelklef> That example comes cleaner: |
18:35:23 | FromGitter | <Quelklef> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b5a146b07be4357bdf0a63c] |
18:35:29 | FromGitter | <Quelklef> However, it breaks other things. Consider this: |
18:35:58 | FromGitter | <Quelklef> ```proc outer(x: a) = ⏎ proc inner(x: a) = ⏎ echo(x) ⏎ inner()``` [https://gitter.im/nim-lang/Nim?at=5b5a148de5fc191d95a07cfe] |
18:36:09 | FromGitter | <Quelklef> Sorry, bad example. Let me try again: |
18:36:32 | stefanos82 | how about writing down your thoughts and clear things up first and then provide an actual example? |
18:36:37 | FromGitter | <Quelklef> ```proc outer(x: a) = ⏎ proc inner(y: a) = ⏎ echo(x) ⏎ inner(4)``` [https://gitter.im/nim-lang/Nim?at=5b5a14b53396495b333dcc67] |
18:36:41 | FromGitter | <Quelklef> ^ this one works |
18:37:00 | FromGitter | <Quelklef> does the `a` in `y: a` refer to the same `a` in `x: a`? It's unclear |
18:37:49 | FromGitter | <Quelklef> If it does, then `outer` will only compile when `a` is `int`, because then `inner` will be of type `int`, and `4` is `int` |
18:37:58 | FromGitter | <Quelklef> But if, say, `a` is string, it'll yell at you |
18:38:10 | FromGitter | <Quelklef> But the more important part is the ambiguity |
18:38:43 | FromGitter | <Quelklef> Of course, this can be solved, but it *must* be solved with another kind of annotation |
18:39:03 | FromGitter | <Quelklef> No matter, you need to make type scope clear *somehow*. And I think that the way that was chosen is just fine |
18:39:48 | stefanos82 | did you read this? https://github.com/nim-lang/Nim/issues/7449 |
18:40:51 | FromGitter | <Quelklef> No, but I don't see how it's directly relevant |
18:41:18 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
18:41:24 | stefanos82 | it relates to nested proc example of yours |
18:41:47 | FromGitter | <Quelklef> Sure, it's similar |
18:52:03 | * | nsf quit (Quit: WeeChat 2.1) |
18:52:34 | FromGitter | <kayabaNerve> @Quelklef Because you're not a real Nim dev if you can't cite every PR, issue, and Git Patch file by memory |
18:52:51 | FromGitter | <kayabaNerve> That's how it's directly relevant |
18:53:12 | FromGitter | <Quelklef> ? |
18:53:23 | FromGitter | <Quelklef> I mean, I don't see how it's relevant to my argument |
18:53:34 | FromGitter | <Quelklef> It's new information, and it's similar, but it doesn't change anything |
18:53:42 | FromGitter | <Quelklef> unless I'm not understanding something ...? |
18:53:47 | FromGitter | <kayabaNerve> Your argument is irrelevant; you should become a real Nim dev and that means memorizing #7449. |
18:53:53 | FromGitter | <Quelklef> boi |
18:53:55 | FromGitter | <kayabaNerve> No, Im just effing around. |
18:54:03 | FromGitter | <Quelklef> yeah i got that after the second message :P |
19:03:18 | * | yglukhov[i] joined #nim |
19:03:18 | * | yglukhov_ quit (Read error: Connection reset by peer) |
19:05:36 | FromGitter | <mratsim> I’ll give you a tip, the more you clog the bug tracker with your issues, the easier it is to remember what is there |
19:05:43 | FromGitter | <mratsim> proof: https://github.com/nim-lang/Nim/issues/8448 |
19:06:10 | * | CcxWrk quit (Quit: ZNC 1.7.1 - https://znc.in) |
19:07:10 | * | CcxWrk joined #nim |
19:07:49 | FromGitter | <Quelklef> Speaking of which, there are 56 pages of bugs |
19:08:21 | FromGitter | <Quelklef> when I saw that I was really compelled to just go through them, oldest to newest, test them on the latest devel branch, and close them if they're fixed by now |
19:09:46 | FromGitter | <Quelklef> but I can't close things, so the best I could do is post a "this is |
19:09:56 | * | CcxWrk quit (Excess Flood) |
19:09:56 | FromGitter | <Quelklef> fixed" comment, which I'm not sure if would be helpful or annoying |
19:10:34 | FromGitter | <Quelklef> For instance, https://github.com/nim-lang/Nim/issues/6185 is fixed |
19:11:00 | FromGitter | <rayman22201> The github issue tracker could use a good cleaning... It probably needs a person with admin privileges though... |
19:11:29 | * | yglukhov[i] quit (Ping timeout: 248 seconds) |
19:11:35 | FromGitter | <Quelklef> Yeah |
19:12:12 | * | yglukhov[i] joined #nim |
19:15:02 | dom96 | hmmm, should Option.get return a `var T`? |
19:15:14 | FromGitter | <Quelklef> Option.mget? |
19:17:05 | Araq | yeah, mget it |
19:20:04 | * | icebattle joined #nim |
19:20:06 | dom96 | there is no `mget` for option |
19:20:57 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
19:21:33 | * | ldlework pulls open his coat. |
19:21:40 | ldlework | I heard you're lookin for some Monads? |
19:21:47 | FromGitter | <Quelklef> oh no |
19:22:29 | ldlework | (the shady pawn-dealer coat-opening, not the naked-flasher kind) |
19:22:31 | ldlework | lol |
19:22:35 | FromGitter | <Quelklef> oh no |
19:22:57 | * | yglukhov[i] joined #nim |
19:23:29 | * | Trustable quit (Remote host closed the connection) |
19:33:52 | * | stefanos82 quit (Quit: Quitting for now...) |
19:34:45 | * | Vladar quit (Quit: Leaving) |
19:37:44 | * | yglukhov_ joined #nim |
19:41:27 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
19:44:57 | * | icebattle quit (Ping timeout: 244 seconds) |
19:47:58 | * | vivus quit (Quit: Leaving) |
19:49:09 | * | krux02 quit (Ping timeout: 265 seconds) |
19:58:31 | * | rockcavera joined #nim |
20:01:07 | * | krux02 joined #nim |
20:01:50 | * | icebattle joined #nim |
20:04:32 | * | d10n-work quit (Quit: Connection closed for inactivity) |
20:10:31 | FromGitter | <Varriount> @Quelklef I'll probably go through them today. |
20:10:42 | FromGitter | <Varriount> I've gotten into the habit of checking all recently updated issues. |
20:11:12 | FromGitter | <Quelklef> I mean, the recently updated ones aren't the point |
20:11:20 | FromGitter | <Quelklef> That sounds like a good habit though |
20:11:38 | FromGitter | <Varriount> I mean, if you commented on those issues, they will be marked as updated. |
20:12:07 | FromGitter | <Quelklef> Ah |
20:12:08 | FromGitter | <Quelklef> hm |
20:12:26 | * | geocar joined #nim |
20:12:29 | FromGitter | <Quelklef> I'd do it, but I'd want official permission before I pull shenanigans of this size |
20:13:01 | FromGitter | <Quelklef> @Araq @dom96 OK for me to bump (many) (very old) now-resolved issues so they can be closed? |
20:14:03 | FromGitter | <Varriount> Or you could give us a list. |
20:14:14 | FromGitter | <Quelklef> y'know |
20:14:23 | FromGitter | <Quelklef> some day I hope to be as smart as you are, Varriount |
20:30:08 | FromGitter | <Quelklef> What is the showstopper label? |
20:34:05 | * | Ven`` joined #nim |
20:41:47 | * | icebattle quit (Ping timeout: 244 seconds) |
20:47:29 | * | Ven`` quit (Ping timeout: 248 seconds) |
20:48:56 | * | yglukhov_ quit (Read error: Connection reset by peer) |
20:49:31 | * | yglukhov[i] joined #nim |
20:53:02 | * | cryptocat1094 quit (Quit: WeeChat 2.2) |
20:54:07 | * | noonien quit (Quit: Connection closed for inactivity) |
21:30:25 | * | Jesin joined #nim |
21:51:19 | * | yglukhov_ joined #nim |
21:52:18 | * | yglukhov[i] quit (Ping timeout: 256 seconds) |
21:54:19 | * | NimBot joined #nim |
21:55:48 | * | yglukhov_ quit (Read error: Connection reset by peer) |
21:56:24 | * | yglukhov[i] joined #nim |
22:07:04 | * | icebattle joined #nim |
22:32:35 | FromGitter | <gogolxdong> [] -> rawGet -> extractSlice-> x[pos] |
22:47:06 | * | yglukhov[i] quit (Read error: Connection reset by peer) |
22:47:43 | * | yglukhov[i] joined #nim |
22:51:04 | FromGitter | <gogolxdong> sorry ,it's `[]=` -> add -> newJstring -> newBody -> storeAtom -> buf: var seq[byte] |
22:51:20 | FromGitter | <Quelklef> ?? |
22:53:05 | * | icebattle quit (Ping timeout: 240 seconds) |
22:57:05 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
23:03:43 | * | yglukhov[i] joined #nim |
23:03:46 | FromGitter | <gogolxdong> packedjson issue. |
23:03:59 | * | yglukhov[i] quit (Remote host closed the connection) |
23:08:28 | FromGitter | <gogolxdong> ```code paste, see link``` ⏎ ⏎ doesn't [https://gitter.im/nim-lang/Nim?at=5b5a546ca31e386158b4ded0] |
23:11:29 | * | CcxWrk joined #nim |
23:16:25 | * | xet7 quit (Quit: Leaving) |
23:20:18 | FromGitter | <Varriount> Don't use typed and untyped in procedures. Those are meant for use in templates and macros only. |
23:20:47 | FromGitter | <Quelklef> he didn't |
23:25:40 | * | icebattle joined #nim |
23:39:32 | zacharycarter[m] | yglukhov: are you around by any chance? or anyone else that has used / knows jsbind? |
23:43:59 | zacharycarter[m] | I'm curious how you would bind an event handler and then later remove it with the whole jsRef / Unref thing |
23:44:09 | zacharycarter[m] | my event handlers are attaching fine - but not being removed |