00:01:19 | * | yglukhov joined #nim |
00:08:01 | * | fredrik92 quit (Read error: Connection reset by peer) |
00:08:09 | * | yglukhov quit (Ping timeout: 276 seconds) |
00:08:27 | * | spindle quit (Read error: Connection reset by peer) |
00:10:06 | * | Ven_ quit (Ping timeout: 264 seconds) |
00:15:32 | * | Ven_ joined #nim |
00:18:14 | * | yglukhov joined #nim |
00:18:18 | * | nsf joined #nim |
00:22:36 | * | yglukhov quit (Ping timeout: 244 seconds) |
00:25:43 | * | Ven_ quit (Ping timeout: 244 seconds) |
00:29:30 | * | Matthias247 quit (Read error: Connection reset by peer) |
00:31:14 | * | yglukhov joined #nim |
00:37:35 | * | yglukhov quit (Ping timeout: 244 seconds) |
00:43:26 | * | girvo joined #nim |
00:44:24 | * | yglukhov joined #nim |
00:47:56 | * | girvo quit (Ping timeout: 265 seconds) |
00:48:57 | * | yglukhov quit (Ping timeout: 244 seconds) |
00:54:40 | * | yglukhov joined #nim |
00:58:46 | * | yglukhov quit (Ping timeout: 244 seconds) |
01:02:30 | * | spindle joined #nim |
01:04:37 | * | desophos quit (Read error: Connection reset by peer) |
01:07:35 | * | yglukhov joined #nim |
01:14:47 | * | yglukhov quit (Ping timeout: 244 seconds) |
01:16:53 | * | arnetheduck joined #nim |
01:17:51 | * | Demon_Fox joined #nim |
01:21:47 | * | yglukhov joined #nim |
01:22:29 | * | bjz joined #nim |
01:31:21 | * | yglukhov quit (Ping timeout: 276 seconds) |
01:36:44 | * | yglukhov joined #nim |
01:38:19 | * | PMunch quit (Quit: leaving) |
01:42:10 | * | yglukhov quit (Ping timeout: 244 seconds) |
01:45:21 | * | girvo joined #nim |
01:47:50 | * | brson quit (Quit: leaving) |
01:47:54 | * | yglukhov joined #nim |
01:50:00 | * | girvo quit (Ping timeout: 260 seconds) |
01:51:59 | * | yglukhov quit (Ping timeout: 244 seconds) |
01:55:26 | * | chemist69 quit (Disconnected by services) |
01:55:31 | * | chemist69_ joined #nim |
01:59:08 | * | yglukhov joined #nim |
02:03:21 | * | yglukhov quit (Ping timeout: 244 seconds) |
02:09:25 | * | yglukhov joined #nim |
02:17:18 | * | yglukhov quit (Ping timeout: 244 seconds) |
02:41:23 | * | GangstaCat joined #nim |
02:44:04 | * | yglukhov joined #nim |
02:47:01 | * | girvo joined #nim |
02:48:18 | * | yglukhov quit (Ping timeout: 244 seconds) |
02:51:57 | * | girvo quit (Ping timeout: 276 seconds) |
02:54:13 | * | yglukhov joined #nim |
02:58:38 | * | yglukhov quit (Ping timeout: 244 seconds) |
03:05:33 | * | yglukhov joined #nim |
03:10:00 | * | yglukhov quit (Ping timeout: 244 seconds) |
03:22:18 | * | desophos joined #nim |
03:40:23 | * | yglukhov joined #nim |
03:47:00 | * | girvo joined #nim |
03:48:14 | * | yglukhov quit (Ping timeout: 244 seconds) |
03:51:36 | * | girvo quit (Ping timeout: 265 seconds) |
03:53:03 | * | vqrs quit (Ping timeout: 276 seconds) |
03:54:52 | * | vqrs joined #nim |
03:58:21 | * | Sentreen quit (Ping timeout: 265 seconds) |
03:59:07 | * | yglukhov joined #nim |
03:59:31 | * | chemist69_ quit (Ping timeout: 248 seconds) |
04:03:13 | * | yglukhov quit (Ping timeout: 244 seconds) |
04:04:10 | * | chemist69 joined #nim |
04:06:36 | * | arnetheduck quit (Remote host closed the connection) |
04:09:15 | * | woggy_ joined #nim |
04:10:16 | * | yglukhov joined #nim |
04:10:16 | * | Sentreen joined #nim |
04:15:09 | * | yglukhov quit (Ping timeout: 276 seconds) |
04:17:00 | * | yglukhov joined #nim |
04:24:55 | * | yglukhov quit (Ping timeout: 244 seconds) |
04:31:40 | * | GangstaCat quit (Quit: Leaving) |
04:35:36 | * | yglukhov joined #nim |
04:35:53 | woggy_ | Can anyone explain what is going on here |
04:35:55 | woggy_ | https://gist.github.com/anonymous/b74be18cbc333221a59f216c1033dad3 |
04:37:43 | woggy_ | trying to define `+`[T,N] for an array type Vector[T,N] = array[N,T] results in segfault during compile? |
04:39:54 | * | yglukhov quit (Ping timeout: 244 seconds) |
04:46:44 | * | girvo joined #nim |
04:47:35 | * | yglukhov joined #nim |
04:51:17 | * | woggy_ quit (Quit: Page closed) |
04:51:32 | * | girvo quit (Ping timeout: 265 seconds) |
04:51:47 | * | yglukhov quit (Ping timeout: 244 seconds) |
04:57:46 | * | yglukhov joined #nim |
05:02:07 | * | yglukhov quit (Ping timeout: 244 seconds) |
05:08:43 | * | yglukhov joined #nim |
05:15:02 | * | yglukhov quit (Ping timeout: 244 seconds) |
05:21:31 | * | yglukhov joined #nim |
05:27:26 | * | yglukhov quit (Ping timeout: 244 seconds) |
05:32:38 | * | yglukhov joined #nim |
05:36:44 | * | yglukhov quit (Ping timeout: 244 seconds) |
05:39:43 | * | ARCADIVS joined #nim |
05:42:51 | * | yglukhov joined #nim |
05:46:46 | * | girvo joined #nim |
05:47:04 | * | yglukhov quit (Ping timeout: 244 seconds) |
05:51:03 | * | girvo quit (Ping timeout: 244 seconds) |
05:53:50 | * | yglukhov joined #nim |
05:57:55 | * | yglukhov quit (Ping timeout: 244 seconds) |
05:59:18 | * | GustavoLapasta joined #nim |
06:00:16 | * | rtr_ quit (Remote host closed the connection) |
06:03:52 | * | yglukhov joined #nim |
06:16:31 | * | yglukhov quit (Ping timeout: 244 seconds) |
06:17:25 | * | Demon_Fox quit (Quit: Leaving) |
06:17:43 | * | yglukhov joined #nim |
06:22:33 | * | yglukhov quit (Ping timeout: 276 seconds) |
06:32:36 | * | yglukhov joined #nim |
06:36:15 | * | Chiru joined #nim |
06:37:11 | * | yglukhov quit (Ping timeout: 244 seconds) |
06:40:01 | * | Chiru quit (Client Quit) |
06:45:35 | * | yglukhov joined #nim |
06:45:44 | * | girvo joined #nim |
06:50:03 | * | girvo quit (Ping timeout: 240 seconds) |
06:50:15 | * | arnetheduck joined #nim |
06:53:45 | * | yglukhov quit (Ping timeout: 276 seconds) |
06:59:51 | * | yglukhov joined #nim |
07:05:54 | * | Trustable joined #nim |
07:15:07 | * | yglukhov quit (Read error: Connection reset by peer) |
07:15:40 | * | yglukhov joined #nim |
07:18:14 | * | girvo joined #nim |
07:23:05 | * | girvo quit (Ping timeout: 260 seconds) |
07:31:23 | * | girvo joined #nim |
07:35:53 | * | girvo quit (Ping timeout: 264 seconds) |
07:47:56 | * | Trustable quit (Remote host closed the connection) |
08:08:43 | * | Ven_ joined #nim |
08:08:56 | * | kunev quit (Quit: е те!) |
08:12:51 | * | nairobi joined #nim |
08:13:43 | * | kunev joined #nim |
08:15:58 | * | girvo joined #nim |
08:16:16 | * | yglukhov quit (Remote host closed the connection) |
08:20:17 | * | girvo quit (Ping timeout: 240 seconds) |
08:25:38 | * | Ven_ quit (Ping timeout: 265 seconds) |
08:27:50 | * | GustavoLapasta quit (Ping timeout: 260 seconds) |
08:35:22 | * | fredrik92 joined #nim |
08:37:36 | * | ehmry[m] is now known as emery |
08:42:12 | * | desophos quit (Read error: Connection reset by peer) |
08:42:28 | * | nairobi quit (Remote host closed the connection) |
08:43:19 | * | Matthias247 joined #nim |
08:43:26 | * | nairobi joined #nim |
08:44:21 | * | kafke quit () |
08:45:59 | * | emery is now known as ehmry |
08:47:36 | * | nairobi quit (Ping timeout: 250 seconds) |
08:49:36 | * | Chiru joined #nim |
08:51:28 | * | krux02 joined #nim |
08:52:50 | krux02 | hmm, somehow I can't pass an array as a generic parameter to a procedure, when it is totally possible to do it with a type |
08:55:28 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
08:58:29 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:00:22 | * | Ven_ joined #nim |
09:06:48 | * | Chiru quit (Quit: Leaving) |
09:08:56 | * | Ven_ quit (Read error: Connection reset by peer) |
09:09:17 | * | Ven_ joined #nim |
09:15:52 | * | girvo joined #nim |
09:20:17 | * | girvo quit (Ping timeout: 244 seconds) |
09:22:31 | * | Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:29:16 | * | lxdong joined #nim |
09:31:13 | * | brechtm quit () |
09:33:27 | * | nairobi joined #nim |
09:37:27 | * | brechtm joined #nim |
09:40:35 | * | PMunch joined #nim |
09:49:50 | * | nairobi quit (Read error: Connection timed out) |
09:51:00 | * | nairobi joined #nim |
09:54:04 | * | brechtm quit (Remote host closed the connection) |
10:00:06 | * | ehmry is now known as emery |
10:03:04 | * | nairobi quit (Remote host closed the connection) |
10:06:35 | * | emery is now known as ehmry |
10:15:47 | * | girvo joined #nim |
10:20:45 | * | girvo quit (Ping timeout: 265 seconds) |
10:21:07 | * | xet7 quit (Quit: Leaving) |
10:23:11 | * | planhths joined #nim |
10:42:38 | * | lxdong quit (Quit: Page closed) |
11:01:29 | * | cheatfate quit (Read error: Connection reset by peer) |
11:01:35 | * | cheatfate_ joined #nim |
11:15:16 | * | nairobi joined #nim |
11:16:47 | * | yglukhov joined #nim |
11:17:59 | * | girvo joined #nim |
11:19:38 | * | nairobi quit (Ping timeout: 265 seconds) |
11:20:06 | * | foocraft joined #nim |
11:20:50 | * | yglukhov quit (Ping timeout: 244 seconds) |
11:22:17 | * | girvo quit (Ping timeout: 240 seconds) |
11:24:16 | * | Matthias247 quit (Read error: Connection reset by peer) |
11:30:54 | * | brechtm joined #nim |
11:33:25 | * | cheatfate_ quit (Quit: Leaving) |
11:35:36 | * | brechtm quit (Ping timeout: 265 seconds) |
11:49:06 | krux02 | Araq: is it intentional, that I can pass a static[openarray[int]] as a generic argument for types, but not as a generic argument for functions? |
11:49:55 | krux02 | I can write var t : MyType[[1,2,3,4,5]] but I can't write myfoo[[1,2,3,4,5]]() |
11:55:49 | * | planhths quit (Quit: Konversation terminated!) |
11:58:50 | * | cheatfate joined #nim |
11:59:43 | cheatfate | This gitter app for Windows is working like trojan, its impossible to uninstall it automatically |
12:00:59 | cheatfate | and properly |
12:01:09 | cheatfate | so now i even hate it more then ever |
12:05:09 | dom96 | cheatfate: in case you weren't aware: it seems that tasynceverror fails on OS X with -d:upcoming |
12:05:31 | * | spindle quit (Quit: Leaving) |
12:12:24 | * | chemist69 quit (Ping timeout: 265 seconds) |
12:12:47 | * | chemist69 joined #nim |
12:15:22 | * | girvo joined #nim |
12:19:13 | * | PMunch quit (Quit: leaving) |
12:19:34 | * | girvo quit (Ping timeout: 244 seconds) |
12:26:00 | * | fredrik92 quit (Quit: Leaving.) |
12:31:32 | * | nairobi joined #nim |
12:32:27 | cheatfate | dom96, i can't help, because i have only old macos vm image... |
12:32:39 | cheatfate | and it passes tests |
12:36:51 | * | nairobi quit (Ping timeout: 248 seconds) |
12:38:17 | * | Guest38077 is now known as aorist |
12:38:30 | * | aorist is now known as taotetek |
12:44:27 | dom96 | cheatfate: okay, well it's not a high priority issue |
12:44:45 | dom96 | I'm thinking about moving futures out of asyncdispatch into an asyncfutures module |
12:45:10 | dom96 | The macro is already in an asyncmacro module, and I think it makes sense to be there |
12:47:11 | krux02 | cheatfate: you can also use irc then |
12:47:31 | krux02 | it's not as fancy, but at least it's intruding your system |
12:48:05 | krux02 | I mean it's not intruding your system |
12:48:07 | cheatfate | krux02, i have removed it with autoruns, process explorer, regedit and delete |
12:48:32 | krux02 | I have a gitter irc bridge |
12:49:18 | FromGitter | <krux02> I mean I can just post from irc, and it appears to be a gitter post |
12:49:25 | FromGitter | <krux02> it's just a different channel for me |
12:49:31 | cheatfate | i have more serious problem my openbsd and netbsd hungs on "git pull origin" |
12:49:39 | cheatfate | for some reason |
12:49:43 | cheatfate | and i dont understand why |
12:50:12 | krux02 | I never installed bsd, (unless you call having a play station, having bsd) |
12:50:17 | krux02 | so I don't know |
12:50:25 | dom96 | cheatfate: what's 'origin' set to? Is it your fork's SSH git URL? |
12:50:52 | * | foocraft quit (Quit: Leaving) |
12:51:31 | cheatfate | dom96, origin https://github.com/nim-lang/Nim.git (fetch) |
12:51:32 | krux02 | you can past what is in .git/config (if it is not private) |
12:51:47 | cheatfate | krux02, its not private its my testing vm |
12:52:00 | cheatfate | but i'm git noob |
12:52:00 | dom96 | weird |
12:52:26 | dom96 | You can curl https://github.com/nim-lang/Nim right? |
12:53:02 | krux02 | yes I agree git is very complicated, and when you don't have somebody who is interested that you really understand it or someone you can ask it can be a long time to learn it |
12:53:57 | cheatfate | dom96, looks like my network vm is broken for some reason |
12:54:09 | cheatfate | it stuck even on curl |
12:54:45 | krux02 | then it's not a git problem ... |
12:55:47 | * | rudi_s quit (Quit: leaving) |
12:56:34 | * | rudi_s joined #nim |
12:57:56 | cheatfate | dom96, i'm agree about futures but i think its better to start thinking about `async` directory and futures.nim, macros.nim osspecific.nim |
12:58:40 | dom96 | cheatfate: Yes, I would like that too. But Araq doesn't like hierarchies. |
12:59:41 | dom96 | That's the reason why we have asynchttpserver, asyncftpclient, asyncnet instead of async/{httpserver,ftpclient,net} |
12:59:49 | cheatfate | dom96, i think you are wrong because i have ioselects :) |
13:00:06 | cheatfate | ok i going to reboot will back very soon |
13:00:13 | * | cheatfate quit (Read error: Connection reset by peer) |
13:01:19 | * | nairobi joined #nim |
13:08:03 | * | cheatfate joined #nim |
13:09:50 | * | nairobi quit (Remote host closed the connection) |
13:10:22 | dom96 | cheatfate: do you just have this little faith in me? |
13:10:33 | dom96 | or do you have so much faith in Araq? |
13:11:10 | cheatfate | i have much faith in Araq :) |
13:11:19 | dom96 | Maybe Araq changed his mind, but I don't think it's fair to say that I am "wrong" |
13:11:32 | dom96 | Otherwise what would be the reason for the current state of the stdlib? |
13:12:42 | * | nairobi joined #nim |
13:15:23 | * | girvo joined #nim |
13:15:52 | * | nairobi_ joined #nim |
13:17:05 | * | nairobi quit (Ping timeout: 265 seconds) |
13:17:37 | * | planhths joined #nim |
13:18:30 | * | vqrs quit (Ping timeout: 264 seconds) |
13:20:05 | * | girvo quit (Ping timeout: 260 seconds) |
13:20:52 | * | vqrs joined #nim |
13:31:32 | * | nairobi_ quit (Read error: Connection timed out) |
13:32:29 | * | bjz joined #nim |
13:32:37 | * | nairobi joined #nim |
13:36:58 | * | GustavoLapasta joined #nim |
13:37:47 | * | brechtm joined #nim |
13:37:52 | rudi_s | Can I get the c file passed to the compiler? |
13:38:37 | reactormonk | rudi_s, it's in nimcache |
13:39:04 | rudi_s | reactormonk: Ah, nice. Thanks. |
13:40:02 | * | bjz_ joined #nim |
13:40:37 | rudi_s | FFI question. How can I model a char * which is passed to a function and modified by that function? So the parameter must not be stored in a const region of the binary? |
13:41:01 | reactormonk | IIRC there's an array[char] construct |
13:41:23 | * | bjz quit (Ping timeout: 272 seconds) |
13:41:56 | rudi_s | Hm. Just found proc realpath*(name, resolved: cstring): cstring which just passes cstring. Is this safe? |
13:42:27 | * | brechtm quit (Ping timeout: 248 seconds) |
13:42:36 | reactormonk | Right, cstring's the stuff you're looking for. |
13:42:52 | reactormonk | I'm not sure how to tell the GC not to collect your cstring. |
13:43:07 | reactormonk | ... but if it's still in scope, that should be fine. |
13:43:11 | rudi_s | But how does the FFI differentiate between const char * and char *? I assumed nim assummes const char * per default. |
13:43:36 | rudi_s | So I can just use foo(arg: cstring)? But what happens when the use calls it ith foo("bla")? This will segfault. |
13:43:42 | rudi_s | (Unless nim does magic.) |
13:44:35 | reactormonk | var cstring |
13:46:33 | rudi_s | reactormonk: That's char **, not char * |
13:47:44 | reactormonk | Ok, apparently I'm wrong. Wait for someone who knows what they're talking about. |
13:48:01 | rudi_s | No worries, thanks anyway ;-) |
13:54:57 | dom96 | rudi_s: it all depends on what the C function does with the cstring |
13:55:05 | dom96 | In most cases it is perfectly safe to just pass a string literal |
13:56:33 | rudi_s | dom96: As I said, it modifies its argument. e.g. int foo(char *x) { x[0] = 'X'; return 0; } |
13:57:47 | dom96 | hrm |
13:57:59 | dom96 | then you will get a segfault if you pass a literal |
13:58:07 | dom96 | Not sure if there is a way to model that in the type system |
13:58:41 | * | ARCADIVS quit (Quit: ARCADIVS) |
13:59:09 | * | bjz_ quit (Read error: Connection reset by peer) |
13:59:15 | rudi_s | Hm. I see. |
13:59:45 | rudi_s | How can I force nim to create a new string which I can then pass to foo()? var x : cstring = "hi" ; foo(x) segfaults. |
13:59:54 | * | bjz joined #nim |
14:02:18 | dom96 | Are you sure the function doesn't actually take char **? |
14:02:34 | dom96 | I don't think it should segfault in that case |
14:03:07 | * | pafmaf joined #nim |
14:03:17 | dom96 | Maybe try: var x = "hi"; foo(addr x[0]) |
14:04:39 | * | Ven_ joined #nim |
14:08:25 | dom96 | or look at the C code to see what Nim generates :) |
14:10:03 | rudi_s | dom96: I'm very sure. It takes a char *, uses it, modifies it and then returns. man mkstemp if you want to have a look (btw. man 3 realpath does the same and is already used in nim). |
14:10:55 | rudi_s | The code nim generates just passes the char-poiner as expected. But the problem is, it uses the assigned constant, which is stored in read-only memory. The generated code looks like char *x = "hi"; foo(x); which obviously breaks once foo tries to write it. |
14:11:11 | rudi_s | Basically I need a way to strdup() a string and ensure that that part doesn't get optimized away. |
14:13:08 | rudi_s | Hm. copy doesn't seem to help. |
14:13:58 | * | Ven_ quit (Ping timeout: 255 seconds) |
14:14:58 | * | bjz quit (Read error: Connection reset by peer) |
14:14:59 | rudi_s | Ah, that doesn't work for cstrings anyway. |
14:15:31 | * | girvo joined #nim |
14:16:23 | * | Ven_ joined #nim |
14:16:54 | * | bjz joined #nim |
14:20:18 | * | girvo quit (Ping timeout: 276 seconds) |
14:21:01 | * | brechtm joined #nim |
14:23:53 | rudi_s | It seems var x = "hi".substr 0; foo(x) works. But maybe newString() could be extended to allow copying a string, e.g. proc newString(s: string): string = result = s.substr 0 # copy |
14:23:58 | rudi_s | Araq: ^ |
14:24:08 | rudi_s | What do you think? |
14:24:53 | * | bjz quit (Read error: Connection reset by peer) |
14:25:41 | * | bjz joined #nim |
14:25:48 | * | brechtm quit (Ping timeout: 265 seconds) |
14:27:54 | * | bjz quit (Read error: Connection reset by peer) |
14:28:31 | * | Ven_ quit (Read error: Connection reset by peer) |
14:28:36 | * | Ven__ joined #nim |
14:29:05 | * | bjz joined #nim |
14:29:40 | * | bjz quit (Read error: Connection reset by peer) |
14:30:12 | * | bjz joined #nim |
14:31:57 | * | bjz quit (Read error: Connection reset by peer) |
14:33:02 | * | Ven__ quit (Ping timeout: 244 seconds) |
14:36:00 | * | Ven_ joined #nim |
14:36:32 | * | nairobi quit (Remote host closed the connection) |
14:36:34 | * | desophos joined #nim |
14:37:23 | * | bjz joined #nim |
14:40:41 | * | Ven_ quit (Ping timeout: 264 seconds) |
14:41:07 | * | pafmaf quit (Quit: Verlassend) |
14:42:37 | * | Ven_ joined #nim |
14:45:15 | krux02 | rudi_s, I think it's worth discussing about, weather a string should be automatically convertable into a cstring, when it is not a mutable string. |
14:45:37 | krux02 | rudi_s: did you try to assign it to a local var? |
14:45:50 | krux02 | I mean with the var keyward |
14:46:00 | rudi_s | krux02: Yes. |
14:46:39 | krux02 | and did you try to add a '\0' at the end of the string? |
14:47:10 | rudi_s | No. |
14:47:45 | rudi_s | I guess that will work. |
14:48:10 | krux02 | it's a hack, but at least it works |
14:49:10 | krux02 | I have heared that gcc implements the std::string with copy on write semantic, meaning that a string is copied only, when the copy also get's written to. |
14:49:13 | rudi_s | Yeah. - I'm more concerned with the reduced "memory safety". Sure it's just a crash, but it would be nice if the type system could prevent it. |
14:50:22 | krux02 | I think converting to cstring should be a bit more explicit sometimes |
14:51:30 | rudi_s | Yeah, that would be nice. I was a little surprised that it works automatically when I looked at the realpath implementation. |
14:53:19 | krux02 | I like the policy that works in Go. terer are C.CString, C.GoString methods for conversion (all copying), and the paradigm for writing wrappers, is to never let C types leak into non wrapper code. |
14:54:31 | rudi_s | Sounds like a good policyt. |
14:54:34 | rudi_s | *policy |
14:55:00 | krux02 | this explicit casting for all types makes lazy wrappers much less attractive and somehow forces people to think a bit more before actually releasing a wrapper. |
14:56:07 | krux02 | of course if you want to, you can also pass the Go types directly as pointers, bun then it's expected from you that you know what you are doing. |
14:56:50 | krux02 | but sadly people here in this community don't like to hear about Go. |
15:05:30 | * | yglukhov joined #nim |
15:08:58 | dom96 | We don't? I'm happy to hear about Go. |
15:09:14 | dom96 | I also believe that C types should never leak into non-wrapper code |
15:09:31 | dom96 | Which is why I will do my best to go through the stdlib and ensure that that is the case. |
15:09:43 | * | yglukhov quit (Ping timeout: 244 seconds) |
15:10:14 | dom96 | Btw I'm pretty sure that string is '\0' terminated |
15:10:30 | dom96 | to make it easily convertible to a cstring |
15:10:57 | * | libman joined #nim |
15:15:19 | * | girvo joined #nim |
15:16:44 | * | nairobi joined #nim |
15:18:09 | * | Ven_ quit (Ping timeout: 276 seconds) |
15:19:15 | * | Ven_ joined #nim |
15:19:51 | * | girvo quit (Ping timeout: 265 seconds) |
15:20:13 | * | GangstaCat joined #nim |
15:22:42 | * | nairobi quit (Ping timeout: 276 seconds) |
15:24:02 | * | Ven_ quit (Ping timeout: 244 seconds) |
15:24:49 | * | kulelu88 joined #nim |
15:27:23 | * | Ven_ joined #nim |
15:31:02 | * | rtr_ joined #nim |
15:31:38 | krux02 | dem96, yes the only reason I suggested doing that, is to prevent optimizations that allows to not copy a string, without actually altenting the semantic value of th string |
15:31:56 | * | Ven_ quit (Ping timeout: 244 seconds) |
15:32:05 | krux02 | and a string ending on "\0\0" should not do hard to anybody |
15:33:52 | * | Ven_ joined #nim |
15:34:42 | * | GangstaCat quit (Quit: Leaving) |
15:39:11 | * | Ven_ quit (Ping timeout: 272 seconds) |
15:54:49 | * | vqrs quit (Ping timeout: 248 seconds) |
15:56:44 | * | Ven_ joined #nim |
15:56:57 | * | vqrs joined #nim |
16:04:58 | * | fredrik92 joined #nim |
16:04:59 | * | PMunch joined #nim |
16:05:06 | * | kulelu88 quit (Quit: Leaving) |
16:05:28 | * | kulelu88 joined #nim |
16:07:34 | * | nairobi joined #nim |
16:08:51 | * | nairobi quit (Remote host closed the connection) |
16:09:40 | * | krux02 quit (Quit: Verlassend) |
16:10:35 | * | cheatfate_ joined #nim |
16:11:32 | * | Matthias247 joined #nim |
16:13:30 | * | Ven_ quit (Ping timeout: 265 seconds) |
16:14:19 | * | Ven_ joined #nim |
16:14:58 | * | cheatfate quit (Ping timeout: 265 seconds) |
16:17:31 | * | girvo joined #nim |
16:17:52 | * | chemist69 quit (Ping timeout: 265 seconds) |
16:22:30 | * | girvo quit (Ping timeout: 276 seconds) |
16:23:59 | * | chemist69 joined #nim |
16:26:29 | * | cheatfate_ quit (Read error: Connection reset by peer) |
16:26:34 | * | cheatfate__ joined #nim |
16:27:03 | * | Ven_ quit (Ping timeout: 244 seconds) |
16:28:43 | * | girvo joined #nim |
16:30:42 | * | Ven_ joined #nim |
16:32:55 | * | girvo quit (Ping timeout: 244 seconds) |
16:35:21 | * | Ven_ quit (Ping timeout: 248 seconds) |
16:37:39 | * | Ven_ joined #nim |
16:39:07 | * | Matthias247 quit (Read error: Connection reset by peer) |
16:42:35 | * | Ven_ quit (Ping timeout: 265 seconds) |
16:46:43 | * | Ven_ joined #nim |
16:49:53 | * | libman quit (Read error: Connection reset by peer) |
16:55:14 | * | gangstacat joined #nim |
16:56:18 | * | Ven_ quit (Ping timeout: 264 seconds) |
16:58:05 | * | Ven_ joined #nim |
16:58:31 | * | cheatfate_ joined #nim |
17:01:00 | * | libman joined #nim |
17:02:20 | * | cheatfate__ quit (Ping timeout: 265 seconds) |
17:04:03 | * | cheatfate__ joined #nim |
17:06:41 | * | nairobi joined #nim |
17:07:39 | * | cheatfate_ quit (Ping timeout: 265 seconds) |
17:12:17 | * | Ven_ quit (Ping timeout: 240 seconds) |
17:12:55 | * | Ven_ joined #nim |
17:17:59 | * | Ven_ quit (Ping timeout: 272 seconds) |
17:18:35 | * | Ven_ joined #nim |
17:19:42 | * | libman quit (Read error: Connection reset by peer) |
17:23:02 | * | Ven_ quit (Ping timeout: 244 seconds) |
17:23:39 | * | Ven_ joined #nim |
17:24:00 | * | jh32 joined #nim |
17:27:13 | * | Ven__ joined #nim |
17:27:52 | * | Ven_ quit (Read error: Connection reset by peer) |
17:28:38 | jh32 | hi |
17:30:52 | * | girvo joined #nim |
17:33:07 | jh32 | i have a problem with peekExitCode() on DragonFlyBSD: p.exitCode get's modified even if process did not exit yet. http://flpsed.org/tmp/nim_peek_exit.diff fixes this for me |
17:34:09 | jh32 | i'm new to nim - so no idea if this is the right way to do it, but with that change nimble works now on DragonFly BSD |
17:35:34 | * | girvo quit (Ping timeout: 255 seconds) |
17:37:52 | * | spindle joined #nim |
17:38:07 | * | libman joined #nim |
17:42:31 | cheatfate__ | I hate this BSDs, freebsd working as expected, openbsd/netbsd network is broken for some reason |
17:47:29 | dom96 | jh32: thanks, think you could create a PR for this? |
17:47:56 | jh32 | sure |
17:48:39 | * | libman quit (Read error: Connection reset by peer) |
17:55:44 | jh32 | there seems to be a similar fix in running() |
17:58:55 | * | GustavoLapasta quit (Ping timeout: 260 seconds) |
17:59:54 | dom96 | yeah, I'll merge it. Just want to make sure that the tests pass. |
18:03:10 | cheatfate__ | dom96, adding length to selectors.nim is weird |
18:03:40 | cheatfate__ | for tables length is a very expensive operation |
18:04:08 | cheatfate__ | and now length is called every call to poll() |
18:04:37 | * | cheatfate__ is now known as cheatfate |
18:06:31 | * | libman joined #nim |
18:06:59 | cheatfate | windows part uses HashSet() which have `counter` inside so it is fast, but Tables will go for full cycle over all items |
18:10:43 | * | space-wizard joined #nim |
18:13:48 | jh32 | dom96: thanks (PR #4792) |
18:18:17 | * | libman quit (Read error: Connection reset by peer) |
18:21:29 | dom96 | cheatfate: You're wrong: https://github.com/nim-lang/Nim/blob/devel/lib/pure/collections/tables.nim#L136 |
18:22:29 | dom96 | jh32: You created an issue not a PR. |
18:25:32 | cheatfate | dom96, yep you are right, last time i saw tables.nim there was no counter... |
18:26:25 | dom96 | Even if that was the case then I would call that a tables bug ;) |
18:27:15 | * | chemist69 quit (Ping timeout: 248 seconds) |
18:31:00 | * | girvo joined #nim |
18:31:38 | * | chemist69 joined #nim |
18:31:55 | * | yglukhov joined #nim |
18:35:08 | * | Ven__ quit (Ping timeout: 265 seconds) |
18:35:14 | jh32 | dom96: argh yeah - one moment |
18:35:40 | * | girvo quit (Ping timeout: 260 seconds) |
18:36:21 | * | libman joined #nim |
18:36:57 | * | Ven_ joined #nim |
18:36:59 | * | PMunch quit (Quit: leaving) |
18:38:26 | * | PMunch joined #nim |
18:39:36 | * | shadwick joined #nim |
18:46:18 | * | Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:06:18 | * | yglukhov quit (Remote host closed the connection) |
19:17:00 | * | libman quit (Read error: Connection reset by peer) |
19:22:51 | rudi_s | Any idea why the windows build fails completely? https://gitlab.com/nim-lang/nim/builds/4159379 |
19:24:49 | cheatfate | rudi_s, it needs Araq's renamed openSSL dlls |
19:25:49 | dom96 | There is something wrong with the build server setup |
19:25:55 | dom96 | I will be fixing it soon |
19:26:46 | rudi_s | cheatfate: Would be nice if that could be fixed. Having no working tests on all platforms is problematic. |
19:27:17 | cheatfate | rudi_s, i have tried but Araq wants his renamed openssl dlls |
19:27:33 | cheatfate | this dispute was like 1-2 days ago |
19:27:45 | rudi_s | Hm. |
19:27:57 | rudi_s | Oh, and any idea why some tests fail on gitlab but work fine on github/travis? |
19:28:23 | dom96 | Because I am still working on setting up GitLab CI |
19:28:45 | dom96 | There are still things that need to be sorted out before it can be considered reliable. |
19:29:19 | rudi_s | Good. Hope you get it working soon ;-) |
19:29:57 | * | girvo joined #nim |
19:30:14 | euantor | You don't need anything from me for the Windows builds, right dom96? |
19:30:29 | dom96 | euantor: Don't think so. |
19:30:38 | euantor | I'm away in Scotland with work at the minute and not back until Friday |
19:30:40 | dom96 | euantor: Araq's account still has admin right? |
19:30:42 | cheatfate | rudi_s, because travis supports only Linux and MacOS, and both of them has openssl inside |
19:30:46 | euantor | It should do, yes |
19:31:35 | rudi_s | cheatfate: Thanks. |
19:32:06 | rudi_s | Btw. just noticed this patch: https://github.com/jfhg/Nim/commit/1987447f56b9928ad21eeba1c7f4826378746afd - what is this exitCode = -3 supposed to mean? |
19:34:06 | jh32 | rudi_s: as i understood it, it means the return code has not yet been retrieved |
19:34:16 | * | girvo quit (Ping timeout: 244 seconds) |
19:34:26 | jh32 | rudi_s: feels a bit fragile... |
19:34:40 | * | libman joined #nim |
19:34:51 | rudi_s | Yeah. And if it's a magic value, a constant would be nice. |
19:35:06 | dom96 | I was just thinking that ^ |
19:35:35 | jh32 | rudi_s: i'm not confident enough with this code yet - so i tried to make the change minimal to fix the dfly issue |
19:35:36 | * | Ven_ joined #nim |
19:35:48 | rudi_s | Comments like "`waitPid` fails if the process is not running anymore" (line 1065) don't sound good. |
19:36:01 | * | libman quit (Client Quit) |
19:36:32 | dom96 | osproc in general is difficult to get your head round and refactorings always results in more bugs than they solve. |
19:36:42 | * | shadwick quit (Ping timeout: 240 seconds) |
19:36:44 | dom96 | but feel free to create PRs |
19:39:19 | rudi_s | What does peekExitCode() return if a process was terminated by a signal? |
19:40:48 | * | libman joined #nim |
19:40:51 | cheatfate | rudi_s, depends on process |
19:41:30 | cheatfate | rudi_s, if process can handle signal it can return exitcode, if it not i think exitcode will be -1 |
19:42:13 | rudi_s | cheatfate: What? |
19:42:29 | rudi_s | A process can either handle a signal, then it won't exit, or not handle a signal, then it will die. |
19:42:53 | rudi_s | -1 is problematic because according to the docs that means the program is still running. |
19:43:51 | cheatfate | rudi_s, your first sentence is wrong, because in such way its possible to create unkillable process |
19:45:18 | rudi_s | cheatfate: All right, with the exception of a few signals like SIGKILL and SIGSTOP. |
19:45:59 | dom96 | cheatfate: Any ideas of why your upcoming timers might be failing? https://gitlab.com/nim-lang/nim/builds/4161112#down-build-trace |
19:46:26 | rudi_s | But still, those programs either handle the signal, and thus won't die, or they don't handle it and will die (and they can't handle SIGKILL and SIGSTOP and will therefore always die without an exit code, WIFEXITED(status) will be false). |
19:46:26 | * | libman quit (Read error: Connection reset by peer) |
19:46:56 | * | csoriano_ joined #nim |
19:47:02 | * | csoriano_ is now known as csoriano |
19:48:32 | cheatfate | dom96, because of running in virtual machine, we need to increase constant https://github.com/nim-lang/Nim/blob/devel/tests/async/tupcoming_async.nim#L48 to like 40.0 |
19:49:14 | cheatfate | dom96, it just tries to measure correctness of hardware timer but vm's are too slow |
19:49:23 | dom96 | cheatfate: okay, that's in ms right? |
19:49:40 | cheatfate | dom96, that's in percents |
19:49:55 | cheatfate | +/- 10.0 = +/- 10.0% |
19:50:13 | cheatfate | 10.0 = +/- 10% |
19:50:16 | dom96 | jh32: please fix so that indentation is 2 spaces https://github.com/nim-lang/Nim/pull/4793#pullrequestreview-462750 |
19:51:13 | dom96 | cheatfate: okay |
19:55:06 | * | Ven_ quit (Ping timeout: 264 seconds) |
19:57:46 | * | Ven_ joined #nim |
20:02:44 | rudi_s | Why is p.exitCode nott the exit code but the status from waitpid. It's sometimes overwritten even if waitpid fails - which means the status might not be defined and thus corrupts the p.exitCode flag. |
20:03:42 | rudi_s | Hacking around this with code like if waitpid(..., p.exitCode, 0) < 0: p.exitCode = -3 is insane. Just don't assign to p.exitCode until you've verified if the result is correct. |
20:04:10 | rudi_s | And p.exitCode should be renamed to something like status unless it contains _only_ the exit code of the process. |
20:04:58 | * | libman joined #nim |
20:11:51 | Araq | this code produced the best results, that's why it is this way. |
20:12:05 | Araq | code doesn't start in the state "convoluted mess" |
20:12:16 | Araq | that state always results from bug fixes. |
20:12:52 | dom96 | Araq: so got internet after all? |
20:14:27 | dom96 | Araq: I'm thinking of just calling the .bat script from ./koch |
20:14:33 | * | Ven_ quit (Ping timeout: 240 seconds) |
20:14:41 | dom96 | for now at least |
20:14:56 | Araq | why? |
20:15:08 | Araq | koch.nim already has code for setting the path |
20:15:17 | Araq | and the bat script doesn't get the proper version |
20:15:22 | dom96 | because it works so it's a waste of time converting it to Nim |
20:15:28 | dom96 | I can just pass the version to it |
20:15:28 | Araq | it doesn't work. |
20:15:35 | Araq | meh, ok then |
20:16:03 | dom96 | Araq: oh btw, do you still dislike hierarchies in the stdlib? |
20:16:04 | * | libman quit (Read error: Connection reset by peer) |
20:16:08 | * | gurki joined #nim |
20:16:33 | Araq | sure |
20:16:42 | rudi_s | Araq: What are you talking about? This code was written by somebody who doesn't understand UNIX processes, systems and signals. It's not the result from bug fixes, but from being incorrect in the first place. |
20:16:45 | * | Ven_ joined #nim |
20:17:32 | dom96 | cheatfate: You should have a bit more faith in me ^ |
20:21:46 | * | space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
20:22:28 | cheatfate | dom96, you just asking a wrong questions :) |
20:23:01 | * | nairobi quit (Remote host closed the connection) |
20:23:16 | dom96 | cheatfate: what should I be asking? |
20:23:34 | * | nairobi joined #nim |
20:27:47 | * | nairobi quit (Ping timeout: 248 seconds) |
20:27:58 | cheatfate | Araq, what do you think about adding `async` directory to stdlib? |
20:28:09 | * | irrequietus joined #nim |
20:28:14 | * | Ven_ quit (Ping timeout: 265 seconds) |
20:29:12 | Araq | and then what? |
20:29:36 | Araq | we add it to the --path so people can ignore it? |
20:29:54 | * | girvo joined #nim |
20:30:08 | Araq | or you make people distinguish import "async/httpserver" and import "httpserver"? |
20:31:41 | * | Ven_ joined #nim |
20:33:07 | Araq | rudi_s: I might have been written by somebody who doesn't understand poonix and is proud of it (ie me), but it surely was the result of a bugfix |
20:33:56 | * | libman joined #nim |
20:34:11 | * | girvo quit (Ping timeout: 248 seconds) |
20:34:22 | cheatfate | Araq, in other way if we will continue to implement async modules, stdlib will have asyncdns.nim, asyncpipes.nim, asyncipc.nim, asyncfilenotify.nim, asyncosproc.nim, asynchttpserver.nim and etc |
20:35:00 | Araq | so answer the question, you don't want to add 'async' to --path then. |
20:35:00 | * | chemist69 quit (Ping timeout: 265 seconds) |
20:35:24 | cheatfate | i want to add it to --path |
20:35:39 | cheatfate | i just want to move them all to `async` |
20:36:20 | Araq | ok, so async/pipes exists and no other module named pipes? |
20:37:00 | dom96 | what? This already cannot work. |
20:37:11 | dom96 | async/httpclient and httpclient would clash |
20:37:51 | * | Matthias247 joined #nim |
20:37:52 | dom96 | Unless you're just suggesting to make it async/asynchttpclient |
20:38:05 | Araq | let's just not add it to --path and make also a sync/ directory then |
20:38:36 | * | rudi_s left #nim (#nim) |
20:38:43 | cheatfate | i suggest to move incomplete modules like asynchttpclient/asynchttpserver/asyncftpclient to nimble packages |
20:39:13 | * | chemist69 joined #nim |
20:40:58 | Araq | doesn't that mean to move 'async' to a nimble package altogether? |
20:42:49 | * | nairobi joined #nim |
20:42:50 | cheatfate | heh, of course we can move it to nimble package too |
20:43:23 | cheatfate | but i dont like this idea |
20:43:41 | cheatfate | asyncdispatch is almost complete |
20:43:57 | cheatfate | it has like 80-90% of features |
20:44:32 | cheatfate | all (http/ftp/smtp)clients/server are on stage of 10-15% |
20:44:59 | Araq | come on, you just pulled these numbers out of your ass |
20:45:23 | cheatfate | Araq, why you think so? |
20:45:23 | * | libman quit (Read error: Connection reset by peer) |
20:46:09 | Araq | it reads like "I worked on asyncdispatch, so it gets a 90%, I didn't work on the others so they score 10%" |
20:46:16 | cheatfate | nope |
20:47:27 | cheatfate | you know i have started `wanted` and i got it almost equal to asynchttpserver, after that i have tried to add more features to it and understand that making `prototype` is easy, but i can't call it `webserver` or even `framework` |
20:48:32 | cheatfate | http posts/chunked encoding/multipart encoding/sessions/streaming and all other shit to just call it `framework`... |
20:49:19 | cheatfate | adding timeouts and limits according to RFCs... |
20:49:59 | cheatfate | sanitizing input stream... its all must be implemented to call it `httpserver`. |
20:55:51 | * | desophos quit (Ping timeout: 272 seconds) |
20:56:58 | dom96 | Wow. 10%, really? |
20:57:12 | dom96 | That's awfully low for something that runs nimforum |
20:57:53 | * | Ven_ quit (Ping timeout: 240 seconds) |
20:58:17 | cheatfate | dom96, is it really runs? or it is just backend for nginx which doing all the sanitizing and checking for you? |
20:58:20 | * | nairobi quit (Remote host closed the connection) |
20:58:31 | * | Ven_ joined #nim |
20:58:37 | cheatfate | and also serves all static files? |
20:58:58 | dom96 | Sure, it's backed by nginx |
20:59:16 | dom96 | But that is how it's supposed to be used |
20:59:33 | dom96 | That is how servers are usually set up |
20:59:42 | dom96 | You don't expose PHP's web server to the world |
20:59:49 | dom96 | nor do you expose Ruby's |
21:00:17 | cheatfate | but they don't call their servers like HTTP server |
21:00:37 | dom96 | what do they call it then? |
21:01:05 | Araq | https://docs.python.org/3.4/library/http.server.html :P |
21:01:53 | cheatfate | Araq, This module defines classes for implementing HTTP servers (Web servers). |
21:02:10 | Araq | https://docs.python.org/2/library/simplehttpserver.html |
21:02:24 | cheatfate | and it has even more features, then asynchttpserver |
21:02:37 | * | nairobi joined #nim |
21:02:41 | Araq | alright, alright, we do what you say |
21:03:02 | cheatfate | at least they support mime types |
21:03:03 | * | Ven_ quit (Ping timeout: 240 seconds) |
21:05:22 | * | Ven_ joined #nim |
21:05:43 | * | nairobi_ joined #nim |
21:06:07 | dom96 | We can support that eventually too. |
21:06:14 | dom96 | And whatever else you think is necessary |
21:06:28 | dom96 | The fact is that the HTTP server is indeed an HTTP server. |
21:06:41 | * | nairobi quit (Ping timeout: 240 seconds) |
21:08:30 | * | nairobi_ quit (Read error: Connection reset by peer) |
21:09:32 | cheatfate | i'm completely understand that my opinion is piece of junk for you, but you asked and i give show you my vision (all insecure/not completed/prototypes modules) must be move to packages... |
21:09:40 | * | PMunch quit (Quit: leaving) |
21:09:54 | * | Ven_ quit (Ping timeout: 250 seconds) |
21:10:03 | * | fredrik92 quit (Read error: Connection reset by peer) |
21:10:29 | * | Ven_ joined #nim |
21:17:47 | dom96 | It's not a piece of junk |
21:18:06 | dom96 | I simply disagree, and am trying to convince you to see things from my point of view. |
21:18:28 | * | nsf quit (Quit: WeeChat 1.5) |
21:18:49 | dom96 | But what about the previous discussion about hierarchies? |
21:19:23 | dom96 | I suppose, just as I thought, Araq doesn't wish to have "import async/ftpclient" |
21:20:23 | cheatfate | dom96, but i dont like this too |
21:21:19 | * | nairobi joined #nim |
21:22:05 | Araq | so flip it. |
21:22:18 | Araq | make 'async/ftpclient' the default |
21:22:29 | Araq | and 'sync/ftpclient' needs the longer path |
21:23:12 | Araq | that way, we have both sync/ and async/ and async the default. |
21:23:25 | Araq | and async/osproc will be a pita. |
21:23:34 | Araq | because sync/osproc is what everybody uses |
21:25:45 | * | nairobi quit (Ping timeout: 265 seconds) |
21:25:52 | * | irrequietus quit () |
21:25:55 | dom96 | nah |
21:26:06 | * | irrequietus joined #nim |
21:26:09 | * | irrequietus quit (Client Quit) |
21:29:51 | * | girvo joined #nim |
21:30:09 | * | PMunch joined #nim |
21:32:37 | * | space-wizard joined #nim |
21:34:07 | * | girvo quit (Ping timeout: 244 seconds) |
21:36:28 | cheatfate | Araq, synchronous osproc is usable only for simple tasks, many years ago i have tried to implement GDB/MI interface on python with synchronous pipes and it was very very bad idea |
21:37:54 | Araq | dom96: nah? what do you mean? |
21:38:08 | dom96 | Araq: I don't like that idea |
21:38:54 | Araq | another idea (dunno if I like it): use 'a' prefix instead of 'async' everywhere |
21:39:22 | Araq | or better a suffix: |
21:39:32 | Araq | ftpclienta, httpservera, osproca |
21:40:55 | dom96 | Let's leave it as it is. |
21:41:08 | dom96 | There are more important things to be done than bike-shedding, right now at least. |
21:43:13 | * | fredrik92 joined #nim |
21:44:45 | * | csoriano quit (Quit: csoriano) |
21:50:10 | * | spindle left #nim ("Leaving") |
21:55:13 | PMunch | Hmm, anyone here using Atom as their Nim editor? Which package do you use? |
21:57:33 | * | desophos joined #nim |
21:58:42 | * | Ven_ quit (Ping timeout: 264 seconds) |
22:02:33 | fredrik92 | PMunch: didn't you want to start using VSCode? |
22:02:35 | fredrik92 | :P |
22:07:54 | * | Ven_ joined #nim |
22:12:42 | * | Ven_ quit (Ping timeout: 265 seconds) |
22:16:28 | * | Ven_ joined #nim |
22:25:39 | cheatfate | dom96, does apt-get fasm downloads fasm from ubuntu mirrors? |
22:26:01 | dom96 | no idea |
22:26:41 | * | vqrs quit (Ping timeout: 240 seconds) |
22:26:47 | dom96 | why? |
22:26:54 | cheatfate | we downloading fasm from nim-lang just because flatassembler.net is not very stable |
22:28:09 | * | vqrs joined #nim |
22:28:24 | * | planhths quit (Quit: Konversation terminated!) |
22:29:33 | * | girvo joined #nim |
22:31:39 | * | ryoshu joined #nim |
22:31:39 | dom96 | hopefully ubuntu has something stable |
22:31:46 | ryoshu | hi |
22:31:52 | ryoshu | I'm trying to package new nim in netbsd |
22:32:59 | ryoshu | $ nim --version |
22:32:59 | ryoshu | Nim Compiler Version 0.14.2 (2016-06-11) [NetBSD: amd64] |
22:34:03 | * | girvo quit (Ping timeout: 240 seconds) |
22:34:51 | cheatfate | hi ryoshu |
22:35:02 | ryoshu | how to run tests? |
22:35:19 | cheatfate | if you are inside Nim directory |
22:35:21 | cheatfate | koch tests |
22:35:24 | cheatfate | ./koch tests |
22:36:07 | ryoshu | in 0.14.2? |
22:36:37 | cheatfate | ryoshu, how did you installed nim? |
22:36:44 | dom96 | For tests you need to clone the git repo |
22:36:52 | dom96 | The tests are not distributed with our archies |
22:36:54 | ryoshu | I see |
22:36:55 | dom96 | *archives |
22:38:29 | ryoshu | https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=blob;f=nim/Makefile;h=3535b12aff765ec32adac598dbd5fefb44efc8be;hb=HEAD here is my install definition for a tarball |
22:38:42 | ryoshu | I will check a git snapshot for tests |
22:38:48 | Calinou | hi :) |
22:38:53 | Calinou | dom96: I might implement a Community page tomorrow |
22:38:58 | Calinou | talking about IRC channel, forum, GitHub... |
22:39:02 | Calinou | for new website |
22:39:09 | dom96 | Calinou: yay, great :) |
22:39:53 | Araq | the tests are in the archives since 0.14, I think |
22:41:27 | ryoshu | does this package look ok? |
22:42:28 | Araq | dunno what nim-wrapper.sh does |
22:43:18 | Calinou | dom96: heh, just tested Nim in ALWSL, it works great |
22:43:25 | Calinou | this: https://github.com/turbo/alwsl |
22:43:33 | ryoshu | it generates $PREFIX/bin/nim |
22:43:35 | Calinou | it runs like standard WSL, but with Arch Linux instead of Ubuntu |
22:43:56 | dom96 | Calinou: cool, although the best thing about Nim is that it has great native Windows support :) |
22:44:14 | Calinou | yeah |
22:44:23 | Calinou | still, this is pretty useful for compiling Linux binaries from Windows without a VM |
22:44:57 | * | Calinou is kind of forced to develop on Windows these days, due to university :( |
22:44:57 | * | shadwick joined #nim |
22:45:09 | Calinou | got used to it |
22:46:09 | Trixar_za | ^--- I can agree with that. Would make packaging multi-OS stuff easier from Windows. |
22:46:17 | cheatfate | Calinou, its not perfect at all |
22:46:40 | Calinou | Trixar_za: basically, 99% of Linux programs work in WSL, some people even managed to run graphical programs |
22:47:00 | Calinou | this includes compilers :) |
22:47:06 | dom96 | Can it run Wine? hehe |
22:47:52 | cheatfate | Calinou, i dont think 99% is right number, maybe 70-80 |
22:48:23 | cheatfate | from what i have found personally signalfd is not working |
22:48:45 | Trixar_za | I would laugh, but Wine can run stuff that the newer Windows cannot - and those programs were designed for Windows |
22:49:00 | Calinou | cheatfate: yeah I've had issues with Jekyll too, need to use the native Windows version |
22:49:19 | Araq | Wine cannot even run Starcraft 1 reliably |
22:49:40 | cheatfate | Trixar_za, this because of people which likes to run everything like administrator |
22:49:40 | Calinou | well, Windows 10 Anniversary Update can run quake2.exe from 1997, IIRC |
22:49:44 | Calinou | (not that you need to, but still) |
22:50:01 | Araq | ryoshu: many people consider bootstrapping part of the installation process |
22:50:46 | ryoshu | Araq: what do you mean by bootstrapping? |
22:50:48 | Araq | not sure I agree with that. sh /install.sh is actually what your package should do |
22:51:05 | ryoshu | what's the proper way? |
22:51:18 | Trixar_za | I'm thinking of the early 16bit programs made mostly by Sierra - they haven't run on Windows since XP. I have Windows 3.1.1 in Dosbox for those. |
22:51:50 | Araq | install.sh is the script we offer because we don't support 10 different unix package managers |
22:51:50 | Trixar_za | Mostly because it was fun and nobody was doing it a few years ago. Now every second abandonware site does it. |
22:52:11 | Araq | we don't offer install.sh *for* the unix package managers |
22:52:18 | dom96 | Araq: I've played through all of Half Life 2 (including Episode 1 and 2) through Wine. |
22:52:20 | ryoshu | I see |
22:53:13 | dom96 | There are also many games on OS X which use commercial forks of Wine AFAIK |
22:53:20 | dom96 | So it's definitely impressive |
22:53:49 | * | nsf joined #nim |
22:54:54 | Calinou | CrossOver, yeah |
22:54:56 | Araq | ryoshu: but hey, if it works, it works, right? :-) |
22:55:03 | Calinou | Source games run very well in Wine by now |
22:55:10 | Calinou | Trackmania (legacy, not 2) does too in my experience |
22:55:16 | ryoshu | Araq: I'm trying to determine whether it works and is usable |
22:56:52 | Calinou | cheatfate: just for fun, I'm attempting to run my benchmark suite in ALWSL |
22:56:59 | Calinou | https://github.com/Calinou/benchmarks |
22:57:13 | ryoshu | OK, running ./koch tests |
22:58:25 | ryoshu | http://paste.asie.pl/qAbl FAILURE |
22:58:57 | Calinou | cheatfate: not everything works :P Elixir, Haskell, Clang fail |
22:59:00 | Calinou | Go too |
22:59:30 | Araq | ryoshu: what's libpcre.so named on your system then? |
23:00:19 | ryoshu | /usr/pkg/lib/libpcre.so |
23:00:44 | ryoshu | we don't use ld-config |
23:00:59 | Araq | nor do we, I think |
23:01:02 | ryoshu | so I need to use rpath or LD_LIBRARY_PATH (if only for tests) |
23:01:23 | Araq | yeah |
23:01:35 | Araq | the tester uses pcre and some tests |
23:01:43 | Araq | core nim doesn't |
23:02:51 | ryoshu | is nim trying to link with external shared libraries? if so, it needs to be able to find the dir with proper files ($PREFIX/lib in pkgsrc, like /usr/pkg/lib) |
23:03:49 | Araq | the default mechanism is based on dlopen |
23:04:34 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:05:10 | ryoshu | $ rabin2 -I /usr/pkg/nim/bin/nim |grep -i rpath |
23:05:11 | ryoshu | rpath NONE |
23:05:21 | ryoshu | so it will fail to find any libraries with dlopen(3) |
23:05:38 | ryoshu | except (/usr)/lib ones |
23:06:57 | ryoshu | test tasynctry2.nim is taking quite long |
23:07:30 | ryoshu | ah, it failed |
23:10:17 | ryoshu | few more failed |
23:13:41 | * | Ven_ quit (Ping timeout: 264 seconds) |
23:18:38 | ryoshu | how long it should take to run tests? |
23:20:04 | dom96 | ~40 mins |
23:20:26 | shadwick | Is ospaths supposed to work in nim 0.14.0? Importing it results in "Error: invalid pragma: rtl" |
23:21:04 | shadwick | nvm switched to `os` instead of `ospaths` and it all works. |
23:25:04 | * | fredrik92 quit (Read error: Connection reset by peer) |
23:29:44 | * | girvo joined #nim |
23:34:19 | * | girvo quit (Ping timeout: 265 seconds) |
23:51:58 | ryoshu | https://github.com/nim-lang/Nim/issues/4794 results of running tests on NetBSD |
23:53:31 | * | PMunch quit (Quit: leaving) |
23:54:26 | dom96 | I just fixed the GitLab CI tests on Linux |
23:54:39 | dom96 | would be cool if we could get it running on BSD as well |
23:55:29 | dom96 | Anybody got a server to donate? ;) |
23:57:38 | ryoshu | yes, me |
23:57:51 | ryoshu | I mean, I can run CI bot on a server of mine |
23:58:17 | ryoshu | I prefer buildbot if possible.. |
23:59:14 | dom96 | why do you prefer buildbot? |
23:59:25 | ryoshu | jenkins is java, I don't understand it |