| 00:00:16 | * | ryanhowe quit (Quit: WeeChat 1.4) |
| 00:00:24 | * | nsf quit (Quit: WeeChat 1.6) |
| 00:00:45 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 00:04:02 | * | ryahhowe joined #nim |
| 00:09:38 | trinarybee | cheatfate: you asked me for a gist a couple days ago when I was complaining of asyncdispatch blocking for the entire 500ms poll timeout on osx: https://gist.github.com/anonymous/6a6efb9cae7f5fd710744a8c6c47dae7 |
| 00:10:45 | trinarybee | that worked fine on linux, but has intermittent periods where it blocks on osx |
| 00:11:54 | trinarybee | also: that is the first thing I've written in nim, and a crude prototype besides, so I'm sure there are a thousand things to point out about it sucking :) |
| 00:14:59 | cheatfate | trinarybee, ok first of all |
| 00:15:17 | cheatfate | you are using `waitFor` everywhere |
| 00:15:23 | cheatfate | and this is one of the problems |
| 00:15:44 | cheatfate | please change every `waitFor` in procedures marked with {.async.} pragma to `await` |
| 00:16:52 | trinarybee | that would explain a lot |
| 00:21:33 | cheatfate | in most cases you need only `waitFor` only in `MainModule` block |
| 00:25:19 | trinarybee | thanks much. I did not realize waitFor was blocking the entire thread. I'm actually impressed that code even ran without completely deadlocking, much less ran quickly on linux |
| 00:26:05 | trinarybee | I think I somehow got it in my head that waitFor was like an await with an implied discard, if that makes any sense |
| 00:28:14 | ftsf | hmm if it have a const array of strings, will they always be copied shallowly? or do i need to iterate through the array and mark them all as shallow? |
| 00:28:44 | Araq | you cannot have shallow const strings they lack a GC header |
| 00:29:36 | ftsf | hmm, I see, is there a way I can ensure they don't get copied and they're always used directly? |
| 00:31:22 | Araq | I wouldn't bother but if you want more control use an array of cstring |
| 00:31:36 | ftsf | okay |
| 00:32:14 | ftsf | i only ask because i'm running into memory issues with emscripten (and i can't seem to get the GC working with that) and it seems to be lots of copies of strings |
| 00:34:11 | Araq | ah emscripten... |
| 00:39:55 | * | fredrik92 joined #nim |
| 00:40:43 | * | couven92 quit (Disconnected by services) |
| 00:40:46 | * | fredrik92 is now known as couven92 |
| 00:50:02 | * | ryahhowe quit (Read error: Connection reset by peer) |
| 00:50:44 | * | ryahhowe joined #nim |
| 00:57:36 | * | vlad1777d quit (Quit: Leaving) |
| 01:57:58 | * | libman quit (Remote host closed the connection) |
| 01:58:48 | * | Snircle joined #nim |
| 02:05:38 | * | chemist69 quit (Ping timeout: 246 seconds) |
| 02:18:14 | * | ryanhowe joined #nim |
| 02:19:23 | * | trinarybee quit (Quit: Leaving) |
| 02:20:03 | * | chemist69 joined #nim |
| 02:34:13 | * | ryanhowe quit (Remote host closed the connection) |
| 02:37:16 | * | pregressive joined #nim |
| 02:41:13 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
| 02:44:46 | * | ryanhowe joined #nim |
| 02:45:52 | * | ryanhowe quit (Client Quit) |
| 03:15:43 | * | cheatfate_ joined #nim |
| 03:15:46 | * | cheatfate quit (Read error: Connection reset by peer) |
| 03:16:37 | * | subsetpark quit (Quit: Connection closed for inactivity) |
| 03:17:26 | * | kulelu88 quit (Quit: Leaving) |
| 03:18:42 | * | couven92 quit (Quit: Client disconnecting) |
| 03:31:06 | * | pregressive quit (Remote host closed the connection) |
| 03:31:40 | * | pregressive joined #nim |
| 03:36:38 | * | pregressive quit (Ping timeout: 264 seconds) |
| 03:52:52 | * | dddddd quit (Remote host closed the connection) |
| 03:53:34 | * | ryahhowe quit (Quit: Leaving) |
| 03:58:57 | * | pregressive joined #nim |
| 04:06:57 | * | chemist69 quit (Ping timeout: 260 seconds) |
| 04:07:02 | * | ryanhowe joined #nim |
| 04:07:41 | * | chemist69 joined #nim |
| 04:07:52 | ryanhowe | ~/quit |
| 04:07:55 | * | ryanhowe quit (Client Quit) |
| 04:25:34 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:11:43 | dyce[m] | the nim GC works in emscripten? |
| 05:29:47 | * | pregressive quit (Remote host closed the connection) |
| 05:30:21 | * | pregressive joined #nim |
| 05:34:53 | * | pregressive quit (Ping timeout: 258 seconds) |
| 05:47:40 | ftsf | dyce_, does it? |
| 06:11:50 | * | chemist69 quit (Ping timeout: 250 seconds) |
| 06:14:25 | * | chemist69 joined #nim |
| 06:28:08 | * | nsf joined #nim |
| 06:35:57 | * | avsej quit (Ping timeout: 252 seconds) |
| 06:37:29 | * | avsej joined #nim |
| 06:37:29 | * | avsej quit (Changing host) |
| 06:37:29 | * | avsej joined #nim |
| 07:02:42 | * | Trustable joined #nim |
| 07:03:01 | * | Trustable quit (Remote host closed the connection) |
| 07:32:19 | * | Arrrr joined #nim |
| 07:42:58 | * | Varriount|Mobile joined #nim |
| 07:43:44 | Varriount|Mobile | ftsf: Have you tried "--define:useMalloc"? |
| 07:43:52 | * | rokups joined #nim |
| 07:50:41 | ftsf | Varriount|Mobile, i haven't |
| 07:52:25 | Varriount|Mobile | ftsf: That might work. Normally Nim uses memory maps to allocate memory (on *nix systems), so it's not surprising that emscriptem falls. |
| 07:52:46 | Varriount|Mobile | Malloc is probably supported though. |
| 07:52:54 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:54:11 | * | space-wizard joined #nim |
| 07:54:27 | * | space-wizard quit (Client Quit) |
| 07:54:59 | * | space-wizard joined #nim |
| 07:55:15 | * | space-wizard quit (Client Quit) |
| 07:55:50 | * | space-wizard joined #nim |
| 07:56:03 | * | space-wizard quit (Client Quit) |
| 07:56:32 | * | space-wizard joined #nim |
| 07:56:51 | * | space-wizard quit (Client Quit) |
| 07:57:21 | * | space-wizard joined #nim |
| 07:57:39 | * | space-wizard quit (Client Quit) |
| 07:58:11 | * | space-wizard joined #nim |
| 07:58:27 | * | space-wizard quit (Client Quit) |
| 07:58:55 | * | space-wizard joined #nim |
| 07:59:15 | * | space-wizard quit (Client Quit) |
| 08:03:43 | * | mal`` quit (Quit: Leaving) |
| 08:05:07 | * | mal`` joined #nim |
| 08:05:48 | * | Varriount|Mobile quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
| 08:18:34 | * | chemist69 quit (Ping timeout: 258 seconds) |
| 08:21:10 | * | chemist69 joined #nim |
| 08:36:53 | FromGitter | <gokr> I have a patch that never made it upstream for using malloc - for a constrained iot device. |
| 08:37:01 | * | FromGitter * gokr digging... |
| 08:38:15 | FromGitter | <gokr> Read here: https://github.com/gokr/ardunimo/blob/master/README.md |
| 08:38:49 | FromGitter | <gokr> There is the patch to get malloc to work, but... Dont recall if it was complete with freeing etc |
| 08:39:18 | FromGitter | <gokr> Bug Araq to get that supported ;) |
| 08:54:30 | * | Andris_zbx joined #nim |
| 08:57:20 | Araq | gokr: we have patchFile() for this now, no need to mess with Nim's stdlib to support that |
| 08:58:18 | Araq | unfortunately we don't know what -d:useMalloc means |
| 09:15:48 | * | yeeve quit (Remote host closed the connection) |
| 09:20:13 | * | kunev joined #nim |
| 09:23:18 | * | bjz joined #nim |
| 09:47:13 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 10:02:37 | * | bjz joined #nim |
| 10:30:28 | * | PMunch joined #nim |
| 10:31:43 | * | couven92 joined #nim |
| 10:33:02 | * | elrood joined #nim |
| 11:03:30 | * | bjz_ joined #nim |
| 11:03:38 | * | bjz quit (Ping timeout: 268 seconds) |
| 11:08:16 | * | chemist69 quit (Ping timeout: 240 seconds) |
| 11:12:59 | * | chemist69 joined #nim |
| 11:14:05 | * | Arrrr quit (Ping timeout: 246 seconds) |
| 11:17:15 | * | Arrrr joined #nim |
| 11:24:39 | * | space-wizard joined #nim |
| 11:24:42 | * | space-wizard quit (Client Quit) |
| 11:34:37 | * | zevlg joined #nim |
| 11:55:15 | * | Snircle joined #nim |
| 12:16:51 | * | Arrrr quit (Quit: WeeChat 1.5) |
| 12:26:12 | * | bjz_ quit (Ping timeout: 246 seconds) |
| 12:26:21 | * | bjz joined #nim |
| 12:33:14 | * | vlad1777d joined #nim |
| 12:49:22 | * | vlad1777d quit (Ping timeout: 250 seconds) |
| 12:49:58 | * | vlad1777d joined #nim |
| 12:58:02 | * | vlad1777d quit (Ping timeout: 250 seconds) |
| 13:16:25 | * | chemist69 quit (Ping timeout: 258 seconds) |
| 13:18:49 | * | chemist69 joined #nim |
| 13:22:30 | * | vlad1777d joined #nim |
| 13:28:25 | Sentreen | PEG question: is it possible to say I want to match x occurences of <pattern>? Like in regexes you could write pattern{x} |
| 14:02:37 | * | Ven joined #nim |
| 14:31:49 | * | elrood quit (Quit: Leaving) |
| 14:37:38 | Araq | Sentreen: interestingly, there is not. |
| 14:38:20 | Araq | pegs don't support it except of course to write it on your own |
| 14:39:46 | Araq | s <- x x x x x? x? x? |
| 14:40:00 | Araq | x <- [a-z] |
| 14:40:34 | Araq | # {4,7} occurences of a-z |
| 14:44:01 | * | terry[m] left #nim ("User left") |
| 14:48:07 | * | vlad1777d_ joined #nim |
| 14:49:11 | * | vlad1777d quit (Ping timeout: 258 seconds) |
| 14:55:10 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
| 15:02:45 | * | vlad1777d_ quit (Quit: Leaving) |
| 15:04:43 | * | vlad1777d joined #nim |
| 15:08:53 | FromGitter | <andreaferretti> I'm trying to figure out what is going on with incorrect type inference for generic parameters |
| 15:09:09 | FromGitter | <andreaferretti> Something that used to work in 0.14.2 but is broken in 0.15 |
| 15:09:38 | FromGitter | <andreaferretti> do you have any suggestion where to start looking in the compiler? |
| 15:09:52 | FromGitter | <andreaferretti> a minimal example that I was able to figure out is |
| 15:10:02 | FromGitter | <andreaferretti> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=58500f4abe9d43bc635600c0] |
| 15:10:31 | Araq | semtypinst |
| 15:10:37 | Araq | and sigmatch.nim |
| 15:10:42 | FromGitter | <andreaferretti> ok, great! |
| 15:11:28 | Araq | most likely 'git log -p compiler/semtypinst.nim' will lead to insights |
| 15:11:42 | FromGitter | <andreaferretti> thank you a lot! :-) |
| 15:11:55 | * | rokups quit (Quit: Connection closed for inactivity) |
| 15:12:03 | FromGitter | <andreaferretti> (in the above example `A` is inferred to be `string` and `R` to be `seq[int]`, while actually `A = int` and `R = string`) |
| 15:13:58 | Araq | yes I read your bug report |
| 15:14:20 | FromGitter | <andreaferretti> Yeah, I was trying to start debugging myself to see if I could help |
| 15:15:17 | Araq | actually sigmatch.nim has more changes |
| 15:19:13 | * | Jesin joined #nim |
| 15:23:08 | Araq | oh and switch to the sighashes branch of the compiler first please |
| 15:23:30 | Araq | I want to merge it into devel and like to know whether your stuff works with it |
| 15:23:58 | FromGitter | <andreaferretti> ah ok, nice to know! |
| 15:24:45 | FromGitter | <andreaferretti> well, still seeing the same issue |
| 15:25:15 | FromGitter | <andreaferretti> but I will start from this branch to avoid conflicting with the incoming changes |
| 15:27:15 | Araq | the branch is in much better shape to fix these things thanks to the new typeInst field |
| 15:27:48 | Araq | I think I know what causes this regression -.- |
| 15:48:24 | * | yeeve joined #nim |
| 15:51:58 | * | couven92 quit (Quit: Client disconnecting) |
| 15:56:11 | * | pregressive joined #nim |
| 15:57:50 | * | pregressive quit (Client Quit) |
| 15:58:26 | * | deech joined #nim |
| 15:58:35 | * | pregressive joined #nim |
| 16:06:14 | * | Varriount|Mobile joined #nim |
| 16:09:06 | * | Jesin quit (Quit: Leaving) |
| 16:11:00 | * | vlad1777d_ joined #nim |
| 16:12:38 | * | vlad1777d quit (Ping timeout: 264 seconds) |
| 16:13:28 | * | arnetheduck quit (Ping timeout: 250 seconds) |
| 16:14:44 | chemist69 | can I specify a location where to put the documentation generated by `nim doc`? |
| 16:15:21 | Varriount|Mobile | Araq: For the stack garbage collector, how would you move an object from one region to another without copying? |
| 16:19:27 | Araq | chemist69: --out ? |
| 16:21:31 | chemist69 | Araq: thanks. I made a stupid mistake and tried `-o doc/xxx.html` instead of `-o:doc/xxx.html` |
| 16:21:39 | * | vlad1777d__ joined #nim |
| 16:23:00 | * | vlad1777d_ quit (Ping timeout: 250 seconds) |
| 16:25:54 | Araq | Varriount|Mobile: you can't but it's not clear whether that means anything. |
| 16:26:41 | Araq | a copying collector works this way too. and the tradeoff is always bulk op vs lots of tiny fragmented ops |
| 16:27:10 | Araq | you can copy 10 GB per second in RAM |
| 16:28:30 | * | subsetpark joined #nim |
| 16:28:31 | Araq | and every cache miss implies a copy from RAM into the caches |
| 16:32:06 | FromGitter | <andreaferretti> btw, about gc:stack |
| 16:32:13 | FromGitter | <andreaferretti> how does it work anyway? |
| 16:32:28 | FromGitter | <andreaferretti> at a very high level |
| 16:32:33 | * | Sentreen quit (Ping timeout: 245 seconds) |
| 16:32:51 | FromGitter | <andreaferretti> is there some info anywhere? |
| 16:34:10 | Araq | withRegion r: ... # your code here |
| 16:34:29 | Araq | where r: MemRegion |
| 16:35:32 | Araq | the only problem is that it doesn't even work with resizable datastructures |
| 16:36:07 | Araq | supporting these would bring back all the complexity of a general purpose memory manager |
| 16:36:25 | Araq | var s = newSeq(30) |
| 16:36:33 | Araq | withRegion r: |
| 16:36:35 | Araq | ... |
| 16:36:55 | Araq | s.add(...) # oops, realloc uses the inner memory region |
| 16:37:01 | Araq | ... |
| 16:37:40 | flyx | but this wouldn't be a problem if s was declared inside withRegion, would it? |
| 16:38:08 | Araq | no, but few realistic programs have no outer scope tables or seqs |
| 16:38:46 | flyx | would it be possible to make that a compiler error? |
| 16:39:21 | Araq | that's futile but internally the 'realloc' could look at from which region the seq came from and use that |
| 16:39:50 | Araq | hmm yeah, somebody should do this :-) |
| 16:39:56 | Araq | then it's actaully useful |
| 16:40:24 | Araq | even though it cannot easily re-use the memory that is freed in the resize operation |
| 16:42:31 | * | Andris_zbx quit (Remote host closed the connection) |
| 16:43:15 | FromGitter | <andreaferretti> uhm |
| 16:43:30 | FromGitter | <andreaferretti> but what happens to memory that escapes the scope? |
| 16:44:17 | FromGitter | <andreaferretti> I mean, can one return structures from functions and so on |
| 16:45:31 | FromGitter | <andreaferretti> also, since regions are actual values of type MemRegion |
| 16:45:44 | FromGitter | <andreaferretti> can one pass them around, return them... |
| 16:46:02 | * | Sentreen joined #nim |
| 16:46:36 | FromGitter | <andreaferretti> I had seen the snippet on how to use them, but I guess I am not sure what they actually are |
| 16:51:00 | * | pregressive quit (Read error: Connection reset by peer) |
| 16:51:29 | * | pregressive joined #nim |
| 16:52:45 | * | couven92 joined #nim |
| 17:15:16 | * | derlafff quit (Ping timeout: 250 seconds) |
| 17:16:24 | * | derlafff joined #nim |
| 17:16:34 | FromGitter | <andreaferretti> I was not able to figure out much in semtypinst.nim or sigmatch.nim :-( |
| 17:16:39 | FromGitter | <andreaferretti> I will try next days |
| 17:20:43 | * | Trustable joined #nim |
| 17:21:20 | * | vlad1777d_ joined #nim |
| 17:22:31 | * | vlad1777d__ quit (Ping timeout: 258 seconds) |
| 17:33:56 | * | vlad1777d__ joined #nim |
| 17:35:10 | * | vlad1777d_ quit (Ping timeout: 258 seconds) |
| 17:39:16 | * | Varriount|Mobile quit (Read error: Connection reset by peer) |
| 17:39:23 | * | Varriount|Phone joined #nim |
| 17:40:59 | * | k1io joined #nim |
| 17:41:00 | * | Varriount|Phone quit (Read error: Connection reset by peer) |
| 17:46:01 | * | Varriount|Phone joined #nim |
| 17:48:53 | * | Varriount|Phone quit (Read error: Connection reset by peer) |
| 17:51:13 | * | libman joined #nim |
| 17:54:09 | * | Varriount|Phone joined #nim |
| 17:54:58 | * | Varriount|Phone quit (Read error: Connection reset by peer) |
| 17:55:04 | * | Varriount joined #nim |
| 17:56:26 | * | space-wizard joined #nim |
| 17:59:14 | Varriount | Araq: Personally I think manual memory management is overrated. |
| 17:59:56 | Varriount | Even C++ programmers use a form of automatic memory management through smart pointers |
| 18:00:05 | * | shodan45 joined #nim |
| 18:06:15 | * | jjido joined #nim |
| 18:16:54 | * | Varriount quit (Read error: Connection reset by peer) |
| 18:19:22 | * | deech quit (Remote host closed the connection) |
| 18:21:06 | * | jjido quit (Read error: Connection reset by peer) |
| 18:44:13 | * | Sentreen quit (Ping timeout: 245 seconds) |
| 18:47:11 | Calinou | only in C++11/14, no? |
| 18:47:40 | flyx | well they were available in boost before |
| 18:55:59 | * | vlad1777d_ joined #nim |
| 18:57:38 | * | Sentreen joined #nim |
| 18:57:42 | * | vlad1777d__ quit (Ping timeout: 250 seconds) |
| 19:09:35 | * | shodan45 quit (Ping timeout: 265 seconds) |
| 19:30:31 | * | vlad1777d_ quit (Read error: Connection reset by peer) |
| 19:32:08 | * | dddddd joined #nim |
| 19:32:53 | * | vlad1777d_ joined #nim |
| 19:41:54 | * | shodan45 joined #nim |
| 19:45:02 | * | joshbaptise joined #nim |
| 19:45:26 | * | joshbaptise quit (Client Quit) |
| 19:49:43 | * | fredrik92 joined #nim |
| 19:50:34 | * | fredrik92 quit (Read error: Connection reset by peer) |
| 19:51:00 | * | fredrik92 joined #nim |
| 19:54:21 | * | joshbaptise joined #nim |
| 19:54:39 | * | joshbaptise quit (Client Quit) |
| 19:55:57 | * | joshbaptiste joined #nim |
| 20:34:45 | * | vlad1777d__ joined #nim |
| 20:35:19 | * | vlad1777d_ quit (Ping timeout: 258 seconds) |
| 20:46:46 | * | k1io quit (Quit: Connection closed for inactivity) |
| 21:12:44 | * | Jesin joined #nim |
| 21:15:09 | * | freddy92 joined #nim |
| 21:15:09 | * | vlad1777d_ joined #nim |
| 21:15:59 | * | fredrik92 quit (Ping timeout: 268 seconds) |
| 21:16:21 | * | vlad1777d__ quit (Ping timeout: 258 seconds) |
| 21:16:54 | * | fredrik92 joined #nim |
| 21:19:47 | * | freddy92 quit (Ping timeout: 258 seconds) |
| 21:22:05 | * | fredrik92 quit (Ping timeout: 258 seconds) |
| 21:26:26 | * | Sentreen quit (Ping timeout: 264 seconds) |
| 21:28:16 | * | ftsf quit (Ping timeout: 240 seconds) |
| 21:33:02 | * | ftsf joined #nim |
| 21:35:20 | * | chemist69 quit (Ping timeout: 246 seconds) |
| 21:38:04 | * | chemist69 joined #nim |
| 21:39:02 | * | Sentreen joined #nim |
| 21:42:31 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 21:58:48 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:59:03 | * | Ven joined #nim |
| 21:59:55 | * | Sembei joined #nim |
| 22:02:29 | * | bjz joined #nim |
| 22:16:29 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
| 22:34:00 | * | nsf quit (Quit: WeeChat 1.6) |
| 22:47:50 | * | Jesin quit (Quit: Leaving) |
| 22:53:23 | * | Sentreen quit (Quit: WeeChat 1.4) |
| 22:58:13 | * | Sentreen joined #nim |
| 22:58:53 | * | Trustable quit (Remote host closed the connection) |
| 23:10:57 | * | PMunch quit (Quit: leaving) |
| 23:42:02 | * | chemist69 quit (Ping timeout: 246 seconds) |
| 23:42:25 | * | Jesin joined #nim |
| 23:45:00 | * | Jesin quit (Remote host closed the connection) |
| 23:46:52 | * | chemist69 joined #nim |
| 23:59:52 | * | arnetheduck joined #nim |