00:00:06 | * | OnO quit (Ping timeout: 240 seconds) |
00:01:57 | * | M-Quora quit (Ping timeout: 240 seconds) |
00:01:57 | * | ftsf_ joined #nim |
00:02:32 | * | OnO joined #nim |
00:02:37 | * | M-Quora joined #nim |
00:03:08 | * | yglukhov joined #nim |
00:04:17 | * | zielmicha[m] joined #nim |
00:06:01 | * | ehmry joined #nim |
00:07:28 | * | zielmicha quit (Write error: Connection reset by peer) |
00:07:44 | * | zielmicha_ joined #nim |
00:07:52 | * | yglukhov quit (Ping timeout: 260 seconds) |
00:09:01 | * | Matthias247 quit (Quit: Matthias247) |
00:13:00 | * | ehmry quit (Ping timeout: 240 seconds) |
00:13:56 | * | krux02 joined #nim |
00:15:28 | krux02 | is there a way to specify a symbol for a certain type? |
00:15:49 | krux02 | I would like to pass `$` as a parameter, but nim doesn't let me for some reason |
00:17:01 | * | daekano quit (Ping timeout: 240 seconds) |
00:17:34 | krux02 | functional programming is not that fun do do in nim :/ |
00:17:37 | * | TheManiac quit (Ping timeout: 240 seconds) |
00:18:19 | * | derlafff quit (Ping timeout: 240 seconds) |
00:19:02 | * | derlafff joined #nim |
00:20:11 | * | ehmry joined #nim |
00:20:58 | * | M-Quora quit (Ping timeout: 240 seconds) |
00:23:27 | * | TheManiac joined #nim |
00:24:19 | * | daekano joined #nim |
00:26:53 | * | M-Quora joined #nim |
00:40:14 | * | bjz joined #nim |
00:49:37 | * | M-Quora quit (Ping timeout: 240 seconds) |
00:50:48 | * | libman quit (Remote host closed the connection) |
00:53:57 | * | brechtm_ quit (Remote host closed the connection) |
00:54:31 | * | brechtm joined #nim |
00:55:27 | * | M-Quora joined #nim |
00:59:01 | * | brechtm quit (Ping timeout: 260 seconds) |
01:02:38 | * | brson quit (Ping timeout: 240 seconds) |
01:03:03 | * | brson joined #nim |
01:13:36 | * | brson quit (Ping timeout: 250 seconds) |
01:20:37 | * | M-Quora quit (Ping timeout: 240 seconds) |
01:26:27 | * | M-Quora joined #nim |
01:32:15 | * | chemist69 quit (Ping timeout: 250 seconds) |
01:41:44 | krux02 | mat.nim(99, 5) Error: invalid type: 'Mat[3, 3, system.int]' |
01:42:36 | ftsf_ | krux02, might need some more context |
01:45:23 | * | chemist69 joined #nim |
01:53:19 | krux02 | ftsf_: yes I can do that, but until now I didn't even know that somebody was online |
01:53:32 | krux02 | here it is 3:53 in the moring |
01:54:35 | ftsf_ | there's always someone lurking >__> |
01:57:46 | krux02 | ftsf_: https://gist.github.com/krux02/f2c06f5af026fd760e45a75fd57368b6 |
01:57:59 | krux02 | put it in aporia and see the error |
01:58:28 | ftsf_ | aporia? |
01:58:53 | krux02 | it's easiest to just run some code I think |
01:59:22 | krux02 | I know I could configure emacs to do the same, but yea but I rather just put in in aporia and press f5 |
01:59:28 | krux02 | so much simpler |
01:59:31 | krux02 | anyway |
01:59:37 | ftsf_ | i don't know what aporia is |
01:59:42 | krux02 | when you swap line 9 and 10, the error remains in line 10 |
02:00:07 | ftsf_ | so the error is from the echo |
02:00:40 | krux02 | can you give more context? |
02:00:50 | ftsf_ | remove the echo line and it doesn't error |
02:00:55 | krux02 | yea |
02:01:18 | krux02 | that's not helping |
02:01:26 | ftsf_ | so something to do with your $ proc presumably |
02:01:30 | krux02 | the echo line ensures that the generic function actually get's instanciated |
02:02:09 | krux02 | when it doesn't get instanciated it can put all sorts of crap into it and it wouldn't fail because no functions get looked up |
02:02:22 | ftsf_ | i see |
02:02:58 | krux02 | what is weird to me, is the fact that it doesn't fail at all for simpler methods |
02:03:03 | krux02 | sorry mistyped |
02:03:08 | ftsf_ | var strMat : Mat[m.N, m.M, string] |
02:03:23 | krux02 | I mean it fails on the second var declaration |
02:03:49 | krux02 | that line that throws the error is totally correct when you swap it with the line above |
02:04:08 | ftsf_ | interesting |
02:04:55 | krux02 | I guess I open an issue on github |
02:05:06 | * | yglukhov joined #nim |
02:05:09 | krux02 | as if there weren't already enough issues open that never get fixed |
02:05:35 | ftsf_ | how do you know they never get fixed? |
02:05:40 | ftsf_ | time traveller? |
02:08:12 | * | Pisuke quit (Ping timeout: 260 seconds) |
02:09:17 | * | yglukhov quit (Ping timeout: 240 seconds) |
02:09:17 | * | M-Quora quit (Ping timeout: 240 seconds) |
02:10:57 | krux02 | ftsf_: There are more new issues coming in, than getting fixed |
02:11:05 | krux02 | the list of issues is just growing |
02:11:10 | krux02 | not shrinking |
02:11:41 | ftsf_ | that's pretty normal, more people using it than developing it |
02:11:42 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
02:11:56 | krux02 | extrapolating that data and assuming that time is finite there have to be problems that will never get fixed |
02:15:43 | * | M-Quora joined #nim |
02:17:27 | enthus1ast | krux02 if `$` is a template it gets at least eaten, dont know if this makes sense |
02:18:11 | krux02 | you mean replace proc with template? |
02:18:20 | enthus1ast | jep |
02:20:01 | krux02 | No stack traceback available |
02:20:03 | krux02 | not really |
02:20:27 | enthus1ast | ? |
02:20:54 | * | bjz joined #nim |
02:20:55 | krux02 | system.nim(2482, 32) Error: internal error: expr(skTemplate); unknown symbol |
02:21:04 | krux02 | can you paste your version that works? |
02:21:09 | enthus1ast | ähm |
02:21:22 | enthus1ast | still complaining on this: var m : Mat[3,3,float] |
02:22:45 | krux02 | I just made an issue |
02:23:27 | enthus1ast | it 4:23 too maybe i should sleep : ) |
02:23:28 | krux02 | in case anybody can help: please write there: https://github.com/nim-lang/Nim/issues/4884 |
02:23:48 | krux02 | yes I really need to go to bed, too |
02:24:12 | ftsf_ | night night |
02:24:16 | krux02 | good night |
02:24:21 | * | krux02 quit (Quit: Leaving) |
02:44:58 | * | zielmicha[m] quit (Ping timeout: 240 seconds) |
02:48:26 | * | bjz_ joined #nim |
02:49:16 | * | bjz quit (Ping timeout: 260 seconds) |
02:51:26 | * | zielmicha[m] joined #nim |
02:57:01 | * | ARCADIVS quit (Quit: ARCADIVS) |
03:00:27 | * | FuntDobra quit (Quit: leaving) |
03:00:31 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
03:15:35 | * | bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
03:18:17 | * | M-Quora quit (Ping timeout: 240 seconds) |
03:18:26 | * | M-Quora joined #nim |
03:22:21 | * | Matthias247 joined #nim |
03:48:26 | * | sp33der89 joined #nim |
03:52:57 | * | sp33der89 quit (Ping timeout: 240 seconds) |
04:06:48 | * | yglukhov joined #nim |
04:08:19 | * | Matthias247 quit (Quit: Matthias247) |
04:11:40 | * | yglukhov quit (Ping timeout: 265 seconds) |
04:17:07 | * | Jesin quit (Quit: Leaving) |
04:18:53 | * | Jesin joined #nim |
04:24:31 | * | kulelu88 quit (Quit: Leaving) |
04:31:57 | * | daekano quit (Ping timeout: 240 seconds) |
04:32:34 | * | daekano joined #nim |
04:47:03 | * | bjz joined #nim |
05:11:17 | * | daekano quit (Ping timeout: 240 seconds) |
05:14:10 | * | daekano joined #nim |
05:18:39 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
05:27:54 | * | FuntDobra joined #nim |
05:33:12 | * | lyro quit (Remote host closed the connection) |
05:35:40 | * | __UNIcodeX__ joined #nim |
05:37:56 | * | kunev quit (Ping timeout: 250 seconds) |
05:39:08 | * | UNIcodeX quit (Ping timeout: 260 seconds) |
05:40:37 | * | TheManiac quit (Ping timeout: 240 seconds) |
05:40:47 | * | TheManiac joined #nim |
05:54:58 | * | lyro joined #nim |
05:58:25 | * | yglukhov joined #nim |
06:03:00 | * | yglukhov quit (Ping timeout: 260 seconds) |
06:11:00 | * | arnetheduck quit (Remote host closed the connection) |
06:14:01 | * | gangstacat quit (Ping timeout: 260 seconds) |
06:19:29 | * | arnetheduck joined #nim |
06:21:57 | * | daekano quit (Ping timeout: 240 seconds) |
06:22:17 | * | M-Quora quit (Ping timeout: 240 seconds) |
06:23:47 | * | gangstacat joined #nim |
06:24:21 | * | daekano joined #nim |
06:28:14 | * | nsf joined #nim |
06:28:41 | * | M-Quora joined #nim |
06:31:56 | * | gokr joined #nim |
06:39:16 | * | fredrik92 joined #nim |
06:55:54 | * | Pisuke joined #nim |
07:01:15 | * | Arrrr joined #nim |
07:01:32 | * | bjz joined #nim |
07:05:41 | * | Matthias247 joined #nim |
07:17:47 | * | Arrrr quit (Quit: WeeChat 1.5) |
07:20:17 | * | M-Quora quit (Ping timeout: 240 seconds) |
07:25:09 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
07:26:09 | * | M-Quora joined #nim |
07:26:09 | * | Arrrr joined #nim |
07:35:11 | * | Andris_zbx joined #nim |
07:36:50 | * | qwertfisch is now known as __________ |
07:37:38 | * | __________ is now known as qwertfisch |
07:41:52 | * | yglukhov joined #nim |
07:42:26 | * | yglukhov quit (Remote host closed the connection) |
07:52:39 | * | yaiyan quit (Ping timeout: 260 seconds) |
07:54:14 | * | yaiyan joined #nim |
08:14:37 | * | M-Quora quit (Ping timeout: 240 seconds) |
08:21:36 | * | M-Quora joined #nim |
08:26:40 | * | BratwurstMitSenf joined #nim |
08:27:14 | * | BratwurstMitSenf left #nim (#nim) |
08:35:53 | * | chemist69 quit (Ping timeout: 260 seconds) |
08:40:11 | * | chemist69 joined #nim |
08:42:17 | * | TheManiac quit (Ping timeout: 240 seconds) |
08:48:00 | * | yglukhov joined #nim |
08:48:06 | * | TheManiac joined #nim |
08:48:43 | * | HakanD joined #nim |
08:57:24 | * | planhths joined #nim |
09:07:49 | * | brechtm joined #nim |
09:25:32 | * | pafmaf joined #nim |
09:28:25 | Araq | Arrrr: fixed 'koch', can you test? |
09:31:52 | Arrrr | Ah, actually i was looking how to implement it on xp. I'll check it out. |
09:43:03 | Araq | well you should still do that, but it's in finish.nim now |
09:46:46 | Araq | which is the better solution because then Windows users can click on the finish.exe file :-) |
09:48:58 | Arrrr | Now i can compile nim, everything works OK. |
09:52:10 | * | desophos quit (Read error: Connection reset by peer) |
09:53:41 | * | CcxWrk joined #nim |
09:53:54 | * | filcuc joined #nim |
09:55:30 | * | HakanD quit (Quit: Be back later ...) |
09:58:22 | * | ftsf_ quit (Quit: :q!) |
10:00:08 | * | HakanD joined #nim |
10:03:41 | * | bjz joined #nim |
10:05:27 | * | xet7_ is now known as xet7 |
10:07:47 | * | HakanD quit (Quit: Be back later ...) |
10:11:20 | * | CcxWrk quit (Quit: ZNC 1.6.3 - http://znc.in) |
10:11:28 | * | CcxWrk joined #nim |
10:11:54 | euantor | Nice one Araq, `./finish.exe` should be plenty clear enough for everyone :) |
10:15:31 | * | HakanD joined #nim |
10:24:19 | Arrrr | i'd prefer setup |
10:27:13 | euantor | Setup triggers the smart screen filter apparently @Arrrr |
10:28:02 | Arrrr | wtf |
10:28:23 | euantor | Yep, that's what Araq told me on Saturday anyway when we were discussing it |
10:29:47 | Arrrr | Anyway, i suppose none who is compiling from scratch will use finish rather than changing by hand the registry |
10:30:01 | Arrrr | And the ones using the installer won't know about it |
10:30:15 | Arrrr | So i guess the name doesn't matter |
10:33:38 | * | ehmry quit (Ping timeout: 240 seconds) |
10:34:01 | Araq | Arrrr: I want to get rid of the installer |
10:34:31 | Araq | hard to maintain and adding features requires hacking in some assembly like scripting language |
10:34:42 | Araq | lots of useful features are only available as "plugins" |
10:34:55 | Araq | the stuff that is available doesn't work reliably. |
10:35:18 | Araq | new install: unzip to where you like it, run finish.exe |
10:36:18 | Arrrr | can't the installer do that? |
10:37:17 | derlafff | hi guys. were there any recently fixed memory leaks? |
10:38:06 | Araq | derlafff: I'm still working on the apparent fragmentation bug |
10:38:18 | Araq | but since 0.15 no leaks have been fixed |
10:38:46 | derlafff | it seems I have one and have no idea how to debug it |
10:39:00 | derlafff | Araq: fragmentation? probably it is; because I still have few free MB left; but get "could not allocate memory" error |
10:39:14 | Araq | derlafff: try --gc:boehm or --gc:markAndSweep |
10:39:32 | Araq | but "few free MB left" doesn't sound too good |
10:39:41 | * | ehmry joined #nim |
10:39:44 | Araq | bbl |
10:40:44 | enthus1ast | Araw should koch also download mingw? |
10:41:01 | Araq | enthus1ast: no. |
10:41:09 | enthus1ast | : ) |
10:43:26 | * | chemist69 quit (Ping timeout: 250 seconds) |
10:47:41 | * | chemist69 joined #nim |
10:49:41 | * | enthus1ast quit (Ping timeout: 248 seconds) |
10:49:57 | * | enthus1ast joined #nim |
10:56:21 | * | enthus1ast quit (Ping timeout: 260 seconds) |
10:59:17 | * | daekano quit (Ping timeout: 240 seconds) |
11:02:10 | * | daekano joined #nim |
11:02:10 | * | Snircle joined #nim |
11:02:11 | derlafff | Araq: it's mips router, it has only few megabytes of RAM at all |
11:02:27 | derlafff | 32M of ram, and 2-3 is usually free |
11:02:37 | derlafff | ok, I will try these options |
11:03:05 | derlafff | but not sure how to check |
11:03:16 | derlafff | problem usually appears after quite an uptime |
11:06:38 | derlafff | Araq: wow, --gc:boehm saved me 50Kb binary size |
11:08:09 | derlafff | oh, because it's in libgc.so |
11:08:37 | derlafff | seems not to be packaged for openwrt |
11:10:17 | * | NhanH quit (Ping timeout: 240 seconds) |
11:11:32 | * | elrood joined #nim |
11:12:18 | * | NhanH joined #nim |
11:15:17 | derlafff | Araq: mark&sweep seems not to leak |
11:15:19 | derlafff | thanks |
11:15:35 | derlafff | not pretty sure, yet |
11:19:17 | * | M-Quora quit (Ping timeout: 240 seconds) |
11:20:18 | * | PMunch joined #nim |
11:22:16 | * | brechtm quit (Read error: Connection reset by peer) |
11:22:51 | * | brechtm joined #nim |
11:23:13 | cheatfate_ | derlafff, what you are using from stdlib? |
11:23:20 | * | cheatfate_ is now known as cheatfate |
11:24:28 | * | brechtm quit (Remote host closed the connection) |
11:24:42 | derlafff | cheatfate: http://dpaste.com/13C9RJ8 |
11:25:52 | * | M-Quora joined #nim |
11:27:00 | derlafff | shit |
11:27:03 | derlafff | fix didn't work |
11:27:03 | * | fredrik92 quit (Quit: Client disconnecting) |
11:27:58 | euantor | If I remember correctly there was some talk about Jester perhaps not closing client connections in some cases recently wasn't there? |
11:31:30 | * | HC2 joined #nim |
11:31:42 | * | HC2 left #nim (#nim) |
11:33:23 | * | brechtm joined #nim |
11:34:59 | * | brechtm quit (Remote host closed the connection) |
11:36:01 | * | brechtm joined #nim |
11:37:26 | * | brechtm quit (Remote host closed the connection) |
11:39:14 | * | hohlerde joined #nim |
11:39:15 | hohlerde | can I use the dynlib pragma together with varargs, to import a c function not defining the parameters in nim code? |
11:40:17 | * | TheManiac quit (Ping timeout: 240 seconds) |
11:42:06 | * | brechtm joined #nim |
11:44:35 | FromGitter | <endragor> What does macros.getType(NimNode) accept, exactly? How should the node be structured? Tried to pass an AST of a typed expression, as well as type ident - neither works (`node has no type`). Is there a way to get type info in a macro when just having the type’s identifier? |
11:45:41 | * | bjz_ joined #nim |
11:46:17 | * | daekano quit (Ping timeout: 240 seconds) |
11:46:17 | * | bjz quit (Ping timeout: 260 seconds) |
11:47:16 | * | TheManiac joined #nim |
11:47:54 | * | fredrik92 joined #nim |
11:48:54 | FromGitter | <Araq> @endragor bindSym"ident".getType perhaps. |
11:49:43 | * | daekano joined #nim |
11:52:38 | Araq | derlafff: do you keep adding things to a table, perhaps? |
11:52:54 | * | HakanD quit (Quit: Be back later ...) |
11:53:06 | derlafff | Araq: there's a growing table, but I get leaks even without touching that |
11:53:20 | derlafff | also, there are few library tables |
11:53:27 | * | HakanD joined #nim |
11:54:00 | Araq | well leaks and OOM are not the same |
11:54:39 | derlafff | well, yep |
11:55:00 | derlafff | I disabled some stuff and got 10 more MB |
11:55:04 | derlafff | nim takes all it can |
11:55:12 | Araq | tables are based on seqs, they double the seq size. if you have growing tables sooner or later the seq will grow beyond what's available |
11:55:30 | derlafff | so I guess it's leak |
11:55:39 | Araq | this can happen much sooner than you think. |
11:55:58 | derlafff | Araq: I don't touch that table at all |
11:56:16 | derlafff | it still leaks |
11:56:26 | derlafff | that jester non-closing problem seems plausible too |
11:56:29 | cheatfate | Araq, i think its realloc issue |
11:57:24 | Araq | cheatfate: the stlib hardly uses realloc at all |
11:57:32 | Araq | but you mean the fragmentation issue, right |
11:57:48 | derlafff | btw, it was just OK on 0.14 |
11:57:57 | * | HakanD quit (Ping timeout: 260 seconds) |
11:57:58 | cheatfate | hmm |
11:58:08 | cheatfate | then its not realloc |
11:58:25 | derlafff | well, I changed some place: now I spawn subprocess differently |
11:58:42 | derlafff | using execCmdEx now |
11:58:50 | derlafff | previously used osExec |
11:59:21 | derlafff | and that's the place where I get oom exception actually |
12:00:13 | * | pie_ joined #nim |
12:00:14 | FromGitter | <endragor> @Araq bindSym errors when passing non-literal argument to it :( |
12:00:20 | derlafff | Araq: oh, I remembered; my table is cleaned-up |
12:00:39 | * | pie_ quit (Changing host) |
12:00:39 | * | pie_ joined #nim |
12:00:47 | * | derlafff quit (Quit: http://quassel-irc.org - ????????????? ??????. ?????.) |
12:00:53 | FromGitter | <endragor> in my case it’s not a hardcoded type, it’s a type that depends on macro arguments |
12:00:57 | * | derlafff joined #nim |
12:01:44 | FromGitter | <Araq> then the macro arguments need to be 'typed' |
12:02:00 | derlafff | Araq: https://github.com/derlaft/fdi/blob/knb/inc/expiretable.nim#L23 |
12:02:06 | derlafff | so should not be a leak there |
12:02:09 | FromGitter | <Araq> getType is for type inspection, it's not for type creation, you don't create types in macros |
12:02:18 | derlafff | and again, I don't add much stuff here. not megabytes of it |
12:02:31 | FromGitter | <Araq> instead you let the compiler create the types for you |
12:03:08 | cheatfate | derlafff, when you deleting key from Table, its not actually freed... |
12:03:27 | FromGitter | <endragor> can’t use typed in my case. I’m not intending to create types, I want to inspect type, but its name is not hardcoded - it comes as a part of stmt list passed to the macro. |
12:03:28 | FromGitter | <endragor> but the type itself already exists prior to the call to the macro |
12:04:11 | FromGitter | <Araq> well you cannot ask for an untyped's type |
12:04:25 | FromGitter | <Araq> can you gist your idea? |
12:04:36 | derlafff | cheatfate: shit |
12:05:02 | derlafff | cheatfate: are there normal hash tables in nim? |
12:05:56 | cheatfate | derlafff, you mean hash tables with fixed size? i dont think so |
12:06:19 | derlafff | cheatfate: I mean hash tables with ability to actually delete element |
12:07:13 | Araq | they do delete, but they do not shrink |
12:07:35 | Araq | but I don't see the problem, the empty slots are reused |
12:07:44 | Araq | eventually when you add again |
12:07:52 | derlafff | yep |
12:08:14 | cheatfate | Araq, but `Table` can grow up to infinity |
12:08:55 | Araq | well a table is not an LRU cache |
12:09:20 | Araq | for this you need a decent datastructure, would be a nice addition to the stdlib |
12:14:00 | FromGitter | <endragor> @Araq For example such macro: ⏎ ```processProcs: ⏎ proc someProc(a: int, b: SomeObj, c: string) = ⏎ # body here``` ⏎ I want `processProcs` to inspect types of arguments (and return values) of proc declarations and produce different results depending on the inspection. All types must already exist prior to the invocation, and if they don’t, the macro could handle such case, too. ⏎ I guess I could achieve what I want by |
12:14:00 | FromGitter | ... producing `when` statements, just was curious if it’s possible to get type info in a macro when having just a type identifier. [https://gitter.im/nim-lang/Nim?at=57fe2908d6251fd126b11c68] |
12:17:59 | FromGitter | <Araq> ah, theoretically your processProcs can use 'typed' for this block |
12:18:38 | FromGitter | <Araq> in practice the compiler doesn't do symbol table rewinding and you end up with duplicate identifier problems... hmm tough problem. |
12:18:46 | * | Arrrr quit (Quit: WeeChat 1.5) |
12:20:22 | FromGitter | <Araq> try to wrap the procs in a 'block' statement |
12:24:46 | FromGitter | <endragor> this is a simplified example, I can’t use typed in the real one :) (i.e. if the body is outputed as-is, it may not always compile, but proc signatures are always valid). Thanks for the answer though! |
12:25:17 | * | fredrik92 quit (Read error: Connection reset by peer) |
12:32:28 | * | aziz joined #nim |
12:32:56 | * | aziz quit (Client Quit) |
12:33:36 | FromGitter | <dom96> Hrm, Jester non-closing problem? |
12:33:48 | FromGitter | <dom96> Anybody got any code samples showing this? |
12:34:19 | * | brechtm quit (Remote host closed the connection) |
12:34:58 | * | brechtm joined #nim |
12:36:07 | * | pafmaf quit (Ping timeout: 250 seconds) |
12:36:17 | euantor | I'm sure you mentioned it last week dom96, but I could be wrong |
12:36:38 | euantor | Something about the HTTP server not always closing client connections |
12:40:50 | cheatfate | euantor, not closing connection dont give big leak... |
12:41:30 | euantor | Depends on how many connections are left open. if it's a long running program, there could be thousands of unclosed connections |
12:42:07 | arnetheduck | Araq, anything blocking https://github.com/nim-lang/Nim/pull/4015? |
12:44:37 | * | hohlerde quit (Ping timeout: 240 seconds) |
12:44:57 | * | ehmry quit (Ping timeout: 240 seconds) |
12:46:05 | cheatfate | euantor, which connections not closed? HTTP/1.1 or HTTP/1.0? |
12:46:11 | arnetheduck | wow, there's a 9mb gif image in the git repo showing how to.. scroll? |
12:46:17 | * | zielmicha[m] quit (Ping timeout: 240 seconds) |
12:46:23 | arnetheduck | web/assets/news/images/0.15.0/doc_sort.gif |
12:46:51 | euantor | cheatfate: I don't know. I've not used the HTTP server before. I just seem to remember dom mentioning it last week or the week before |
12:47:14 | euantor | I could be completely wrong and talking a load of rubbish ;) |
12:47:37 | * | TheManiac quit (Ping timeout: 240 seconds) |
12:49:05 | cheatfate | pain `gifs` incoming :) |
12:50:41 | * | hohlerde joined #nim |
12:50:46 | * | ehmry joined #nim |
12:52:21 | * | zielmicha[m] joined #nim |
12:53:56 | derlafff | hmm. I got another idea. mayble that's not leak: but oom errors that appear only when I create subrocess with a pipe |
12:54:00 | * | TheManiac joined #nim |
12:54:17 | Araq | arnetheduck: I don't understand the PR |
12:54:44 | Araq | derlafff: are you aware of unix's erm interesting process creation? |
12:55:12 | arnetheduck | Araq, initallocator is not called, though it should be, in some combinations, because it's not forward declared |
12:55:28 | Araq | that's not an explanation. |
12:55:37 | Araq | what combinations should trigger it? |
12:55:59 | * | planhths quit (Quit: Konversation terminated!) |
12:56:36 | derlafff | Araq: I am not really sure how pipes work and why do they require much more memory |
12:56:41 | arnetheduck | well, the same combinations that later declare it.. specifically, anything that uses the block allocator (nogc for example, without useMalloc) |
12:56:44 | arnetheduck | *define |
12:57:03 | derlafff | for example, opkg fails on starting piped gzip, just like nim |
12:57:11 | derlafff | when it's about 2Mb of ram still around |
12:57:13 | FromGitter | <dom96> arnetheduck: it's for the news |
12:57:38 | FromGitter | <dom96> another reason why we should split the website out of the Nim repo |
12:59:18 | derlafff | >When the receiving program is ready to read data, then next program in the pipeline reads from the buffer. In Linux, the size of the buffer is 65536 bytes (64KB) |
13:00:03 | arnetheduck | the code goes something like: 1) forward declare (in system.nim), 2) if declared, call (in system.nim) 3) define (in system/alloc.nim) |
13:00:05 | arnetheduck | of course, system/alloc.nim only gets included under some hairy whens |
13:00:07 | arnetheduck | and they don't match the forward declaration whens |
13:00:48 | derlafff | much more free mem than 64KB |
13:00:59 | arnetheduck | so, for gc:none (afair, maybe some others too), initallocator is defined (alloc is included), but initallocator is not called, so it's broken |
13:01:39 | Araq | gc:none should have a test |
13:02:00 | Araq | add a test please that currently breaks to your PR |
13:05:01 | cheatfate | dom96, even for the news 8mb gif which shows how to search and sort its too big |
13:05:34 | FromGitter | <dom96> I disagree |
13:06:05 | FromGitter | <dom96> It's a high quality gif |
13:06:43 | arnetheduck | Araq, ok |
13:07:58 | * | Demon_Fox joined #nim |
13:08:43 | cheatfate | dom96, ask people do they want to download your gifs while reading news line? |
13:09:31 | FromGitter | <dom96> Judging by the amount of people that read the article I would say they do. |
13:10:57 | * | M-Quora quit (Ping timeout: 240 seconds) |
13:11:24 | def- | dom96: why is that a gif btw and not a video? ime x264 is much smaller at better quality |
13:11:51 | FromGitter | <endragor> how does the number of viewers say whether they wanted to downloaded large gifs? all we know is just that they wanted to read the release notes |
13:13:04 | FromGitter | <dom96> def-: because I did not have the time to worry about such things. |
13:13:28 | FromGitter | <dom96> I simply threw together a gif at the last minute and put it in the article. |
13:13:38 | FromGitter | <dom96> Nobody complained about poor load times or any other issues. |
13:14:57 | def- | ah, it doesn't actually pull 15 MB of gifs, they're gzipped by the web server |
13:15:20 | def- | makes them just 2.5 MB, that's a bit more reasonable |
13:16:57 | cheatfate | dom96, only 1 percent of people will complain... 99% of people just leave your page, because they do not want to waste time on downloading and/or complaining... |
13:17:17 | * | TheManiac quit (Ping timeout: 240 seconds) |
13:17:37 | * | zielmicha[m] quit (Ping timeout: 240 seconds) |
13:17:49 | * | M-Quora joined #nim |
13:17:54 | federico3 | yep |
13:17:57 | * | FromGitter quit (Ping timeout: 240 seconds) |
13:18:17 | * | ehmry quit (Ping timeout: 240 seconds) |
13:22:06 | * | krux02 joined #nim |
13:23:02 | * | sp33der89 joined #nim |
13:23:33 | * | ARCADIVS joined #nim |
13:23:45 | * | TheManiac joined #nim |
13:24:33 | * | zielmicha[m] joined #nim |
13:24:38 | * | ehmry joined #nim |
13:28:37 | krux02 | how do I zip two iterators? |
13:29:50 | krux02 | var it0 = items(myseq) |
13:30:07 | krux02 | Error: attempting to call undeclared routine: 'items' |
13:30:16 | krux02 | I don't understand |
13:32:19 | * | BratwurstMitSenf joined #nim |
13:32:31 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
13:33:25 | flyx | krux02: you can only assign closure iterators to variables. |
13:33:39 | flyx | and items() on seq is an inline iterator |
13:33:43 | flyx | (which is the default) |
13:36:11 | krux02 | flyx, do you mean it's impossible to explicitly increment an inline iterator |
13:36:35 | flyx | krux02: yes. because it is inlined. |
13:37:07 | krux02 | flyx: just because it is inlined it doesn't mean it can't be incremented explicitly |
13:37:34 | krux02 | it would be just a section of code that needs to be executed |
13:39:32 | * | sp33der89 left #nim ("Might have choked on too many memes") |
13:39:47 | arnetheduck | Araq, that was easy ;) - gctest.nim segfaults with a null pointer read / sigsegv |
13:39:52 | arnetheduck | pushed |
13:39:54 | flyx | krux02: yes it does. if you could assign an inline iterator to a variable, it couldn't be inlined because the variable is a runtime construct. |
13:39:57 | krux02 | inlined iterators can't be passed around because they are inlined, but even that could be solved with a closure to the inlined iterator, but that's also not what I am trying to do |
13:40:31 | Araq | krux02: it would require a completely different codegen approach |
13:41:48 | krux02 | Araq: I am trying to implement an iterator zipIter, that takes two arbitrary arguments, and yields a pair |
13:43:01 | krux02 | I think I have to work with openarry now |
13:43:25 | krux02 | I thought I could combine two iterators, but aparently I can't |
13:44:23 | flyx | you can with some template magic |
13:45:52 | * | bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
13:45:55 | krux02 | flyx: why templates? |
13:46:05 | krux02 | I don't want to create closure iterators |
13:46:25 | krux02 | the reason I use iterators is because they are the least overhead (I guess) |
13:46:33 | flyx | well you will need to for creating a pairs() operator. |
13:46:43 | flyx | *iterator |
13:46:44 | * | Sentreen quit (Quit: WeeChat 1.4) |
13:47:09 | krux02 | no this is just meh |
13:48:48 | krux02 | Araq: there is another thing that I wish would work: |
13:48:50 | krux02 | proc apply[Proc,T](f: Proc, arg: T): type(f(arg)) = |
13:48:50 | krux02 | f(arg) |
13:48:56 | * | Sentreen joined #nim |
13:49:32 | krux02 | but the compiler complains that it doesn't know f |
13:49:54 | Araq | use 'auto' as the return type |
13:50:29 | krux02 | Araq: yes I know that workaround, but sometimes I really like to use the implicit result value |
13:50:52 | Araq | result is orthogonal to this |
13:51:01 | Araq | it should be available |
13:51:10 | Araq | am I missing something? |
13:51:59 | krux02 | yes, sorry. This is just minimal example |
13:52:44 | krux02 | My result type is often some sort of array or object where I only access the members |
13:54:37 | * | ehmry quit (Ping timeout: 240 seconds) |
13:54:46 | krux02 | it's not really a big deal at all, I know how to work around it, but sometimes I think because it is so simple to work around it, it might be comparable simple to actually support the given example, and the compiler itself does the workaround. |
13:55:26 | krux02 | Let's say it would satisfy me a lot, to have the example supported |
13:56:17 | krux02 | It allows a more consistent code base |
14:00:26 | * | ehmry joined #nim |
14:20:43 | * | HakanD joined #nim |
14:22:57 | * | ehmry quit (Ping timeout: 240 seconds) |
14:26:32 | * | brson joined #nim |
14:29:01 | * | ehmry joined #nim |
14:30:17 | * | hohlerde quit (Ping timeout: 240 seconds) |
14:31:18 | * | gokr quit (Ping timeout: 265 seconds) |
14:36:38 | * | hohlerde joined #nim |
14:46:48 | arnetheduck | krux02, does it really make sense to keep duplicating code in return & body? this was a major pain in c++11 (later fixed in 14) |
14:48:38 | * | pie_ quit (Read error: Connection reset by peer) |
14:53:54 | * | chemist69 quit (Ping timeout: 250 seconds) |
14:54:26 | * | chemist69 joined #nim |
14:56:55 | * | cheatfate quit (Quit: Leaving) |
14:58:34 | * | cheatfate joined #nim |
15:01:37 | * | CcxCZ quit (Quit: switching to CcxWrk) |
15:04:17 | * | TheManiac quit (Ping timeout: 240 seconds) |
15:10:44 | * | brechtm quit (Remote host closed the connection) |
15:10:53 | * | TheManiac joined #nim |
15:15:26 | HakanD | is there a documentation for stack gc/memory regions? |
15:21:34 | krux02 | arnetheduck: ok I agree that my example makes it look like it would repeat code, but I would like to have this feature, so I can use the implicit result value better. The example doesn't show it though |
15:22:15 | krux02 | I use it for matrix and vector types |
15:23:30 | * | kulelu88 joined #nim |
15:24:10 | krux02 | Also I like code as documentation |
15:24:26 | krux02 | I like when the declaration of a method already shows the result type |
15:25:27 | Araq | HakanD: not yet, but there is also not much to say about it, you use --gc:stack and withRegion(myregion): ... code here ... |
15:25:37 | Araq | where var myregion: MemRegion |
15:25:58 | * | hohlerde quit (Read error: Connection reset by peer) |
15:25:58 | * | TheManiac quit (Read error: Connection reset by peer) |
15:25:59 | * | zielmicha[m] quit (Write error: Connection reset by peer) |
15:26:00 | * | ehmry quit (Write error: Connection reset by peer) |
15:26:00 | * | M-Quora quit (Write error: Connection reset by peer) |
15:26:47 | HakanD | Araq: ty, I wasn't sure if it's in a usable state. |
15:27:18 | Araq | it's used in production fwiw ... |
15:29:30 | * | brechtm joined #nim |
15:29:40 | * | arnetheduck quit (Remote host closed the connection) |
15:31:02 | * | Matthias247 quit (Read error: Connection reset by peer) |
15:32:40 | * | Jesin quit (Quit: Leaving) |
15:33:00 | flyx | Araq: does the memory get cleaned after the `withRegion` block or after `region` goes out of scope? |
15:34:03 | * | Jesin joined #nim |
15:34:37 | Araq | after the withRegion block of course |
15:35:10 | Araq | well no. |
15:35:42 | Araq | it's actually not freed at all, unless you call deallocAll(region) |
15:36:31 | baabelfish | is it a feature that sizeof is not working for user made types at compile time? |
15:37:24 | * | zielmicha[m] joined #nim |
15:37:34 | Araq | yes, we don't want to reimplement the C compiler's sizeof algorithm and get it wrong |
15:40:10 | Araq | baabelfish: I've yet to need sizeof() at compile-time for complex beasts and for simple stuff like tuple[a, b: int] it's easy enough to write it as sizeof(int)*2 |
15:41:11 | baabelfish | ...and then someone adds c to that tuple |
15:43:03 | Araq | assert(sizeof(tup) == myComputedSize) |
15:43:22 | * | FromGitter joined #nim |
15:43:25 | Araq | ... and then someone gets an immediate error. |
15:45:41 | * | ehmry joined #nim |
15:45:41 | * | M-Quora joined #nim |
15:45:44 | * | hohlerde joined #nim |
15:46:36 | * | TheManiac joined #nim |
15:47:52 | baabelfish | :D |
15:47:55 | baabelfish | indeed |
15:56:50 | * | Andris_zbx quit (Remote host closed the connection) |
15:57:54 | * | nsf quit (Quit: WeeChat 1.5) |
15:58:24 | * | yglukhov_ joined #nim |
16:01:26 | * | cheatfate quit (Quit: Leaving) |
16:01:33 | * | yglukhov quit (Ping timeout: 260 seconds) |
16:01:50 | * | yglukhov_ quit (Read error: Connection reset by peer) |
16:02:57 | * | NhanH quit (Ping timeout: 240 seconds) |
16:03:13 | * | yglukhov joined #nim |
16:04:07 | * | NhanH joined #nim |
16:06:02 | * | planhths joined #nim |
16:06:37 | * | filcuc quit (Quit: KVIrc 4.9.2 Aria http://www.kvirc.net/) |
16:07:08 | * | cheatfate joined #nim |
16:07:58 | * | yglukhov quit (Ping timeout: 265 seconds) |
16:09:42 | baabelfish | hmmh, cast[...](x.addr) was not what I wanted indeed... :D |
16:10:11 | baabelfish | C++ is hitting me with a baseball bat |
16:21:23 | * | pregressive joined #nim |
16:25:56 | * | brson quit (Ping timeout: 260 seconds) |
16:28:46 | * | Trustable joined #nim |
16:29:42 | * | brson joined #nim |
16:48:08 | FromGitter | <philip-wernersbach> Can someone describe to me what --gc:stack is? |
16:49:28 | HakanD | http://forum.nim-lang.org/t/2489 https://github.com/nim-lang/Nim/blob/devel/lib/system/gc_stack.nim |
16:52:19 | FromGitter | <philip-wernersbach> HakanD: Thanks. Is that stable? |
16:52:51 | HakanD | 18:27 (HakanD) Araq: ty, I wasn't sure if it's in a usable state. |
16:52:51 | HakanD | 18:28 Araq: it's used in production fwiw ... |
16:54:22 | * | yglukhov joined #nim |
16:55:26 | FromGitter | <philip-wernersbach> HakanD: Thanks |
17:11:53 | HakanD | 18:27 (HakanD) Araq: ty, I wasn't sure if it's in a usable state. |
17:11:53 | HakanD | 18:28 Araq: it's used in production fwiw ... |
17:11:58 | HakanD | sorry for repost |
17:12:03 | HakanD | Araq: couldn't find a way to check a specific region's occupied/free/total mem size, other than the active one. getOccupiedMem only works for the active region, |
17:13:42 | Araq | HakanD: patches welcome, gc_stack.nim is the simplest "GC" out there |
17:14:02 | HakanD | will do, thanks |
17:14:22 | HakanD | wanted to make sure i wasnt missing anything |
17:14:45 | Araq | if you feel adventurous, you can also patch the compiler / runtime so that cross refs produce a runtime error |
17:15:14 | Araq | refs from outer region into inner region are not allowed, vice versa is allowed |
17:17:06 | HakanD | not that versed with the compiler yet (: |
17:17:25 | Araq | I will teach you. |
17:19:32 | * | yglukhov quit (Remote host closed the connection) |
17:21:04 | * | yglukhov joined #nim |
17:23:09 | HakanD | Araq: sure, I can take a stab at it |
17:24:02 | Araq | hmm we have BratwurstMitSenf in #nim |
17:24:09 | Araq | delicious. |
17:24:37 | * | yglukhov quit (Remote host closed the connection) |
17:24:37 | * | zidane_g quit (Ping timeout: 260 seconds) |
17:27:29 | * | FromGitter quit (Remote host closed the connection) |
17:27:38 | * | FromGitter joined #nim |
17:28:12 | * | brechtm_ joined #nim |
17:32:16 | * | brechtm quit (Ping timeout: 260 seconds) |
17:32:30 | * | brechtm_ quit (Ping timeout: 250 seconds) |
17:38:04 | * | zidane_g joined #nim |
17:42:13 | * | zidane_g quit (Read error: Connection reset by peer) |
17:42:44 | * | zidane_g joined #nim |
17:51:12 | * | Matthias247 joined #nim |
17:54:28 | cheatfate | Araq, you know on windows you can't start more then one process with osproc because you are using single name while creating named pipes? |
17:55:05 | Araq | cheatfate: usually osproc doesn't use named pipes though iirc |
17:55:14 | Araq | but no, I wasn't aware. |
17:55:25 | Araq | PRs welcome |
17:55:54 | * | brson quit (Quit: leaving) |
17:57:49 | cheatfate | nope its yours Quasimodo and i dont want to touch him :) |
18:28:50 | * | irrequietus joined #nim |
18:37:05 | * | yglukhov joined #nim |
18:44:41 | HakanD | Araq: in withRegion (https://github.com/nim-lang/Nim/blob/devel/lib/system/gc_stack.nim#L76), the region we pass to the template is copied, thus remains unchanged. is this intended? |
18:45:22 | * | yglukhov quit (Remote host closed the connection) |
18:45:38 | Araq | hmm I thought it doesn't hurt and will be a bit faster |
18:45:47 | Araq | you're right though that it could be wrong :-) |
18:46:21 | HakanD | I was assuming regions are long lived things that could be used in various places |
18:47:55 | * | HakanD_m joined #nim |
18:48:03 | * | HakanD quit (Quit: Be back later ...) |
18:48:12 | * | yglukhov joined #nim |
18:48:37 | * | HakanD joined #nim |
18:52:28 | * | kunev joined #nim |
18:53:16 | * | HakanD quit (Ping timeout: 265 seconds) |
18:55:01 | * | pregressive quit (Remote host closed the connection) |
18:55:15 | * | pregressive joined #nim |
18:56:01 | * | HakanD_m quit (Quit: HakanD_m) |
19:04:38 | krux02 | is there a way to pass a NimNode as an openarray[NimNode], so that the elements of the array are the children of the node? |
19:05:56 | Araq | sure why not |
19:06:21 | * | enthus1ast joined #nim |
19:07:19 | krux02 | does it already work? |
19:08:06 | Araq | create as seq[NimNode] and pass it to the openarray |
19:17:05 | * | Ven_ joined #nim |
19:20:31 | * | HakanD joined #nim |
19:34:36 | * | aFrigginElf joined #nim |
19:40:14 | krux02 | Araq: it's created with quote |
19:50:18 | * | aFrigginElf quit (Ping timeout: 250 seconds) |
19:51:02 | * | brechtm joined #nim |
19:51:36 | * | irrequietus quit (Read error: Connection reset by peer) |
19:52:12 | * | irrequietus joined #nim |
19:53:59 | enthus1ast | in async: is it better to store a ref of a tuple in a table or a copy? |
19:54:14 | enthus1ast | i want to store the tuple in two different tables but when i change the value in one the other should change too |
19:57:55 | dom96 | a ref of a tuple shouldn't be a thing |
19:58:12 | * | HakanD quit (Quit: Be back later ...) |
19:58:39 | dom96 | create a ref object |
19:58:47 | * | HakanD joined #nim |
20:00:21 | * | nsf joined #nim |
20:00:45 | enthus1ast | i'll try that dom96 ty |
20:01:16 | * | HakanD quit (Read error: Connection reset by peer) |
20:01:26 | * | HakanD joined #nim |
20:05:54 | * | gangstacat quit (Ping timeout: 250 seconds) |
20:07:49 | * | gangstacat joined #nim |
20:08:56 | * | yglukhov quit (Remote host closed the connection) |
20:13:09 | * | yglukhov joined #nim |
20:13:32 | flyx | this code should echo "true \\ false", but echoes "false \\ false". why? https://gist.github.com/flyx/098ba75a2cf75998869a647f8bc6fe82 |
20:14:04 | flyx | probably I am hitting one of „global vars at compile time are buggy“ or „returning var is not always safe“… or perhaps something else |
20:21:04 | * | bjz joined #nim |
20:22:12 | Araq | flyx: oh my, can't you write code that doesn't rape my compiler instead? |
20:23:10 | flyx | Araq: heh. it's my job to rape compilers, you know |
20:23:28 | flyx | anyway, placing the var outside the proc works |
20:23:53 | flyx | I can genSym it so I won't have problems with visibility |
20:34:04 | * | Ven_ quit (Ping timeout: 250 seconds) |
20:35:55 | * | Ven_ joined #nim |
20:44:42 | * | gokr joined #nim |
20:48:34 | __UNIcodeX__ | what's bad about it? New to nim. legitmate question. |
20:49:17 | * | Ven_ quit (Ping timeout: 240 seconds) |
20:50:08 | * | jh32 quit (Ping timeout: 260 seconds) |
20:51:33 | * | bjz quit (Ping timeout: 268 seconds) |
20:54:01 | * | bjz joined #nim |
20:54:04 | * | Ven_ joined #nim |
20:55:06 | * | Ven_ quit (Client Quit) |
20:55:36 | Araq | __UNIcodeX__: 'var T' as a return type is a last resort, not something you spread all over your code just because C++ thinks it's a good idea |
20:56:10 | Araq | and it's also not really supported by Nim's VM which is used to run this code at compile-time |
20:56:24 | * | fredrik92 joined #nim |
20:57:00 | __UNIcodeX__ | this part? proc transientBitvector(t: typedesc[Person]):??? |
20:57:06 | Araq | yes |
20:57:24 | __UNIcodeX__ | k. cool. good to know. |
20:57:30 | cheatfate | Araq, if forward declared procedure marked as `*` then all procedures in same module with same name has `*`? |
20:57:37 | __UNIcodeX__ | I don't come from C, so I probably wouldn't have even thought about it. |
20:58:04 | __UNIcodeX__ | one of the things that put me off on Pascal is all the TSomeMethodName names... is that related in any way? |
20:58:09 | Araq | cheatfate: no, the proc signatures is checked to resolve the forward ... |
20:58:34 | Araq | __UNIcodeX__: it's deprecated but C# also uses it for generic parameters |
21:00:58 | cheatfate | Araq, interesting in osproc.nim we have forward declaration of `startProcess()` marked with `*`, but os specific declarations not marked with `*` |
21:02:08 | cheatfate | so they looks like private module procedures... but they are not private |
21:03:02 | Araq | if the forward decl has a * it's exported |
21:03:16 | Araq | the forward decl only belongs to the corresponding decl |
21:03:26 | Araq | not to some other random proc with the same name |
21:04:05 | Araq | dunno why it's even a question, everything else makes no sense |
21:06:38 | cheatfate | Araq, maybe i'm asking wrong, or my question is too stupid or maybe you are angry on me, but i thought both declarations must be equal (forward one and real one) |
21:07:26 | * | yglukhov quit (Remote host closed the connection) |
21:07:35 | Araq | cheatfate: well ask something specific then |
21:08:36 | cheatfate | Araq, i have asked specific question but got very angry answer |
21:09:03 | Araq | sorry. |
21:09:25 | * | MyMind joined #nim |
21:09:44 | cheatfate | Araq, you don't need to sorry, so never mind |
21:09:57 | Araq | well I don't understand your "question". |
21:10:09 | Araq | osproc has a startProcess proc |
21:10:11 | * | kunev_ joined #nim |
21:10:41 | Araq | http://nim-lang.org/docs/osproc.html#startProcess,string,string,openArray%5Bstring%5D,StringTableRef,set%5BProcessOption%5D |
21:10:48 | Araq | that is the one that is exported |
21:11:05 | Araq | the others are not, otherwise the docgen would show them |
21:11:38 | * | irrequietus_ joined #nim |
21:12:06 | * | cyraxjoe joined #nim |
21:12:56 | * | chemist69 quit (Disconnected by services) |
21:12:59 | cheatfate | https://github.com/nim-lang/Nim/blob/devel/lib/pure/osproc.nim#L143 not equal to https://github.com/nim-lang/Nim/blob/devel/lib/pure/osproc.nim#L143 |
21:13:01 | * | chemist69_ joined #nim |
21:13:05 | cheatfate | this why i have asked |
21:13:24 | cheatfate | the difference in `*` |
21:13:49 | cheatfate | so looks forward declaration override module visibility for real one declarations |
21:14:11 | Araq | you gave me the same line number twice |
21:14:16 | cheatfate | sorry |
21:14:20 | cheatfate | https://github.com/nim-lang/Nim/blob/devel/lib/pure/osproc.nim#L491 |
21:14:24 | cheatfate | second line |
21:14:51 | * | zidane_g_ joined #nim |
21:14:56 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
21:15:17 | cheatfate | and now i think this module was made before `defined(nimdoc)` was introduced so it was some kind of workaround for nimdoc |
21:15:35 | * | der joined #nim |
21:15:55 | Araq | no, it is this way because of nimdoc |
21:16:19 | Araq | we have 2 impls for startprocess but want to share the ## documentation. |
21:16:28 | cheatfate | i have used `when defined(nimdoc)` |
21:16:46 | cheatfate | to make forward declarations for documentation |
21:17:11 | Araq | interesting |
21:17:58 | Araq | today I would likely move the whens inside the proc body to solve the problem |
21:18:28 | * | UNIcodeX joined #nim |
21:18:29 | cheatfate | https://github.com/nim-lang/Nim/blob/devel/lib/pure/ioselectors.nim#L40 |
21:19:06 | * | daekano_ joined #nim |
21:19:17 | * | irrequietus quit (*.net *.split) |
21:19:17 | * | kunev quit (*.net *.split) |
21:19:17 | * | zidane_g quit (*.net *.split) |
21:19:17 | * | FromGitter quit (*.net *.split) |
21:19:18 | * | TheManiac quit (*.net *.split) |
21:19:18 | * | hohlerde quit (*.net *.split) |
21:19:18 | * | ehmry quit (*.net *.split) |
21:19:18 | * | M-Quora quit (*.net *.split) |
21:19:18 | * | zielmicha[m] quit (*.net *.split) |
21:19:18 | * | derlafff quit (*.net *.split) |
21:19:18 | * | daekano quit (*.net *.split) |
21:19:18 | * | Pisuke quit (*.net *.split) |
21:19:18 | * | lyro quit (*.net *.split) |
21:19:18 | * | nim-buildbot quit (*.net *.split) |
21:19:18 | * | baabelfish quit (*.net *.split) |
21:19:30 | * | daekano_ is now known as daekano |
21:19:35 | * | lyro joined #nim |
21:19:37 | * | FromGitter joined #nim |
21:19:39 | * | TheManiac joined #nim |
21:19:45 | * | hohlerde joined #nim |
21:20:31 | * | Demon_Fox quit (Ping timeout: 265 seconds) |
21:20:31 | * | CcxWrk quit (Ping timeout: 265 seconds) |
21:21:48 | * | __UNIcodeX__ quit (Ping timeout: 265 seconds) |
21:22:09 | * | zidane_g_ quit (Ping timeout: 260 seconds) |
21:22:25 | * | zielmicha[m] joined #nim |
21:23:07 | * | Demon_Fox joined #nim |
21:23:16 | * | corecode quit (*.net *.split) |
21:23:16 | * | Arcanum_za quit (*.net *.split) |
21:23:16 | * | huonw quit (*.net *.split) |
21:23:25 | * | CcxWrk joined #nim |
21:24:07 | * | baabelfish joined #nim |
21:24:48 | * | M-Quora joined #nim |
21:24:51 | * | ehmry joined #nim |
21:25:29 | * | zidane_g_ joined #nim |
21:28:18 | * | corecode joined #nim |
21:28:19 | * | Arcanum_za joined #nim |
21:28:19 | * | huonw joined #nim |
21:31:07 | * | wsq6kl0jqe joined #nim |
21:35:11 | * | wsq6kl0jqe quit (Read error: Connection reset by peer) |
21:36:59 | * | irrequietus_ quit () |
21:49:09 | * | planhths quit (Quit: Konversation terminated!) |
21:49:46 | * | brechtm quit (Remote host closed the connection) |
21:53:53 | * | gokr quit (Ping timeout: 260 seconds) |
21:55:37 | * | krux02 quit (Remote host closed the connection) |
22:07:22 | * | brson joined #nim |
22:07:57 | * | yglukhov joined #nim |
22:13:12 | * | yglukhov quit (Ping timeout: 258 seconds) |
22:18:41 | * | elrood quit (Remote host closed the connection) |
22:22:24 | * | HakanD quit (Ping timeout: 250 seconds) |
22:22:59 | * | HakanD joined #nim |
22:24:46 | * | krux02 joined #nim |
22:36:25 | * | ent1 joined #nim |
22:37:22 | * | nsf quit (Quit: WeeChat 1.5) |
22:47:56 | * | planhths joined #nim |
22:51:07 | * | planhths quit (Client Quit) |
22:53:36 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:03:10 | * | HakanD quit (Quit: Be back later ...) |
23:03:43 | * | HakanD joined #nim |
23:03:44 | * | HakanD_m joined #nim |
23:06:20 | * | HakanD_m quit (Client Quit) |
23:07:14 | * | Trustable quit (Remote host closed the connection) |
23:47:13 | * | HakanD quit (Quit: Be back later ...) |
23:47:23 | * | ftsf_ joined #nim |
23:47:47 | * | HakanD joined #nim |
23:49:46 | * | MyMind quit (Ping timeout: 268 seconds) |
23:52:32 | * | HakanD quit (Ping timeout: 260 seconds) |
23:53:24 | * | desophos joined #nim |
23:59:53 | * | CcxWrk quit (Ping timeout: 260 seconds) |