00:19:44 | * | brokencode quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
00:34:04 | * | space-wizard joined #nim |
00:34:39 | * | space-wizard quit (Max SendQ exceeded) |
00:35:18 | * | space-wizard joined #nim |
00:36:08 | * | brokencode joined #nim |
01:00:55 | * | gokr joined #nim |
01:10:55 | * | Swend quit (Quit: Page closed) |
01:11:20 | * | space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
01:12:08 | * | gokr quit (Ping timeout: 276 seconds) |
01:33:05 | * | arnetheduck joined #nim |
01:35:14 | * | brson_ joined #nim |
01:36:03 | * | ephja quit (Ping timeout: 240 seconds) |
01:36:32 | * | brson_ quit (Client Quit) |
01:38:14 | * | brson quit (Ping timeout: 260 seconds) |
01:52:55 | * | chrisheller quit (Remote host closed the connection) |
01:58:23 | * | brokencode quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
02:02:46 | * | Varriount quit (Disconnected by services) |
02:02:46 | * | Varriount_ joined #nim |
02:28:15 | * | draynium joined #nim |
02:34:17 | * | gorgonzolapasta quit (Quit: böbö) |
02:51:27 | * | space-wizard joined #nim |
03:47:55 | * | space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
04:27:13 | * | zxtx quit (Read error: Connection reset by peer) |
04:27:45 | * | zxtx joined #nim |
04:50:06 | * | sillytime is now known as serioustime |
05:47:32 | * | castlelore quit (Quit: WeeChat 1.4) |
05:50:05 | * | castlelore joined #nim |
05:50:36 | * | desophos quit (Read error: Connection reset by peer) |
06:01:52 | * | space-wizard joined #nim |
06:15:17 | * | castlelore quit (Quit: WeeChat 1.4) |
06:16:45 | * | castlelore joined #nim |
06:18:00 | * | castlelore quit (Client Quit) |
06:19:41 | * | castlelore joined #nim |
06:36:49 | * | Ven joined #nim |
06:38:23 | * | Ven quit (Client Quit) |
06:38:42 | * | Ven joined #nim |
07:14:41 | * | space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
07:23:13 | * | Demon_Fox quit (Ping timeout: 268 seconds) |
07:24:36 | * | Demon_Fox joined #nim |
07:33:49 | * | yglukhov joined #nim |
07:39:12 | * | brson joined #nim |
07:43:59 | * | Demon_Fox_ joined #nim |
07:44:15 | * | Demon_Fox quit (Disconnected by services) |
07:44:21 | * | Demon_Fox_ is now known as Demon_Fox |
07:56:48 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
08:03:23 | * | yglukhov quit (Remote host closed the connection) |
08:03:59 | * | yglukhov joined #nim |
08:08:42 | * | yglukhov quit (Ping timeout: 260 seconds) |
08:33:39 | * | yglukhov joined #nim |
08:38:41 | * | yglukhov quit (Ping timeout: 276 seconds) |
09:02:39 | * | Demon_Fox quit (Quit: Leaving) |
09:06:13 | * | ephja joined #nim |
09:25:31 | * | cheatfate_ is now known as cheatfate |
09:27:31 | * | brson quit (Ping timeout: 250 seconds) |
09:29:09 | cheatfate | dom96, i have found that one more bug with "immediate handle" in acceptAddr -> failAccept() template, on fail it create new future and can cause same error with deep recursion |
09:29:49 | cheatfate | cheatfate, question is, is it possible to wait for future but not run exception |
09:30:15 | dom96 | I still don't understand why these deep recursions happen |
09:30:56 | dom96 | it is just because `cb` is indirectly calling itself? |
09:31:19 | cheatfate | dom96, i will try to make some graphic presentation for you :) wait please |
09:35:22 | * | yglukhov joined #nim |
09:38:48 | * | fredrik92 joined #nim |
09:40:15 | * | yglukhov quit (Ping timeout: 276 seconds) |
10:07:18 | * | Ven joined #nim |
10:10:42 | * | GangstaCat joined #nim |
10:19:22 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
10:19:48 | cheatfate | dom96, ok my knowledge is not enough to easily describe the problem |
10:21:53 | cheatfate | dom96, but i think problem is looks like http://stackoverflow.com/questions/26542686/python-3-asyncio-yield-from-vs-asyncio-async-stack-usage |
10:24:15 | * | Ven joined #nim |
10:36:48 | * | yglukhov joined #nim |
10:41:19 | * | yglukhov quit (Ping timeout: 252 seconds) |
10:59:23 | * | fredrik92 quit (Ping timeout: 250 seconds) |
11:22:48 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:29:10 | * | endragor joined #nim |
12:14:24 | endragor | Is it possible to refer to template parameter type name from .importcpp pattern? The examples in the manual assume that the type is plainly used in one of the parameters, but it's not the case for me. |
12:15:14 | endragor | the signature is like this: |
12:15:14 | endragor | proc doSomething[T](obj: Obj): Container[T] |
12:15:41 | federico3 | dom96: is there a script to generate a new release? |
12:22:50 | * | castlelore quit (Quit: WeeChat 1.4) |
12:29:56 | cheatfate | dom96, currently await macro expands to "yield future; future.read" but i think it must be "if not future.finished: yield future; future.read" |
12:33:08 | cheatfate | dom96, because when operation completed immediately, future.cb is still nil, so it not called |
12:33:14 | dom96 | cheatfate: Hrm, I think it should be handled by `cb` https://github.com/nim-lang/Nim/blob/devel/lib/pure/asyncdispatch.nim#L1257 |
12:35:06 | dom96 | federico3: for nim? no |
12:35:58 | * | castlelore joined #nim |
12:36:34 | federico3 | can I help with that? |
12:38:14 | * | yglukhov joined #nim |
12:38:24 | federico3 | I'm trying out the free service from CircleCI: they allow pulling in stuff from external repositories *and* binaries during the build and give access to the build artifacts, so it can be used as a buildbot |
12:40:05 | dom96 | go for it |
12:40:24 | federico3 | https://circleci.com/gh/FedericoCeratto/Nim/5#artifacts |
12:42:33 | * | yglukhov quit (Ping timeout: 244 seconds) |
12:42:44 | * | Matthias247 joined #nim |
12:42:58 | dom96 | federico3: is circleci just Linux? |
12:43:17 | federico3 | yes, including android |
12:44:14 | federico3 | the artifacts can be downloaded so this could enable automated nightly builds |
12:45:16 | federico3 | I don't know how you are doing the official build (e.g. what other tools are pulled in, tweaks etc) |
13:16:26 | * | yglukhov joined #nim |
13:39:49 | * | darkf quit (Quit: Leaving) |
13:53:34 | * | Ven joined #nim |
14:00:43 | * | yglukhov_ joined #nim |
14:00:43 | * | yglukhov quit (Read error: Connection reset by peer) |
14:02:47 | * | yglukhov_ quit (Read error: Connection reset by peer) |
14:06:55 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:13:40 | * | draynium quit (Quit: ZNC 1.6.1+deb1 - http://znc.in) |
14:18:28 | * | draynium joined #nim |
14:22:35 | * | Matthias247 quit (Quit: Matthias247) |
14:23:56 | federico3 | ok, I got CircleCI to generate a nimble binary and now it can use it to build other packages |
14:25:11 | * | yglukhov joined #nim |
14:26:13 | * | Matthias247 joined #nim |
14:29:52 | * | yglukhov quit (Read error: Connection reset by peer) |
14:30:26 | * | yglukhov joined #nim |
14:42:08 | * | Matthias247 quit (Read error: Connection reset by peer) |
14:46:21 | * | Ven joined #nim |
14:56:59 | * | silven quit (Ping timeout: 276 seconds) |
15:01:32 | * | yglukhov quit (Read error: Connection reset by peer) |
15:01:55 | * | yglukhov joined #nim |
15:02:33 | * | silven joined #nim |
15:19:34 | * | zxtx quit (Quit: Strong teeth for a strong nation) |
15:20:07 | * | zxtx joined #nim |
15:33:56 | * | Arrrr joined #nim |
15:37:39 | * | yglukhov quit (Remote host closed the connection) |
15:38:15 | * | yglukhov joined #nim |
15:38:40 | * | space-wizard joined #nim |
15:43:08 | * | yglukhov quit (Ping timeout: 276 seconds) |
15:52:18 | * | fredrik92 joined #nim |
16:02:35 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:06:36 | * | gokr joined #nim |
16:20:43 | * | gokr left #nim (#nim) |
16:23:59 | * | perturbation joined #nim |
16:39:36 | * | yglukhov joined #nim |
16:44:14 | * | yglukhov quit (Ping timeout: 276 seconds) |
16:54:08 | * | brson joined #nim |
16:57:41 | * | perturbation quit (Remote host closed the connection) |
17:11:11 | * | Ven joined #nim |
17:14:26 | * | ludocode quit (Remote host closed the connection) |
17:14:57 | * | yglukhov joined #nim |
17:15:18 | * | ludocode joined #nim |
17:17:25 | * | silven quit (Ping timeout: 244 seconds) |
17:18:03 | * | silven joined #nim |
17:19:29 | * | yglukhov quit (Ping timeout: 244 seconds) |
17:25:07 | * | yglukhov joined #nim |
17:38:21 | * | ul joined #nim |
17:40:13 | ul | hi all! could you point me to the best practices of having dynamic plugins in Nim program? i came from dynamic languages, and want to implement some kind of code hot swap for my app |
17:44:18 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
17:49:53 | Arrrr | You can try using python from nim https://github.com/nim-lang/python |
17:50:21 | * | PMunch joined #nim |
17:53:05 | * | brokencode joined #nim |
17:58:30 | * | perturbation joined #nim |
18:02:33 | * | perturbation quit (Ping timeout: 240 seconds) |
18:09:23 | ul | ерфтлыб иге ш куфддн цфте здгпшты ещ цкшееут шт еру Тшь ещщ |
18:09:27 | ul | sorry |
18:09:42 | ul | thanks, but I really want plugins to be written in the Nim too |
18:34:43 | ephja | it should be possible |
18:36:23 | ephja | do we have any relevant guides? |
18:43:18 | * | Salewski joined #nim |
18:43:54 | ephja | is nimborg relevant? but it hasn't been updated for a long time, and it seems to trigger compiler bugs |
18:44:05 | Salewski | Mr Filwit gave a small example for plugin use in the forum: http://forum.nim-lang.org/t/1400#8714 |
18:44:19 | ephja | great |
18:46:14 | * | Salewski quit (Client Quit) |
18:47:10 | * | chrisheller joined #nim |
18:47:19 | * | PMunch quit (Ping timeout: 244 seconds) |
18:50:46 | * | perturbation joined #nim |
18:51:25 | * | brokencode quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
18:57:19 | * | Motan joined #nim |
18:59:15 | * | perturbation quit (Ping timeout: 276 seconds) |
18:59:40 | * | perturbation joined #nim |
18:59:57 | * | silven quit (Ping timeout: 250 seconds) |
19:00:54 | * | silven joined #nim |
19:07:03 | ul | wow! i guess that using symAddr it is even not needed to keep any table of symbols in the main app which should be filled by the plugin on load; i just need to have reasonable conventions |
19:07:29 | ul | another question is how fast that resolving works |
19:07:50 | ul | i ask because i want to unload and load again plugin dll from time to time |
19:07:56 | ul | because it will be recompiled |
19:08:35 | ul | if i will just resolve target function by symAddr on every call, will it add huge perf penalty? |
19:10:29 | * | perturba_ joined #nim |
19:12:56 | * | yglukhov_ joined #nim |
19:12:56 | * | yglukhov quit (Read error: Connection reset by peer) |
19:14:52 | * | brokencode joined #nim |
19:14:52 | * | yglukhov_ quit (Read error: Connection reset by peer) |
19:14:52 | * | perturba_ quit (Ping timeout: 260 seconds) |
19:23:08 | * | yglukhov joined #nim |
19:24:04 | Motan | hey folks, today is my first day with nim (long time python guy looking for something that is slightly more performant and i'm running into this issue) |
19:24:06 | Motan | http://pastebin.com/EtPLebbk |
19:24:29 | Motan | i'm guessing i'm missing something subtle, but i can't figure it out |
19:25:38 | Motan | if anyone has an idea, copious amounts of punch and pie for all |
19:30:00 | * | brokencode left #nim ("Textual IRC Client: www.textualapp.com") |
19:32:32 | * | brson quit (Quit: leaving) |
19:33:08 | ephja | the BContainer in [BContainer] is not referring the to the type that you created previously |
19:35:01 | * | desophos joined #nim |
19:35:27 | ephja | but rather a generic symbol that can be instantiated with any type "proc p[T](x: T): T = x" and then "echo p(1)" or "echo p[int](1)" |
19:35:41 | Motan | ah |
19:35:44 | Motan | so just remove that? |
19:36:01 | Motan | bingo, looks like i have a different problem now |
19:36:27 | Motan | trying to port https://github.com/peter-the-tea-drinker/nim-MCTS to 0.13.0 |
19:36:41 | Motan | and i thought i had isolated the issue, maybe i was wrong - but at least it feels like progress |
19:36:43 | ephja | [int] can be omitted like in the first instantiation, since it has been implied already with the argument which is of type 'int' |
19:36:57 | federico3 | Motan: btw are you sure you need methods instead of procs? |
19:37:35 | ephja | were the issues related to generic methods resolved? |
19:37:37 | Motan | i was trying to isolate the issue, it seems this code was made when a few things were different |
19:38:09 | Motan | i think so? i'm getting the same issue in the Othello.nim file, going to see if i can reason about what's the actual problem |
19:38:18 | * | Motan hands out punch and pie, and party hats |
19:39:18 | * | Arrrr quit (Quit: WeeChat 1.4) |
19:40:36 | ephja | do you have any carrots? |
19:40:50 | Motan | always |
19:40:54 | * | Motan tosses out carrots |
19:43:11 | Motan | ok, another further question about generics: |
19:43:14 | Motan | type is defined as |
19:43:16 | Motan | TState* = ref object of RootObj |
19:43:25 | Motan | OthelloState* = ref object of TState |
19:43:35 | Motan | the base method is |
19:43:36 | Motan | method GetMoves[M](state:TState):seq[M] {.base.} = |
19:43:49 | Motan | method GetMoves*(state: OthelloState):seq[Move] = |
19:43:54 | Motan | and that's the "child" method |
19:44:03 | Motan | for some reason it seems they're disassociated |
19:44:43 | Motan | it's giving me at least this warning: othello.nim(106, 8) Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase] |
19:47:42 | * | Ven joined #nim |
19:51:35 | ephja | method Yay(obj:MyType):seq[BContainer] = echo "MyType Yay"; return @[(b: 10)] |
19:52:15 | Motan | ah, the colon, that's good to remember |
19:53:07 | chrisheller | ephja: what errors were you getting with Nimborg? |
19:54:59 | chrisheller | I have a Nimborg fork that was up to date with Nim (at least as of a month ago). https://github.com/chrisheller/NimBorg |
19:56:16 | ul | ============================================================================ GlobalBenchmark relative time/iter iters/s ============================================================================ GlobalBenchmark 435.93ps 2.29G ============================================================================ main.nim relative ti |
19:56:17 | ephja | Motan: "seq[Type]" instantiates 'seq' with 'Type', which does not require a generic parameter to be defined |
19:56:34 | ephja | consider this: "var x: seq[int]" |
19:56:36 | ul | symAddr 113.17ns 8.84M |
19:57:00 | ul | answering my own question: as think it's fast enough for many use-cases |
19:57:25 | ephja | chrisheller: I had to import map from sequtils |
19:57:55 | Motan | ok |
19:57:56 | ephja | and then I got an ICE with nim devel |
19:57:58 | Motan | i think i'm understanding |
19:59:28 | chrisheller | I fixed the 'undeclared identifier: map' error as well, but haven't triggered any other problems. I should note that we're only using the Python side of Nimborg, not the Lua stuff |
20:00:06 | ephja | "proc p(): seq[int] = @[1, 2, 3]" |
20:00:29 | ephja | chrisheller: I was testing one of the tests |
20:00:35 | ephja | but I haven't tried the fork |
20:01:22 | chrisheller | Feel free to open an issue. I can try to take a look. |
20:11:57 | Motan | i'm seeing something super weird - the issue seems to go away when I move code around : http://pastebin.com/L75BQy5c |
20:12:51 | Motan | i guess i need to define all generic perms before defining a proc that uses them? |
20:16:50 | Motan | double strange, if i move the proc above the both declarations it works as well |
20:16:54 | Motan | just doesn't work between them >< |
20:27:12 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:32:21 | * | space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…) |
20:34:41 | * | endragor quit (Remote host closed the connection) |
20:37:34 | * | Trustable joined #nim |
20:50:33 | ephja | Motan: it's by design |
20:52:02 | * | yglukhov quit (Remote host closed the connection) |
20:52:04 | Motan | gotcha, so is there an idiomatic solution here? separate the virtual methods to a block at the end? |
20:52:37 | * | sora_kun joined #nim |
20:52:38 | * | yglukhov joined #nim |
20:55:30 | * | ul quit (Ping timeout: 250 seconds) |
20:56:28 | ephja | Motan: yes |
20:56:35 | Motan | cool thanks |
20:56:40 | Motan | really appreciate the help |
20:56:40 | ephja | or just the declaration, which forward declares it |
20:56:45 | Motan | right |
20:56:57 | * | yglukhov quit (Ping timeout: 260 seconds) |
20:57:26 | ephja | (everything except the body, so not '=' or anything after) |
20:58:06 | ephja | which is required in the case of mutual dependencies |
20:59:22 | Motan | yeah, i just didn't expect template permutations to require the same thing |
20:59:24 | Motan | makes sense |
21:11:24 | * | perturba_ joined #nim |
21:16:20 | * | perturba_ quit (Ping timeout: 268 seconds) |
21:23:13 | * | sora_kun quit (Remote host closed the connection) |
21:53:41 | * | Demon_Fox joined #nim |
22:18:44 | * | yglukhov joined #nim |
22:22:14 | * | ephja quit (Ping timeout: 276 seconds) |
22:23:32 | * | yglukhov quit (Ping timeout: 276 seconds) |
22:58:54 | * | serioustime is now known as sillytime |
23:03:01 | * | ludocode quit (Quit: ludocode) |
23:09:07 | * | fredrik92 quit (Ping timeout: 250 seconds) |
23:18:49 | * | fredrik92 joined #nim |
23:20:21 | * | yglukhov joined #nim |
23:25:17 | * | yglukhov quit (Ping timeout: 276 seconds) |
23:29:03 | * | fredrik92 quit (Ping timeout: 250 seconds) |
23:31:58 | * | fredrik92 joined #nim |
23:32:41 | * | darkf joined #nim |
23:33:29 | * | fredrik92 quit (Read error: Connection reset by peer) |
23:40:34 | * | Trustable quit (Remote host closed the connection) |
23:42:15 | * | sillytime is now known as nchambers |