00:10:20 | * | Matthias247 quit (Read error: Connection reset by peer) |
00:12:36 | PMunch | Uhm, I have a super weird issue. Wanted to cache some hashes(ints) and initially I had them as seq[int] which worked fine. To speed things up I tried to change to an IntSet but now the program adds about 34470 elements before exiting without any errors.. |
00:12:53 | PMunch | All those elements are added to the IntSet as hashes |
00:13:54 | PMunch | All hashes for objects from 0 to 34474 is added |
00:14:01 | PMunch | Then suddenly it stops |
00:15:06 | def- | PMunch: source code on gist/pastebin? |
00:15:07 | * | francisl joined #nim |
00:15:17 | PMunch | Well, the source for the entire thing is pretty long.. |
00:15:28 | PMunch | Hold on, I'll see if I can create a minimal working example |
00:19:03 | PMunch | http://pastebin.com/Jy5wiNJr |
00:19:04 | PMunch | There |
00:19:22 | PMunch | Done is never printed and the last integer to print is 35112 |
00:20:28 | * | Jesin joined #nim |
00:20:32 | * | Trustable quit (Remote host closed the connection) |
00:20:41 | PMunch | If line 8 is commented out it works |
00:21:06 | PMunch | Or, it runs, not very useful.. |
00:21:11 | PMunch | def-^ |
00:23:10 | def- | it doesn't just "suddenly stop", it segfaults |
00:23:17 | PMunch | Not for me |
00:23:56 | PMunch | Just exists clean |
00:24:40 | def- | segfaults in the GC, --gc:boehm as a workaround works |
00:25:17 | PMunch | When I run the compiled program it segfaults. When I run it with nim c -r intsetbug.nim it doesn't |
00:25:21 | def- | v2 works as well, refc fails. |
00:25:45 | def- | it still segfaults, but nim doesn't print it, your shell does |
00:26:10 | def- | so this should be reported on github as an issue, do you want to do it or should I? |
00:26:26 | PMunch | You can do it, I'm still not entirely sure what is wrong |
00:26:31 | * | jaco60 quit (Ping timeout: 268 seconds) |
00:28:16 | PMunch | Hmm v2 appears to be printing debug information |
00:28:33 | PMunch | I'm getting a whole bunch of in loop and loop end when I run with it |
00:29:26 | def- | yeah, v2 is not ready yet, but it's supposed to replace the default gc and works in this example |
00:29:44 | PMunch | That's a good thing I guess, for future Nim :) |
00:30:22 | PMunch | markAndSweep also appears to work |
00:31:57 | PMunch | Is there an explanation anywhere for the different GCs? |
00:33:39 | def- | There's some genral info here, but not about the different ones: http://nim-lang.org/docs/gc.html |
00:34:05 | def- | there aren't that many anyway: refc|v2|markAndSweep|boehm|go|none |
00:34:14 | PMunch | But what are the differences? |
00:34:17 | def- | refc is the default and what's described in the gc.html page |
00:34:34 | PMunch | Aka how should I decide which one to use |
00:34:52 | def- | v2 is supposed to have better realtime guarantees and should replace refc |
00:37:07 | def- | go uses go's GC, probably experimental |
00:37:21 | def- | boehm uses the well known Boehm GC, an external library |
00:37:49 | def- | Usually you should just go with the default GC, but you can benchmark and see if others pay off if you really need performance |
00:38:07 | def- | boehm for example has better throughput, but higher latencies |
00:38:26 | nsf | I must add, Go GC is not gc (go compiler) GC, but gccgo GC |
00:38:31 | PMunch | And in my case it works.. |
00:38:33 | nsf | they are different |
00:38:37 | def- | nsf: ah, haven't used that, thanks |
00:38:42 | PMunch | boehm that is |
00:39:58 | PMunch | And markAndSweep? |
00:40:32 | def- | PMunch: well known GC algorithm |
00:41:29 | * | yglukhov quit (Remote host closed the connection) |
00:41:52 | def- | I think if you have few GC objects markAndSweep can perform better, but it's bad for large amounts of data as it has to scan everything |
00:42:30 | nsf | also last time I looked at ni |
00:42:32 | nsf | nim* |
00:42:44 | nsf | it doesn't use precise scan capabilities of boehm |
00:42:50 | PMunch | Hmm, okay. I think I'll just go for boehm |
00:43:02 | fredrik92 | A general overview of how GC works in general and what challenges you face when doing can actually be on MSDN: https://msdn.microsoft.com/en-us/library/0xy59wtx(v=vs.110).aspx and https://msdn.microsoft.com/en-us/library/ee851764(v=vs.110).aspx |
00:43:05 | nsf | of course precise scanning doesn't actually do much when it comes to perf |
00:43:12 | nsf | but it's nice to have imho |
00:43:14 | PMunch | def-, did you create a bug report? |
00:45:22 | * | desophos quit (Remote host closed the connection) |
00:50:02 | def- | PMunch: yep: https://github.com/nim-lang/Nim/issues/3969 |
00:50:58 | PMunch | Thanks, I like to keep subscribed to the issues I'm involved with :) |
00:53:18 | * | brson quit (Ping timeout: 248 seconds) |
00:59:52 | * | Demon_Fox joined #nim |
01:00:51 | * | gokr quit (Ping timeout: 248 seconds) |
01:03:58 | * | [CBR]Unspoken quit (Ping timeout: 248 seconds) |
01:08:15 | * | desophos joined #nim |
01:18:59 | * | [CBR]Unspoken joined #nim |
01:32:45 | * | vonh quit (Ping timeout: 276 seconds) |
01:35:44 | * | francisl quit (Quit: francisl) |
01:39:52 | * | francisl joined #nim |
01:41:59 | * | yglukhov joined #nim |
01:46:13 | * | yglukhov quit (Ping timeout: 244 seconds) |
01:50:23 | * | PMunch quit (Ping timeout: 244 seconds) |
02:01:43 | * | vonh joined #nim |
02:19:15 | * | exebook joined #nim |
02:21:52 | * | kulelu88 joined #nim |
02:38:53 | * | vendethiel joined #nim |
02:43:24 | * | yglukhov joined #nim |
02:48:55 | * | yglukhov quit (Ping timeout: 250 seconds) |
02:56:07 | * | Kingsquee joined #nim |
02:57:13 | * | desophos_ joined #nim |
03:00:02 | * | kulelu88 quit (Quit: Leaving) |
03:01:43 | * | desophos_ quit (Ping timeout: 244 seconds) |
03:02:47 | * | vendethiel quit (Ping timeout: 250 seconds) |
03:07:22 | * | brson joined #nim |
03:13:45 | * | endragor joined #nim |
03:33:43 | * | OnwardEuler joined #nim |
03:39:07 | OnwardEuler | Hey guys, does nim have something similar to emplace_back on a vector? |
03:40:04 | * | brson quit (Quit: leaving) |
03:45:16 | def- | OnwardEuler: add? |
03:49:27 | * | Jesin quit (Quit: Leaving) |
03:50:28 | OnwardEuler | add works more like push_back, where you pass an instance of the object and it's added to the sequence |
03:51:05 | def- | but what's the problem with that in Nim? |
03:51:06 | OnwardEuler | emplace back lets you provide a reference to the parameters of the constructor |
03:51:31 | OnwardEuler | and you avoid having to make a copy, instantiate the object and then pass it on |
03:51:51 | def- | when you have primitive types or regular objects, copying is cheap. when you have ref objects, only the reference is copied |
03:52:26 | OnwardEuler | it's a small optimization in c++, I just have some tight loops in my engine that benefit from the reduced copying |
03:54:52 | def- | you could simply resize the seq and set the fields of the last element |
03:59:10 | OnwardEuler | that's the next best thing =) |
03:59:37 | OnwardEuler | streamline it with a template |
03:59:58 | def- | sure, if it's actually faster. I'd benchmark first |
04:03:26 | OnwardEuler | yeah... I'll report back, it helped in c++ |
04:04:07 | OnwardEuler | won't hurt to try XD |
04:04:42 | * | mnemonikk quit (Ping timeout: 246 seconds) |
04:05:02 | * | heinrich5991 quit (Ping timeout: 260 seconds) |
04:06:48 | * | mnemonikk joined #nim |
04:06:48 | * | mnemonikk quit (Changing host) |
04:06:48 | * | mnemonikk joined #nim |
04:12:54 | * | heinrich5991 joined #nim |
04:28:52 | * | fredrik92 quit (Ping timeout: 268 seconds) |
04:29:57 | * | francisl quit (Quit: francisl) |
04:37:05 | * | OnwardEuler quit (Quit: Leaving) |
04:37:26 | endragor | http://irclogs.nim-lang.org/ - "An error has occured in one of your routes." :( |
04:45:46 | * | yglukhov joined #nim |
04:50:11 | * | yglukhov quit (Ping timeout: 244 seconds) |
04:59:36 | * | keyle joined #nim |
05:15:57 | * | keyle quit (Quit: http://twitter.com/keyle/) |
06:02:52 | * | exebook quit (Ping timeout: 264 seconds) |
06:11:00 | * | krux02 quit (Quit: Verlassend) |
06:15:22 | * | exebook joined #nim |
06:17:39 | * | yglukhov joined #nim |
06:18:44 | * | Varriount_ joined #nim |
06:18:44 | * | Varriount quit (Disconnected by services) |
06:19:47 | * | gunn joined #nim |
06:22:27 | * | endragor_ joined #nim |
06:26:06 | * | endragor quit (Ping timeout: 248 seconds) |
06:37:27 | * | bjz joined #nim |
06:42:43 | * | bjz quit (Ping timeout: 248 seconds) |
06:44:55 | * | yglukhov quit (Remote host closed the connection) |
06:45:51 | * | endragor_ quit (Remote host closed the connection) |
06:46:20 | * | endragor joined #nim |
06:56:36 | * | endragor quit (Remote host closed the connection) |
06:59:13 | * | desophos quit (Read error: Connection reset by peer) |
07:07:09 | * | endragor joined #nim |
07:07:48 | * | bjz joined #nim |
07:12:40 | * | arnetheduck joined #nim |
07:19:31 | * | gokr joined #nim |
07:24:01 | * | endragor quit (Remote host closed the connection) |
07:30:23 | * | bjz_ joined #nim |
07:31:54 | * | bjz quit (Ping timeout: 260 seconds) |
07:45:14 | * | darkf quit (Quit: Leaving) |
07:55:15 | * | endragor joined #nim |
07:57:40 | * | rok joined #nim |
08:00:38 | * | jaco60 joined #nim |
08:05:50 | * | jaco60 quit (Ping timeout: 248 seconds) |
08:16:12 | * | yglukhov joined #nim |
08:17:29 | * | endragor quit (Remote host closed the connection) |
08:21:27 | * | endragor joined #nim |
08:24:16 | * | desophos joined #nim |
08:28:42 | * | desophos quit (Ping timeout: 244 seconds) |
08:30:49 | * | exebook quit (Read error: Connection reset by peer) |
08:54:37 | * | exebook joined #nim |
09:06:44 | * | Demon_Fox quit (Quit: Leaving) |
10:06:56 | * | dorei joined #nim |
10:15:53 | * | Trustable joined #nim |
10:34:15 | * | BitPuffin|osx joined #nim |
10:51:16 | * | desophos joined #nim |
10:56:18 | * | desophos quit (Ping timeout: 276 seconds) |
11:33:41 | kier | how can I parse an int into a string in Nim? |
11:34:30 | * | rok quit (Quit: rok) |
11:35:27 | kier | nevermind, found it in strutils |
12:18:59 | * | PMunch joined #nim |
12:43:30 | PMunch | cheatfate, https://github.com/nim-lang/Nim/issues/3969#issuecomment-197104081 |
12:43:39 | PMunch | Turns out it isn't the JSON module after all |
12:50:20 | cheatfate | PMunch, i think problem in constructions you made :) now you are using crazy big numbers... i think problem is because you overflowing stack |
12:50:41 | cheatfate | try to compile nim c -d:release and error is gone |
12:50:51 | * | francisl joined #nim |
12:51:34 | cheatfate | everytime i running your code and it breaks to my debugger, my call stack is overflowed... |
12:51:40 | PMunch | Those numbers are copied from hash though, which returns an int (which again depends on the size of pointers IIUC). |
12:52:36 | cheatfate | i think increasing stack like 10x times for debug compilation resolve your problem |
12:53:42 | PMunch | Hmm, it also works if I use the boehm GC as pointed out by def- when I discovered this yesterday |
13:12:16 | * | francisl quit (Quit: francisl) |
13:28:27 | * | rok joined #nim |
13:40:11 | Araq | PMunch: could be a leak in the GC in combination with the huge memory pressure your code causes |
13:40:34 | PMunch | Seems likely |
13:40:51 | Araq | note that OOM often fails with a segfault thanks to Linux' "memory overcommitment 'feature'" |
13:42:58 | PMunch | Hmm is the pressure really that large? |
13:43:51 | PMunch | It only really inserts about 0.8MB into the intset structure |
13:52:30 | * | arnetheduck quit (Ping timeout: 248 seconds) |
13:52:53 | * | francisl joined #nim |
13:54:47 | * | arnetheduck joined #nim |
14:28:03 | PMunch | Hmm, when I'm running my code with -d:release I get a SIGSEGV: Illegal storage access. (Attempt to read from nil?) error |
14:31:27 | * | BitPuffin|osx quit (Ping timeout: 276 seconds) |
14:42:46 | def- | PMunch: yeah, still a segfault |
14:43:15 | PMunch | This was some other code |
14:43:27 | PMunch | Using a HashSet[int] instead |
14:44:30 | PMunch | But doing pretty much the same thing. It works with the normal GC (although faster with boehm), but I can't get it to create a release build (even with boehm). |
14:50:01 | PMunch | Oh def-, in the newest version does two hashes for the same JSON object with reordered keys evaluate to the same hash? |
14:57:19 | * | Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif) |
15:12:59 | * | Senketsu quit (Quit: Leaving) |
15:18:21 | PMunch | Otherwise I'll file an issue for it since they are technically the same object |
15:19:04 | Araq | PMunch: excellent point, I doubt it. :-) |
15:19:33 | Araq | unordered keys are harder than you would expect ... |
15:20:59 | PMunch | Well, all keys in JSON are strings. What I've done in the application I'm writing at the moment is just to order them alphabetically |
15:23:58 | PMunch | That way they at least stay equal |
15:26:43 | * | jaco60 joined #nim |
15:27:41 | * | brson joined #nim |
15:30:30 | * | rok quit (Quit: rok) |
15:45:13 | cheatfate | Araq, have you seen http://irclogs.nim-lang.org/ |
15:45:44 | Araq | no, nor can I fix it. |
15:51:36 | cheatfate | maybe you can block it until dom96 take a look |
15:55:28 | dom96 | fixed |
15:56:16 | * | exebook quit (Ping timeout: 264 seconds) |
15:57:56 | PMunch | https://github.com/nim-lang/Nim/issues/3972 |
15:58:23 | cheatfate | dom96, does your book will cover this macro magic, because its only thing i can't comprehend |
16:01:56 | dom96 | cheatfate: yeah, it will. |
16:02:21 | * | Demon_Fox joined #nim |
16:08:51 | * | exebook joined #nim |
16:10:14 | * | fredrik92 joined #nim |
16:11:15 | * | dorei quit (Quit: Page closed) |
16:12:49 | * | irrequietus joined #nim |
16:14:40 | * | samdoran joined #nim |
16:16:02 | * | krux02 joined #nim |
16:20:34 | * | PMunch quit (Ping timeout: 240 seconds) |
16:22:21 | * | couven92 joined #nim |
16:22:25 | * | endragor_ joined #nim |
16:22:40 | * | arnetheduck quit (Ping timeout: 264 seconds) |
16:24:12 | * | fredrik92 quit (Ping timeout: 268 seconds) |
16:25:37 | * | endragor quit (Ping timeout: 240 seconds) |
16:26:42 | * | endragor_ quit (Ping timeout: 246 seconds) |
16:34:06 | * | shodan45 joined #nim |
16:39:58 | * | exebook quit (Ping timeout: 248 seconds) |
16:42:13 | * | bozaloshtsh quit (Ping timeout: 250 seconds) |
16:44:48 | * | freddy92 joined #nim |
16:47:22 | cncl | if i define a type that has a bunch of the same numeric field (like say, 5 float fields), is there a way to automatically get definitions of add, subtract etc. for the type? of course i could make a macro for it, but i'm wondering if an existing facility exists |
16:48:52 | * | couven92 quit (Ping timeout: 268 seconds) |
17:02:35 | reactormonk | cncl, hey, you just described a monoid ;-) |
17:02:53 | * | desophos joined #nim |
17:03:50 | * | boopsiesisaway is now known as boopsies |
17:10:40 | cncl | well the feature i'm actually looking for is generic newtype deriving :P |
17:12:18 | * | irrequietus quit (Ping timeout: 268 seconds) |
17:12:46 | * | vendethiel joined #nim |
17:17:29 | * | irrequietus joined #nim |
17:17:46 | * | francisl quit (Quit: francisl) |
17:19:32 | * | yglukhov quit (Ping timeout: 260 seconds) |
17:21:57 | * | francisl joined #nim |
17:25:57 | * | boopsies is now known as boopsiesisaway |
17:27:06 | * | freddy92 quit (Ping timeout: 268 seconds) |
17:27:53 | * | pregressive joined #nim |
17:28:35 | * | pregressive quit (Read error: Connection reset by peer) |
17:28:39 | * | pregress_ joined #nim |
17:31:14 | * | boopsiesisaway is now known as boopsies |
17:35:47 | Varriount_ | cncl: A generic that does compile-time type inspection would work. |
17:38:21 | cncl | i'm trying to figure out how to iterate the fields of a type from a macro |
17:42:07 | * | mahasamoot joined #nim |
17:47:29 | Varriount_ | cncl: 'fields' works in normal code. |
17:47:56 | Varriount_ | cncl: Of course, you can also use macros.getType |
17:48:34 | Varriount_ | I just tried a fields-based solution and ran into a 'cannot evaluate at compile-time' error. |
17:51:19 | cncl | 'fields' would be runtime, right? |
17:53:05 | * | adnan left #nim (#nim) |
17:53:30 | * | krux02 quit (Remote host closed the connection) |
17:54:35 | Varriount_ | cncl: There's a runtime version in the typeinfo module, yes. The default one works at runtime |
17:54:42 | Varriount_ | *default one works at compile tiem |
17:58:30 | cncl | ah. so by 'normal' code, you mean the runtime version of typeinfo? |
18:04:15 | Varriount_ | cncl: The typeinfo module does runtime type inspection/manipulation. |
18:04:46 | Varriount_ | Unfortunately, I've run into a VM limitation trying to use the compile-time version of 'fields' |
18:05:32 | cncl | i'm going MyType.getType[n] on my type and it mostly works but something is breaking in a weird way |
18:05:39 | cncl | in a macro, i mean |
18:05:50 | * | yglukhov joined #nim |
18:07:10 | * | vendethiel quit (Quit: q+) |
18:07:13 | cncl | https://gist.github.com/randrew/8725b41f1815c2a3a390 |
18:10:11 | * | yglukhov quit (Ping timeout: 250 seconds) |
18:10:40 | cncl | i'm not sure how it's ending up with an uninterpolated 'fld' in the macro output? |
18:12:49 | Varriount_ | cnd: I'll take a look, but I came up with a working version. |
18:13:47 | * | shodan45 quit (Quit: Konversation terminated!) |
18:14:02 | Varriount_ | cncl: https://gist.github.com/Varriount/d4c621076ec1de13090d |
18:15:34 | cncl | i need this to be done at compile-time, though, because these operations will be done in a loop over large data sets (millions of records) |
18:18:14 | * | irrequietus quit () |
18:18:20 | Varriount_ | cncl: That is done at compile time |
18:18:36 | Varriount_ | cncl: There are two field procs, one in system.nim, one in typeinfo.nim |
18:19:10 | Varriount_ | The one in system.nim does it at compile time (hence is a bit finicky), the one in typeinfo does it at runtime. |
18:20:03 | cncl | oh uh i know why mine isn't work |
18:20:07 | cncl | name is being shadowed |
18:20:18 | cncl | Varriount_: ah |
18:20:24 | cncl | interesting |
18:20:30 | * | Varriount_ is now known as Varriount |
18:21:04 | cncl | wait no. hmm |
18:27:03 | Varriount | cncl: And here's your version, fixed: https://gist.github.com/Varriount/e37e91fbb32d53b77243 |
18:27:23 | Varriount | cncl: Having trouble? |
18:28:42 | cncl | ah |
18:28:47 | cncl | i misunderstood how name resolution was occuring |
18:29:00 | cncl | i forgot about {.immediate.} |
18:29:28 | Varriount | cncl: Hm? |
18:29:36 | cncl | passing 'result' is a much better idea |
18:29:52 | cncl | thanks |
18:30:01 | Varriount | cncl: Aside from that, 'result' will always be the innermost symbol. |
18:30:30 | Varriount | cncl: Try to avoid nesting macros and templates if you can. The different contexts can get confusing. |
18:31:03 | cncl | yeah i shouldn't have had a macro in the template (i had started with a template a few minutes ago and hadn't just gotten rid of it, though i had before you also gave me your solution) |
18:32:48 | cncl | here's an old bug i filed from a while back when i first tried nim: https://github.com/nim-lang/Nim/issues/3424 |
18:33:21 | cncl | if you like being confused about symbol scoping :) |
18:34:07 | Varriount | cncl: By the way, you are aware that objects are always allocated on the stack, right? |
18:34:15 | cncl | yes |
18:34:23 | cncl | why? |
18:34:45 | Varriount | cncl: Some people get confused about the whole object vs ref object distinction. |
18:35:10 | * | Ven joined #nim |
18:35:20 | cncl | i see |
18:35:29 | cncl | i don't think that would have had any effect in this case? |
18:36:30 | Varriount | cncl: In this case, it would just change allocation methods. |
18:37:41 | Varriount | cncl: Is this for an entity system or something? |
18:38:27 | cncl | no, i'm just going to be doing some theoretical crunching on some numbers from an existing game |
18:38:37 | cncl | just doing a simplistic modeling of its stats system |
18:38:38 | Varriount | cncl: Ah ok. |
18:39:31 | cncl | if it was for a game with a different access pattern, i probably wouldn't put it all in a single monolithic structure |
18:39:35 | cncl | bad cache performance |
18:40:13 | Varriount | cncl: That, and it would be better to have a single 'template' structure that all instances of an entity shared. |
18:44:13 | cncl | the game works by stacking modifiers on top of a base record to obtain final version that's used for the rest of the game logic |
18:45:19 | cncl | so you would start with a shared master copy for each instance of the same entity but you will end up with multiple copies of it on the heap in the end (unless you want to perform the modifiers calculation on the call stack each time you need it, but it's easier to just do all of the modifier calculations up front before running the rest of the game logic) |
18:51:25 | * | Ven_ joined #nim |
18:52:18 | * | Ven quit (Ping timeout: 246 seconds) |
18:55:14 | * | Ven_ quit (Client Quit) |
18:59:00 | * | Jesin joined #nim |
19:01:15 | * | toaoMgeorge joined #nim |
19:01:29 | * | francisl quit (Quit: francisl) |
19:01:41 | * | yglukhov joined #nim |
19:02:13 | cncl | Varriount: thanks again |
19:02:34 | cncl | here's a question for you, though: how would you generalize it for procs that have N number of arguments? |
19:02:48 | cncl | like if i wanted to use it to apply a function with 3 arguments instead of 2 |
19:03:48 | * | krux02 joined #nim |
19:04:21 | * | Ven joined #nim |
19:05:04 | * | Ven quit (Client Quit) |
19:09:07 | * | Matthias247 joined #nim |
19:09:29 | cncl | i see how to do it by assembling the ast from nim code in the macro (would not use quote for it) but i'm not sure how to pass the arguments. some list structure? or varargs? |
19:11:58 | * | francisl joined #nim |
19:12:00 | * | PMunch joined #nim |
19:14:06 | * | francisl quit (Client Quit) |
19:15:44 | * | francisl joined #nim |
19:18:15 | * | francisl quit (Client Quit) |
19:20:53 | cncl | i guess a tuple makes sense |
19:22:05 | * | francisl joined #nim |
19:23:09 | * | darkf joined #nim |
19:27:00 | * | GangstaCat quit (Quit: Leaving) |
19:30:13 | * | GangstaCat joined #nim |
19:33:44 | * | alexsystemf_ quit (Quit: Connection closed for inactivity) |
19:40:33 | * | yglukhov_ joined #nim |
19:40:33 | * | yglukhov quit (Read error: Connection reset by peer) |
19:41:28 | * | toaoMgeorge quit (Ping timeout: 252 seconds) |
19:44:02 | * | yglukhov joined #nim |
19:44:02 | * | yglukhov_ quit (Read error: Connection reset by peer) |
19:45:27 | * | krux02 quit (Remote host closed the connection) |
19:46:45 | * | krux02 joined #nim |
19:49:31 | * | francisl quit (Quit: francisl) |
19:49:35 | * | yglukhov quit (Read error: Connection reset by peer) |
19:50:08 | * | yglukhov joined #nim |
19:50:48 | * | francisl joined #nim |
19:53:21 | * | yglukhov quit (Read error: Connection reset by peer) |
19:53:40 | * | yglukhov joined #nim |
19:54:10 | * | rok joined #nim |
19:56:52 | * | yglukhov quit (Read error: Connection reset by peer) |
19:57:18 | * | francisl quit (Quit: francisl) |
19:58:02 | * | francisl joined #nim |
20:00:24 | * | yglukhov joined #nim |
20:04:57 | * | francisl quit (Quit: francisl) |
20:12:34 | * | samdoran quit (Read error: Connection reset by peer) |
20:15:23 | * | yglukhov_ joined #nim |
20:15:24 | * | yglukhov quit (Read error: Connection reset by peer) |
20:18:25 | * | francisl joined #nim |
20:24:41 | * | Ven joined #nim |
20:30:02 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:35:20 | Varriount | cncl: Hm? |
20:39:21 | Varriount | Araq: Ping |
20:45:23 | * | alexsystemf_ joined #nim |
20:55:33 | * | Demon_Fox quit (Quit: Leaving) |
20:59:55 | * | tdc joined #nim |
21:00:43 | * | drewkett joined #nim |
21:02:53 | * | yglukhov_ quit (Remote host closed the connection) |
21:04:55 | Araq | Varriount: pong |
21:05:50 | Varriount | Araq: What's the 'dus' command in nimsuggest? Dot Usages? |
21:06:07 | Araq | 'def + use' |
21:06:36 | Araq | it's what I prefer since I am too dumb to distinguish between those |
21:06:59 | * | drewkett quit (Ping timeout: 250 seconds) |
21:38:43 | * | francisl quit (Quit: francisl) |
21:49:27 | gmpreussner_ | do i have to put a nim.cfg into each of my sub-directories if i want all my modules to remain compilable individually, i.e. for unit tests? |
21:49:54 | gmpreussner_ | also, how do i correctly specify imports in such cases, so the compiler finds the modules that are in other sub-directories? |
21:51:13 | gmpreussner_ | in the nim stdlib this all seems to work fine, because the compiler knows that the nim.cfg is in /config, but i don't know if this behavior is possible for user packages as well. |
21:56:18 | * | tdc quit (Quit: Bye bye) |
22:06:53 | * | francisl joined #nim |
22:11:47 | * | krux02 quit (Ping timeout: 248 seconds) |
22:14:24 | * | rok quit (Quit: leaving) |
22:14:54 | * | SianaGearz quit (Ping timeout: 276 seconds) |
22:15:00 | * | SianaGearz joined #nim |
22:16:00 | * | delian66 joined #nim |
22:16:50 | * | delian66_ quit (Ping timeout: 260 seconds) |
22:17:20 | * | mog quit (Excess Flood) |
22:17:31 | * | mog joined #nim |
22:19:47 | * | Trustable quit (Quit: Leaving) |
22:20:05 | * | pregress_ quit (Remote host closed the connection) |
22:24:18 | * | toaoMgeorge joined #nim |
22:24:42 | * | toaoMgeorge quit (Client Quit) |
22:32:12 | * | PMunch quit (Quit: leaving) |
22:32:20 | * | PMunch joined #nim |
22:43:43 | * | francisl quit (Quit: francisl) |
23:07:22 | * | boopsies is now known as boopsiesisaway |
23:08:12 | * | Kingsquee joined #nim |
23:34:11 | * | ics quit (Quit: Connection closed for inactivity) |
23:54:38 | * | beatmox quit (Remote host closed the connection) |
23:54:50 | * | beatmox joined #nim |