00:20:31 | * | girvo joined #nim |
00:20:39 | * | Jehan` joined #nim |
00:21:19 | * | Jehan_ quit (Ping timeout: 250 seconds) |
00:24:55 | * | girvo quit (Ping timeout: 252 seconds) |
00:27:42 | * | elrood quit (Quit: Leaving) |
00:40:38 | * | gokr quit (Quit: Leaving.) |
00:55:23 | * | BitPuffin|osx quit (Ping timeout: 272 seconds) |
00:57:39 | * | girvo joined #nim |
00:57:43 | girvo | Hey all :) |
00:58:04 | girvo | BlaXpirit: well done on your Chipmunk and SFML bindings btw, they've been a massive help! |
00:58:30 | * | BitPuffin|osx joined #nim |
01:03:15 | nchambers | what is chipmunk? |
01:07:11 | girvo | 2d physics engine, C-based |
01:07:26 | nchambers | ahh |
01:08:41 | * | jaco60 quit (Ping timeout: 272 seconds) |
01:12:43 | * | vendethiel quit (Ping timeout: 265 seconds) |
01:25:14 | * | girvo_ joined #nim |
01:25:32 | * | desophos quit (Remote host closed the connection) |
01:35:19 | * | girvo quit (Ping timeout: 252 seconds) |
01:35:36 | * | girvo joined #nim |
01:40:21 | * | Jehan` quit (Read error: Connection reset by peer) |
01:41:12 | * | jakesyl joined #nim |
01:42:36 | * | Jehan_ joined #nim |
01:45:50 | * | desophos joined #nim |
01:46:52 | * | jakesyl_mobile joined #nim |
01:49:42 | * | kulelu88 left #nim ("Leaving") |
02:01:14 | * | titanomachy quit (Ping timeout: 260 seconds) |
02:07:09 | * | titanomachy joined #nim |
02:17:10 | * | Jehan_ quit (Quit: Leaving) |
02:26:57 | * | brson quit (Quit: leaving) |
02:29:07 | * | girvo quit (Ping timeout: 272 seconds) |
02:43:52 | * | girvo joined #nim |
03:05:26 | * | ephja quit (Ping timeout: 250 seconds) |
03:08:58 | * | girvo quit (Quit: leaving) |
03:09:58 | * | vendethiel joined #nim |
03:12:05 | * | Varriount-Laptop joined #nim |
03:18:52 | * | vegansk quit (Remote host closed the connection) |
03:21:38 | * | jakesyl quit (Ping timeout: 246 seconds) |
03:21:50 | * | jakesyl_mobile quit (Ping timeout: 240 seconds) |
03:24:48 | * | vegansk joined #nim |
03:31:14 | * | nicktick joined #nim |
03:32:27 | * | vendethiel quit (Ping timeout: 272 seconds) |
03:37:39 | * | desophos_ joined #nim |
03:38:47 | * | BitPuffin|osx quit (Ping timeout: 272 seconds) |
03:42:04 | * | desophos_ quit (Ping timeout: 265 seconds) |
03:42:42 | * | nicktick1 joined #nim |
03:43:10 | * | nicktick quit (Ping timeout: 240 seconds) |
03:46:25 | * | pregressive joined #nim |
03:46:33 | * | pregressive quit (Remote host closed the connection) |
03:49:08 | * | pregressive joined #nim |
03:52:49 | * | nchambers is now known as dtscode |
04:12:53 | * | xtagon joined #nim |
04:22:13 | * | gunn joined #nim |
04:29:22 | * | nicktick joined #nim |
04:32:06 | * | nicktick1 quit (Ping timeout: 250 seconds) |
04:39:53 | * | Guest99049 quit (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!) |
04:41:15 | * | pregressive quit (Remote host closed the connection) |
04:45:20 | * | zepolen joined #nim |
04:48:20 | * | pregressive joined #nim |
05:09:51 | * | pregressive quit () |
05:17:26 | * | pregressive joined #nim |
05:18:14 | * | Varriount-Laptop quit (Ping timeout: 276 seconds) |
05:22:30 | * | darkf joined #nim |
05:29:06 | * | Heartmender joined #nim |
05:29:07 | * | Heartmender is now known as Guest23225 |
05:29:52 | * | Guest23225 quit (Changing host) |
05:29:52 | * | Guest23225 joined #nim |
05:29:52 | * | Guest23225 quit (Changing host) |
05:29:52 | * | Guest23225 joined #nim |
05:30:10 | * | Guest23225 is now known as Heartmender |
05:33:26 | * | zepolen quit (Remote host closed the connection) |
05:38:26 | * | zepolen joined #nim |
06:01:33 | * | desophos quit (Read error: Connection reset by peer) |
06:10:06 | * | zepolen quit (Read error: Connection reset by peer) |
06:16:46 | * | zepolen joined #nim |
06:17:35 | * | pregressive quit () |
06:23:33 | nicktick | Is there only one file 'nim' in bin/ after I ran build.sh? |
06:35:40 | * | Demon_Fox quit (Quit: Leaving) |
06:45:21 | * | zepolen quit (Read error: Connection reset by peer) |
06:45:59 | * | zepolen joined #nim |
06:47:39 | * | zepolen quit (Remote host closed the connection) |
07:01:25 | * | nicktick quit (Read error: Connection reset by peer) |
07:17:58 | * | girvo_ quit (Ping timeout: 260 seconds) |
07:23:56 | * | filcuc joined #nim |
07:26:41 | * | girvo joined #nim |
07:30:47 | * | gour joined #nim |
07:35:02 | * | girvo quit (Ping timeout: 265 seconds) |
07:43:56 | * | filcuc quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) |
07:45:08 | * | xtagon quit () |
07:58:57 | * | tja quit (Ping timeout: 246 seconds) |
08:00:33 | * | Jesin joined #nim |
08:16:11 | * | Jehan_ joined #nim |
08:17:48 | * | Jehan_ quit (Client Quit) |
08:22:53 | * | gokr joined #nim |
08:24:45 | * | nicktick joined #nim |
08:25:21 | * | kniteli joined #nim |
08:31:07 | * | girvo joined #nim |
08:35:31 | * | girvo quit (Ping timeout: 252 seconds) |
08:38:21 | * | Ven joined #nim |
08:45:43 | * | yglukhov joined #nim |
08:52:45 | * | bjz joined #nim |
08:54:16 | * | gokr1 joined #nim |
08:54:18 | * | gokr quit (Quit: Leaving.) |
08:54:24 | * | gokr2 joined #nim |
08:56:05 | * | gokr1 quit (Client Quit) |
08:56:06 | * | gokr joined #nim |
08:58:41 | * | gokr2 quit (Ping timeout: 246 seconds) |
08:59:03 | * | nicktick quit (Quit: Leaving.) |
08:59:34 | * | nicktick joined #nim |
09:03:47 | * | makoLine quit (Ping timeout: 264 seconds) |
09:09:27 | * | zepolen joined #nim |
09:09:54 | * | darkf_ joined #nim |
09:10:22 | * | darkf quit (Disconnected by services) |
09:10:24 | * | darkf_ is now known as darkf |
09:13:46 | * | zepolen quit (Ping timeout: 250 seconds) |
09:18:19 | * | mindriot101 joined #nim |
09:19:45 | * | nicktick quit (Quit: Leaving.) |
09:22:15 | * | lyro quit (Ping timeout: 240 seconds) |
09:25:26 | * | lyro joined #nim |
09:26:14 | * | coffepot joined #nim |
09:55:55 | * | zepolen joined #nim |
09:59:43 | * | jaco60 joined #nim |
10:00:34 | * | zepolen quit (Ping timeout: 250 seconds) |
10:15:16 | * | girvo joined #nim |
10:19:58 | * | girvo quit (Ping timeout: 260 seconds) |
10:21:40 | gokr | Hmmm, is there an easy way to see why ... nim tries to include nimprof when I compile? |
10:46:46 | * | nicktick joined #nim |
10:53:12 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:11:26 | Araq | look for --profiler:on |
11:16:27 | * | gour_ joined #nim |
11:18:55 | * | gour quit (Ping timeout: 240 seconds) |
11:21:29 | * | gour_ is now known as gour |
11:21:59 | * | antoniomo joined #nim |
11:31:05 | * | antoniomo quit (Ping timeout: 240 seconds) |
11:39:21 | * | Ven joined #nim |
11:41:44 | * | jck quit (Remote host closed the connection) |
11:42:03 | * | jck joined #nim |
11:44:45 | dom96 | http://danluu.com/butler-lampson-1999/ |
11:46:34 | * | antoniomo joined #nim |
11:46:57 | coffepot | man, I so wish RISC took off instead of CISC |
11:48:47 | dom96 | Also found what Guido wrote about case insensitivity in Python in 2000 quite interesting: https://mail.python.org/pipermail/python-list/2000-May/037102.html |
11:50:01 | * | jck quit (Remote host closed the connection) |
11:50:49 | * | jck joined #nim |
11:54:14 | gokr | Silly question: How do I test for js with "when"? |
11:54:15 | * | jck quit (Remote host closed the connection) |
11:55:03 | * | jck joined #nim |
11:55:59 | reactormonk | gokr, defined(js) ? |
11:56:07 | gokr | Ah, cool, thanks |
11:56:14 | * | gokr trying to compile Ni to js |
11:58:48 | gokr | Ok, so it compiled. |
11:58:52 | gokr | But... how do I run it? :) |
11:59:22 | gokr | Ok, found info... |
11:59:35 | * | jck quit (Remote host closed the connection) |
12:00:23 | * | jck joined #nim |
12:05:32 | * | jck quit (Read error: Connection reset by peer) |
12:05:36 | * | jck_ joined #nim |
12:06:26 | * | jck_ quit (Remote host closed the connection) |
12:07:12 | * | jck joined #nim |
12:07:31 | * | zepolen joined #nim |
12:07:40 | * | jck quit (Remote host closed the connection) |
12:08:27 | * | jck joined #nim |
12:08:28 | coffepot | on case sensitivity, it's such a weird argument. I've had people recoil in horror at the thought of case insensitivity in a language. "This will clearly cause bugs because you can mix up variable names!" Of course, that only applies if your variable names are only distinguished by case, which seems like a cause of bugs in itself imho |
12:09:16 | * | titanomachy quit (Ping timeout: 250 seconds) |
12:10:12 | * | jck quit (Remote host closed the connection) |
12:10:13 | coffepot | for me Nim definitely hits the sweet spot, where you only have to worry about the first letter, meaning you can have types and variables with the same text if you want but still differentiated |
12:10:52 | gokr | Muaha, Ni just calculated factorial in nodejs. |
12:10:59 | * | jck joined #nim |
12:11:05 | coffepot | grats gokr :D |
12:11:15 | gokr | That's pretty sick :) |
12:12:43 | * | titanomachy joined #nim |
12:15:45 | * | ephja joined #nim |
12:16:04 | * | girvo joined #nim |
12:16:30 | * | mindriot101 quit (Remote host closed the connection) |
12:17:45 | gokr | But its slooow :) |
12:18:06 | coffepot | Ni is interpretted isn't it? |
12:18:12 | gokr | Yup |
12:18:25 | gokr | So its an interpreter written in Nim, compiled to js and run in nodejs. |
12:19:10 | gokr | It seems to be... 60x slower than when compiled to C. |
12:19:37 | coffepot | What are you using it for btw, or just for fun? |
12:19:49 | gokr | Just for fun, I just wondered if it could be done :) |
12:20:22 | coffepot | Nice one :D Well sounds like it can be done! |
12:20:35 | * | girvo quit (Ping timeout: 240 seconds) |
12:20:44 | * | jck_ joined #nim |
12:21:07 | * | jck quit (Read error: Connection reset by peer) |
12:21:24 | coffepot | factorial seems like a good marker to show capabilities for something like this :) |
12:22:35 | * | elrood joined #nim |
12:23:55 | * | mindriot101 joined #nim |
12:24:00 | * | titanomachy quit (Ping timeout: 272 seconds) |
12:24:40 | * | boopsiesisaway is now known as boopsies |
12:28:34 | reactormonk | coffepot, meh, depends on the implementation. If you're doing it stack-based... |
12:29:44 | * | titanomachy joined #nim |
12:33:04 | * | jck_ quit (Remote host closed the connection) |
12:33:51 | * | jck joined #nim |
12:53:35 | * | titanomachy quit (Ping timeout: 272 seconds) |
12:53:36 | * | antoniomo quit (Ping timeout: 244 seconds) |
12:56:14 | gokr | Araq: Discovered that I had to ... explicitly change "Node" (my own type) to "niparser.Node" all over the place in my Ni interpreter - or I got some name clash when compiling to js! |
12:57:54 | gokr | But apart from that, and removing all "import os", it actually works. |
12:59:46 | * | titanomachy joined #nim |
13:07:08 | * | antoniomo joined #nim |
13:10:58 | * | boopsies is now known as boopsiesisaway |
13:14:48 | * | zepolen quit (Remote host closed the connection) |
13:25:58 | Araq | well |
13:26:09 | Araq | import system except Node |
13:26:17 | gokr | Aha ;) |
13:26:27 | Araq | would solve it, but isn't implemented |
13:26:33 | Araq | -.- |
13:26:48 | Araq | though I suppose we can move this out of system.nim altogether. |
13:26:51 | Araq | yglukhov: ping |
13:27:35 | gokr | I got another funky error that I can try to report later when I have time - when using "echo". |
13:27:52 | gokr | But otherwise all my Ni tests are green in nodejs, kinda funky. |
13:28:07 | Araq | yeah the JS backend is really usuable these days |
13:28:17 | Araq | *usable |
13:28:32 | gokr | I will try to make a REPL going on a webpage or so, would be neat. |
13:31:31 | Araq | cool |
13:50:56 | * | bjz quit (Ping timeout: 244 seconds) |
13:53:45 | * | avsej quit (Quit: Quit) |
13:55:36 | * | avsej joined #nim |
13:55:41 | * | avsej quit (Changing host) |
13:55:41 | * | avsej joined #nim |
13:56:39 | * | itPuffinB joined #nim |
13:57:48 | * | bjz joined #nim |
14:00:58 | yglukhov | Araq: pong |
14:01:28 | * | itPuffinB quit (Ping timeout: 276 seconds) |
14:01:52 | yglukhov | mind pulling https://github.com/nim-lang/Nim/pull/3580 and https://github.com/nim-lang/Nim/pull/3573? |
14:02:05 | * | itPuffinB joined #nim |
14:03:12 | * | itPuffinB is now known as BitPuffin |
14:03:23 | NimBot | nim-lang/Nim devel 0d5b9af Yuriy Glukhov [+0 ±1 -0]: Fixed JS codegen for distinct types |
14:03:23 | NimBot | nim-lang/Nim devel cfe4e78 Andreas Rumpf [+0 ±1 -0]: Merge pull request #3580 from yglukhov/js-distinct-type... 2 more lines |
14:03:46 | NimBot | nim-lang/Nim devel 3c70a2e Yuriy Glukhov [+0 ±1 -0]: doc fix |
14:03:46 | NimBot | nim-lang/Nim devel eaed360 Andreas Rumpf [+0 ±1 -0]: Merge pull request #3573 from yglukhov/doc-fix... 2 more lines |
14:04:21 | Araq | yglukhov: done. now let's do something about 'Node' being part of system.nim |
14:06:09 | yglukhov | thanx =) |
14:06:12 | yglukhov | ok, will do. |
14:06:16 | yglukhov | breaking change? |
14:06:48 | Araq | yeah. |
14:06:58 | yglukhov | ok |
14:07:03 | Araq | and make it use importcpp while we're at it please |
14:07:20 | Araq | you surely remember the issue we had with this old stuff at NimCon |
14:09:22 | yglukhov | yep, but i'm not planning to touch dom.nim now |
14:09:28 | yglukhov | i mean it may be a separate pr |
14:10:02 | Araq | ok |
14:10:25 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:15:25 | * | zepolen joined #nim |
14:16:42 | * | iamd3vil_ joined #nim |
14:16:45 | * | girvo joined #nim |
14:17:01 | * | iamd3vil_ quit (Client Quit) |
14:17:09 | * | iamd3vil_ joined #nim |
14:17:29 | * | iamd3vil_ quit (Client Quit) |
14:17:41 | * | iamd3vil_ joined #nim |
14:19:44 | * | iamd3vil_ quit (Client Quit) |
14:19:55 | * | iamd3vil__ joined #nim |
14:19:59 | * | iamd3vil__ quit (Remote host closed the connection) |
14:20:03 | * | zepolen quit (Ping timeout: 255 seconds) |
14:20:11 | * | iamd3vil_ joined #nim |
14:20:31 | * | iamd3vil__ joined #nim |
14:21:37 | * | girvo quit (Ping timeout: 276 seconds) |
14:21:48 | * | iamd3vil__ quit (Client Quit) |
14:23:55 | * | iamd3vil_ quit (Client Quit) |
14:24:48 | * | elrood quit (Quit: Leaving) |
14:29:41 | * | Ven joined #nim |
14:51:15 | dom96 | Wish I had more time to do this https://medium.com/@kentcdodds/first-timers-only-78281ea47455#.g7rb1bhpy |
14:52:15 | * | coffepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
14:53:25 | * | coffepot joined #nim |
15:21:00 | * | boopsiesisaway is now known as boopsies |
15:34:05 | * | zepolen joined #nim |
15:34:41 | * | Varriount-Laptop joined #nim |
15:36:20 | * | antoniomo quit (Quit: WeeChat 1.3) |
15:39:37 | * | zepolen quit (Ping timeout: 276 seconds) |
15:51:47 | * | Varriount-Laptop quit (Ping timeout: 264 seconds) |
15:52:42 | * | gokr quit (Quit: Leaving.) |
15:58:29 | * | Varriount-Laptop joined #nim |
15:59:52 | * | pregressive joined #nim |
16:05:45 | federico3 | strcmp1: we still have to organize a meetup :) |
16:17:30 | * | girvo joined #nim |
16:17:48 | * | aziz joined #nim |
16:18:38 | * | Varriount-Laptop quit (Ping timeout: 276 seconds) |
16:19:16 | * | zepolen joined #nim |
16:20:16 | * | elrood joined #nim |
16:21:55 | * | girvo quit (Ping timeout: 240 seconds) |
16:22:44 | * | Varriount-Laptop joined #nim |
16:27:07 | ephja | do we have any plugins for free editors that can generate symbol trees? |
16:29:51 | Araq | ephja: what are editors that can generate symbol trees? |
16:30:12 | * | zepolen quit (Remote host closed the connection) |
16:31:37 | * | Jehan_ joined #nim |
16:33:05 | * | Ven quit (Ping timeout: 240 seconds) |
16:34:51 | * | Jehan_ quit (Read error: Connection reset by peer) |
16:42:07 | * | nicktick quit (Quit: Leaving.) |
16:42:27 | * | Amun_Ra joined #nim |
16:43:04 | ephja | Araq: I meant a plugin which can do that (generate a tree of the top-level symbols) |
16:44:26 | ephja | is this outside the scope of nimsuggest? is it difficult to achieve with the compiler interface? |
16:45:08 | * | irrequietus joined #nim |
16:46:10 | reactormonk | ephja, what information would you need? |
16:49:50 | * | Jehan_ joined #nim |
16:52:14 | Jehan_ | ephja: ntags (https://bitbucket.org/nimcontrib/ntags) already does something similar, though it dumps the result as tags, not as a tree. |
16:52:56 | * | Demon_Fox joined #nim |
16:56:55 | * | Jehan` joined #nim |
16:57:03 | * | Jehan_ quit (Read error: Connection reset by peer) |
17:01:03 | ephja | Jehan`: do you know why it doesn't rely on the compiler? |
17:01:21 | Jehan` | ephja: Because it was in the end simpler to write and maintain this way. |
17:02:17 | * | barosl quit (Quit: Leaving) |
17:03:07 | ephja | reactormonk: a symbol tree. people were proposing an improved documentation generator that would group procs based on the type of the first argument. did anyone ever attempt to implement that? |
17:03:10 | ephja | Jehan`: ok |
17:04:48 | reactormonk | ephja, what's a symbol tree? |
17:06:02 | * | barosl joined #nim |
17:06:23 | Araq | ephja: IME nimsuggest integration simply provides a better inferface anyway |
17:06:42 | Araq | foo <dot> -- looking at list of available options |
17:08:45 | * | pregressive quit (Remote host closed the connection) |
17:09:45 | Araq | much better than the browser based solutions. |
17:19:56 | * | coffepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
17:21:34 | ephja | reactormonk: a tree of types and so on, whose children would be the fields in this case |
17:22:16 | ephja | Araq: they are orthogonal? what if I need to look up the type(s) that the first parameter might assume for example? |
17:23:04 | Araq | are they? how do you do a type based search in the browser that takes subtyping etc. into account? |
17:24:54 | * | terry_ quit (Ping timeout: 246 seconds) |
17:27:32 | * | zepolen joined #nim |
17:27:43 | ephja | no, I thought you implied that they were because of your comparison |
17:29:11 | * | Varriount-Laptop quit (Ping timeout: 250 seconds) |
17:30:31 | Araq | I cannot follow you. you can have a much better search feature for the generated documentation but then why bother if you don't have to use the documentation in the first place because your editor can tell you the same |
17:34:46 | * | yglukhov quit (Ping timeout: 240 seconds) |
17:44:02 | * | Jehan` quit (Read error: Connection reset by peer) |
17:48:24 | * | darkf quit (Quit: Leaving) |
17:51:22 | * | zepolen quit (Remote host closed the connection) |
17:51:33 | * | Jehan_ joined #nim |
17:51:42 | ephja | well it hasn't been implemented yet, so that's why I either wanted to use an editor plugin or use some really simple API. I just got lost before when I tried to apply some change to the compiler before, and I can't be bothered to have another go at it |
17:57:08 | ephja | Araq: did I understand *you* though? :p anyway, I could have a quick look, but I must have missed some essential debugging solutions before |
17:58:07 | * | vendethiel joined #nim |
17:58:36 | ephja | such as printing only when in a certain part of the AST |
18:04:38 | * | Jehan_ quit (Quit: Leaving) |
18:17:06 | Araq | ephja: latest versions of nimsuggest indeed support that, I think |
18:17:20 | Araq | I mean it can give you a list of all declarations in a module |
18:18:16 | * | girvo joined #nim |
18:23:06 | * | girvo quit (Ping timeout: 260 seconds) |
18:24:53 | * | yglukhov joined #nim |
18:24:58 | * | Matthias247 joined #nim |
18:29:38 | * | yglukhov quit (Ping timeout: 260 seconds) |
18:31:10 | flaviu | Whoa, unsigned became part of system? |
18:31:40 | * | mindriot_ joined #nim |
18:31:47 | flaviu | Anyway, congratulations on the release! I've been really busy in real life and haven't been keeping up with Nim. |
18:33:36 | ephja | when will the unsigned types be moved to the 'unsigned' module? 2.0? :-P |
18:34:21 | * | saml quit (Quit: Leaving) |
18:34:40 | ephja | nah I'm sure integer ranges will be common |
18:34:55 | * | mindriot101 quit (Ping timeout: 240 seconds) |
18:34:58 | * | brson joined #nim |
18:36:07 | * | mindriot_ quit (Ping timeout: 252 seconds) |
18:39:20 | flaviu | "The type auto is now a "multi-bind" metatype" Nice! |
18:39:39 | flaviu | `macros.getImpl` also looks fun! |
18:41:46 | ephja | I know I wanted to use getType for *something* |
18:42:06 | * | brson quit (Quit: leaving) |
18:42:23 | ephja | right, serialization |
18:43:44 | Araq | flaviu: and at NimCon we figured out we can make 'not nil' pointers the default. |
18:44:10 | Araq | I have a migration plan ready for that now. |
18:44:24 | flaviu | Araq: Has anyone published a blog post or something about that? It sounds exciting. |
18:44:50 | Araq | ha, yeah, that would be a good idea ... |
18:48:05 | * | yglukhov joined #nim |
18:49:43 | ephja | were the 'not nil' rules going to be relaxed? |
18:50:00 | * | brson joined #nim |
18:50:04 | * | makoLine joined #nim |
18:50:06 | Araq | ephja: no, but I'm pretty sure I figured out the details and they will be expanded |
18:54:12 | ephja | ok. what about an "assert foo != nil" shortcut? |
18:54:29 | ephja | anyway, time to throw some 'not nil' into my code |
19:00:17 | ephja | but is it possible to have it omit warnings instead? |
19:00:49 | * | desophos joined #nim |
19:05:41 | * | kulelu88 joined #nim |
19:07:50 | * | ochkoffein quit (Quit: -----------------------------------------------) |
19:11:15 | * | aziz quit (Remote host closed the connection) |
19:14:08 | Araq | no no no, not time for you to do anything. |
19:14:24 | Araq | time for me to clean up my changes and write some docs |
19:14:39 | Araq | and yeah, we need such an assert |
19:17:44 | * | Varriount-Laptop joined #nim |
19:22:21 | ephja | I was only referring to my personal code, but I'll wait |
19:27:49 | * | BitPuffin quit (Ping timeout: 244 seconds) |
19:34:12 | theduke | would anyone have use for a websocket client / server? i'm writing a nim implementation right now |
19:34:48 | Araq | theduke: yeah, lots of people had interest for this |
19:35:54 | ephja | that's nice. will it be async? |
19:37:28 | flaviu | Did "nim i" go away? |
19:38:27 | def- | flaviu: nim secret |
19:38:41 | theduke | ephja: yep. i have server and client basically working now (the protocol is quite simple) just need to iron out the edges, make it perform well and test extensively |
19:38:42 | theduke | luckily, there is a great test suite: http://autobahn.ws/testsuite/ |
19:39:07 | flaviu | def-: thanks! |
19:39:17 | ephja | that's always nice to have |
19:43:24 | ephja | there are a few issues with async, but the ones I've encountered have been easy to work around |
19:44:04 | Matthias247 | the protocol is simple - as long as you don't try to implement everything that is in the spec. There are some really nasty things |
19:45:21 | * | pregressive joined #nim |
19:45:22 | ephja | dom96: have you ever needed to apply async to generic procs? |
19:45:50 | Matthias247 | the close handshake is ugly. And on the open handshake you have to be careful that you don't consume parts of websocket messages while reading the header |
19:46:25 | * | Varriount-Laptop quit (Ping timeout: 244 seconds) |
19:49:54 | * | pregressive quit (Ping timeout: 255 seconds) |
19:51:08 | * | irrequietus quit () |
19:53:03 | * | zepolen joined #nim |
19:55:24 | theduke | Matthias247: yeah, the close reason + payload is a bit ugly |
19:57:21 | * | kniteli quit (Remote host closed the connection) |
19:57:22 | Matthias247 | theduke: and you have to handle cases where you and the other peer both send closes, and therefore shouldn't respond to each close with a close. And after close you need to wait for a clean FIN from the other side. And if this doesn't happen you always need a backup strategy (timer) that force closes the connection |
19:57:47 | * | zepolen quit (Ping timeout: 244 seconds) |
20:02:46 | dom96 | ephja: Not that I recall. Does it not work at all? |
20:02:47 | theduke | all true. i started with the assumption that other endpoints might not behave well, so hopefully this is all handled. We'll see when i test a bit more |
20:05:54 | ephja | dom96: no, but it's easy to work around |
20:06:10 | * | barosl quit (Ping timeout: 240 seconds) |
20:06:13 | dom96 | ephja: what's the workaround? |
20:06:16 | * | mat4 joined #nim |
20:06:24 | * | barosl joined #nim |
20:06:35 | mat4 | hi all |
20:08:25 | ephja | dom96: the workaround is simply to define concrete procs instead, and the boilerplate can be minimized with a template |
20:11:43 | dom96 | hrm. |
20:11:48 | dom96 | Let me look into it now |
20:13:03 | ephja | but none of the issues are a problem for me anymore |
20:16:27 | yglukhov | hey guys, where can i get boehmgc.dll? |
20:19:00 | * | girvo joined #nim |
20:19:53 | yglukhov | Araq: is it shipped with nim somehow? |
20:21:03 | * | mat4 guess not |
20:21:45 | ephja | dom96: what should happen when I do waitFor(asyncsocket.recv(...)) on a closed socket? |
20:22:43 | dom96 | ephja: Exception IIRC |
20:23:05 | dom96 | That is if by "closed socket" you mean you called `close()` on it. |
20:23:28 | ephja | ok. it's an unbuffered socket btw. I'll create another test case |
20:24:11 | * | girvo quit (Ping timeout: 264 seconds) |
20:24:18 | ephja | dom96: no, just a new socket that has never connected to anything in this case. it's basically the same thing, right? |
20:24:21 | * | gour quit (Quit: WeeChat 1.3) |
20:26:50 | dom96 | ephja: Then it depends on what the OS does. |
20:31:01 | dom96 | My guess it is a compiler bug. Araq? https://github.com/nim-lang/Nim/issues/3568#issuecomment-159722438 |
20:31:25 | ephja | isn't it better for these high level interfaces to provide platform-agnostic defaults unless specified otherwise? |
20:32:37 | ephja | do people ever want to rely on platform-specific defaults for applications that are cross-platform anyway? |
20:34:38 | dom96 | Yes, but the problem is you can't plan for every single scenario. |
20:35:14 | * | kerze joined #nim |
20:36:01 | ephja | I didn't know there were that many corner cases |
20:36:29 | ephja | but my socket is unbuffered. does it still apply? any idea if this is correct for linux then? |
20:37:23 | dom96 | buffered vs. unbuffered shouldn't matter in this case. |
20:37:41 | dom96 | what happens when you do it on your OS? |
20:37:45 | dom96 | (What is your OS?) |
20:38:22 | ephja | waitFor(newAsyncSocket(buffered = false).recv(n)) basically |
20:38:26 | ephja | linux |
20:38:42 | dom96 | right, and what happens when you do that? |
20:40:12 | ephja | dom96: it appears to get stuck somewhere in that proc |
20:41:59 | dom96 | Same on Mac OS X for me. |
20:43:49 | dom96 | Synchronous sockets give an error |
20:45:46 | ephja | but it's not considered a bug? I'll just go ahead and check if it has been closed then |
20:46:23 | ephja | which I should in any case, but I forgot about it at first |
20:47:57 | * | irrequietus joined #nim |
20:48:56 | dom96 | It is, i'm investigating now |
20:53:25 | * | brson quit (Quit: leaving) |
21:00:19 | * | brson joined #nim |
21:06:06 | ephja | ok I reported it |
21:06:46 | ephja | should asyncnet export anything, you think? |
21:06:55 | dom96 | ephja: Thanks! |
21:08:16 | dom96 | Will need to go back to this I'm afraid. |
21:09:21 | ephja | or what's the policy? only export types in parameters? |
21:11:21 | dom96 | what do you mean? |
21:22:18 | ephja | should 'export' be limited to symbols that are used in the public interface of a module? SOBool for example |
21:24:40 | * | polde quit (Read error: Connection reset by peer) |
21:24:42 | ephja | It's a good approach I think. C-like "import" behavior is terrible |
21:25:14 | * | irrequietus quit (Read error: Connection reset by peer) |
21:25:28 | * | irrequietus joined #nim |
21:31:52 | * | polde joined #nim |
21:39:42 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
21:42:09 | * | kerze quit (Read error: Connection reset by peer) |
21:44:52 | dom96 | ephja: I'm sorry I still don't know what you mean. What 'export' are you referring to? |
21:47:04 | * | brson quit (Quit: leaving) |
21:47:09 | mat4 | ephja: I think you should only export public interface members (if I understand your question right) |
21:47:49 | ephja | mat4: yeah |
21:48:37 | dom96 | You only export things you want to be public |
21:48:46 | dom96 | I'm not sure what you're asking |
21:56:37 | * | bjz joined #nim |
22:01:29 | * | gokr joined #nim |
22:02:19 | mat4 | hi gokr |
22:02:35 | gokr | mat4: hey! |
22:06:56 | * | theduke quit (Quit: Leaving) |
22:07:51 | mat4 | Congrats for your nice language, it's enjoyable to use |
22:14:14 | * | bjz quit (Ping timeout: 246 seconds) |
22:15:36 | * | Varriount-Laptop joined #nim |
22:16:15 | mat4 | (specially its dynamic nature) |
22:19:33 | * | boopsies is now known as boopsiesisaway |
22:19:45 | * | girvo joined #nim |
22:24:22 | * | girvo quit (Ping timeout: 265 seconds) |
22:28:14 | ldlework | mat4: what are you referring to |
22:29:25 | mat4 | https://github.com/gokr/ni |
22:30:08 | ephja | dom96: why aren't instances of AsyncSocket considered closed when no connections have been established previously? because it's not open at that point |
22:31:36 | ephja | it would make more sense had it not been possible to create an instance without connecting |
22:36:14 | * | vendethiel quit (Ping timeout: 272 seconds) |
22:37:35 | * | Varriount-Laptop quit (Ping timeout: 276 seconds) |
22:42:03 | Araq | http://forum.nim-lang.org/t/1805/1 |
22:42:33 | Araq | apparently it's "obvious" how to construct a real example from this. Any takers? |
22:45:58 | * | desophos quit (Read error: Connection reset by peer) |
22:47:26 | * | zepolen joined #nim |
22:52:46 | * | Varriount-Laptop joined #nim |
22:53:05 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:53:17 | * | mat4 left #nim (#nim) |
23:20:37 | yglukhov | Araq, can you say anything about boehmgc.dll? Where do i get it on windows? |
23:21:00 | Araq | I wish I knew. couldn't find it either |
23:21:22 | yglukhov | %) |
23:21:55 | * | ephja quit (Ping timeout: 240 seconds) |
23:24:39 | * | ephja joined #nim |
23:24:49 | * | girvo joined #nim |
23:25:18 | * | theduke joined #nim |
23:26:48 | dom96 | ephja: It hasn't really been explicitly closed though, it's just not open yet. |
23:29:38 | * | kulelu88 quit (Ping timeout: 272 seconds) |
23:30:46 | ephja | ok now I'm sure of the fact that we did discuss this before |
23:33:23 | ephja | I remember saying that "hasClosed" would make more sense then, but the current behavior seems less intuitive in any case |
23:34:14 | * | nicktick joined #nim |
23:34:32 | * | irrequietus quit () |
23:40:05 | dom96 | It depends how you define the "closed" state |
23:40:16 | dom96 | when you `close` a socket you can't do anything else with it |
23:40:27 | dom96 | before you `connect` a socket you can still do something with it |
23:40:54 | dom96 | So saying that a brand new socket is "closed" doesn't seem to make sense. |
23:42:35 | * | nicktick quit (Quit: Leaving.) |
23:43:24 | * | nicktick joined #nim |