00:08:06 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
00:09:07 | * | bjz joined #nim |
00:17:04 | * | sarlalian quit (Ping timeout: 260 seconds) |
00:19:51 | * | sarlalian joined #nim |
00:44:49 | * | nsf quit (Quit: WeeChat 1.6) |
00:46:14 | * | cheatfate_ is now known as cheatfate |
00:48:34 | * | pie_ quit (Quit: Leaving) |
00:59:04 | * | yglukhov quit (Remote host closed the connection) |
01:16:04 | * | chemist69 quit (Ping timeout: 250 seconds) |
01:29:12 | * | chemist69 joined #nim |
01:49:54 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
01:50:44 | * | pregressive quit (Remote host closed the connection) |
01:51:17 | * | pregressive joined #nim |
01:51:19 | * | DavidGu joined #nim |
01:55:53 | * | pregressive quit (Ping timeout: 260 seconds) |
01:59:33 | * | yglukhov joined #nim |
02:04:06 | * | yglukhov quit (Ping timeout: 244 seconds) |
02:19:20 | * | chemist69 quit (Ping timeout: 250 seconds) |
02:24:46 | * | bjz joined #nim |
02:27:31 | * | bjz quit (Client Quit) |
02:32:42 | * | chemist69 joined #nim |
02:35:42 | * | bjz joined #nim |
02:56:50 | * | pecan is now known as FearFly |
02:57:28 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
03:03:21 | * | yglukhov joined #nim |
03:06:05 | * | FearFly is now known as pecan |
03:13:27 | * | bjz joined #nim |
03:29:20 | FromGitter | <gogolxdong> where does the MAX*(int|float) identifier reside in ? |
03:32:57 | FromGitter | <gogolxdong> is it suitable stand for inf? |
03:33:36 | * | yglukhov quit (Ping timeout: 250 seconds) |
04:09:20 | * | dddddd quit (Remote host closed the connection) |
04:31:12 | * | yglukhov joined #nim |
05:02:43 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
05:03:34 | * | yglukhov quit (Ping timeout: 250 seconds) |
05:18:17 | * | bjz joined #nim |
05:27:55 | * | ARCADIVS joined #nim |
05:44:09 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
05:51:40 | * | bjz joined #nim |
06:01:02 | * | yglukhov joined #nim |
06:05:00 | * | DavidGu quit (Ping timeout: 256 seconds) |
06:05:50 | * | yglukhov quit (Ping timeout: 268 seconds) |
06:13:55 | * | DavidGu joined #nim |
06:37:06 | FromGitter | <Araq> high(int) |
06:37:20 | FromGitter | <Araq> there is no high(float) |
06:48:10 | * | bjz quit (Ping timeout: 250 seconds) |
06:48:51 | * | bjz joined #nim |
07:21:46 | * | GustavoLapasta joined #nim |
07:25:38 | FromGitter | <gogolxdong> `2'u64 shl(63'u64)-1'u64` is maxsimum ,no `high(uint64)` |
07:50:53 | * | gangstacat quit (Quit: Ĝis) |
07:58:12 | * | gangstacat joined #nim |
08:02:41 | FromGitter | <gogolxdong> what does `Error: invalid type: 'T' in this context: 'proc (f: proc (f: float64): float64{.closure.}, r: array): Complex'` mean in the context: |
08:03:37 | FromGitter | <gogolxdong> ```proc FourierTransform(f:proc (f:float64):float64,r:array=array[int,0..high(int)]):Complex=``` |
08:04:21 | FromGitter | <gogolxdong> ''' ⏎ proc FourierTransform(f:proc (f:float64):float64,r:array=array[int,0..high(int)]):Complex= ⏎ ''' |
08:42:49 | * | enthus1ast quit (Ping timeout: 260 seconds) |
08:49:13 | * | foocraft joined #nim |
08:56:22 | FromGitter | <Araq> it means you need to read Nim's documentation. |
08:56:52 | FromGitter | <Araq> you use 'array' here as a typeclass and assign a default value to it that makes no sense |
09:09:32 | FromGitter | <gogolxdong> :smile: |
09:26:45 | * | yglukhov joined #nim |
09:27:03 | * | Trustable joined #nim |
09:27:24 | * | nsf joined #nim |
09:36:31 | * | GustavoLapasta quit (Quit: Leaving) |
09:58:52 | FromGitter | <gogolxdong> ''' |
09:59:09 | FromGitter | <gogolxdong> ''' |
10:04:04 | * | pafmaf joined #nim |
10:06:29 | * | throwaway24678 joined #nim |
10:09:20 | throwaway24678 | I see there are nim bindings for various libs available. Do they offer any advantage over importc or c2nim? |
10:16:24 | FromGitter | <gogolxdong> I wrote a Fourier Transform proc FT*(f:proc(t:float64):float64,n:int=1024):Complex, not sure whether it is theoretical correct, is there someone professional who can help to look into it? |
10:17:21 | FromGitter | <gogolxdong> `proc FT*(f:proc(t:float64):float64,n:int=1024):Complex= ⏎ var c :Complex ⏎ var cs =newSeq[Complex]() ⏎ for i in 0..n: ⏎ var t=i.float64 ... [https://gitter.im/nim-lang/Nim?at=581477318ed1c0ff5c3f0b52] |
10:18:52 | * | maattdd joined #nim |
10:35:35 | * | throwaway24678 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) |
10:36:28 | * | throwaway24678 joined #nim |
10:36:31 | * | throwaway24678 quit (Client Quit) |
10:44:51 | * | elrood joined #nim |
10:52:30 | * | Trustable quit (Remote host closed the connection) |
11:05:20 | * | samuell joined #nim |
11:08:50 | * | gokr joined #nim |
11:15:22 | * | gokr quit (Ping timeout: 250 seconds) |
11:28:34 | * | foocraft quit (Quit: Leaving) |
11:39:41 | * | pafmaf quit (Ping timeout: 260 seconds) |
11:55:50 | * | enthus1ast joined #nim |
12:07:43 | dom96 | Araq: What is our GCs worst case pause time? Go's is now 100 microseconds. |
12:08:34 | dom96 | docs say 2ms hrm |
12:09:16 | * | chemist69 quit (Ping timeout: 260 seconds) |
12:28:50 | * | Pisuke joined #nim |
12:29:28 | * | MyMind quit (Ping timeout: 250 seconds) |
12:36:20 | * | chemist69 joined #nim |
12:36:28 | * | ARCADIVS quit (Quit: ARCADIVS) |
13:24:17 | * | desophos quit (Read error: Connection reset by peer) |
13:26:23 | * | pie_ joined #nim |
13:30:16 | * | yglukhov quit (Remote host closed the connection) |
13:32:51 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
13:36:23 | * | MonsterAbyss quit (Quit: I will be back bitches) |
13:40:03 | * | enthus1ast quit (Remote host closed the connection) |
13:40:05 | * | pie_ quit (Ping timeout: 260 seconds) |
13:40:57 | * | enthus1ast joined #nim |
13:45:59 | * | pie_ joined #nim |
14:06:29 | * | nsf quit (Quit: WeeChat 1.6) |
14:31:27 | * | Trustable joined #nim |
14:48:44 | FromGitter | <Araq> 100 mircoseconds? doubtful |
14:55:12 | * | dddddd joined #nim |
14:58:12 | * | brechtm joined #nim |
14:59:01 | * | brechtm quit (Remote host closed the connection) |
15:09:57 | dom96 | Araq: that's what they all claim |
15:11:08 | Araq | WCET depend on the CPU architecture and to get these numbes |
15:11:11 | Araq | rs |
15:11:15 | Araq | oh ffs |
15:12:00 | Araq | to get these numbers througput is seriously hampered |
15:12:36 | Araq | plus for the known hard realtime GC algorithms you either |
15:12:46 | Araq | a) introduce a read barrier |
15:13:07 | Araq | b) split long arrays under the hood |
15:13:26 | Araq | both are unlikely to have been introduced in a point release of Go. |
15:14:02 | Araq | but *shrug* I suppose it's not a hard realtime GC and the number refers to averages |
15:15:49 | * | DavidGu1 joined #nim |
15:19:12 | * | DavidGu quit (Ping timeout: 256 seconds) |
15:19:12 | * | DavidGu1 is now known as DavidGu |
15:20:28 | * | brechtm joined #nim |
15:25:05 | * | brechtm quit (Ping timeout: 260 seconds) |
15:25:47 | * | nsf joined #nim |
15:28:59 | * | DavidGu quit (Quit: DavidGu) |
15:39:51 | * | pie_ quit (Quit: Leaving) |
16:12:30 | * | PMunch joined #nim |
16:23:47 | FromGitter | <wizzard0> go's GC is not compacting AFAIK so it's easier to get realtime behavior with long arrays |
16:30:24 | * | yglukhov joined #nim |
16:49:21 | * | libman joined #nim |
16:50:04 | * | brechtm joined #nim |
16:54:13 | * | brechtm quit (Ping timeout: 245 seconds) |
16:54:23 | * | yglukhov quit (Remote host closed the connection) |
17:05:43 | chemist69 | hey guys, just wanted to mention that I plugged Nim in the intro to my recent (python-based) talktorial at the RDKit user meeting in front of ~70 chemoinformaticians (https://github.com/rdkit/UGM_2016/blob/master/Presentations/Pahl_NotebookTools_Intro.pdf). |
17:09:20 | dom96 | chemist69: nice. |
17:12:08 | dom96 | wizzard0: Araq: indeed it seems people are sceptical https://www.reddit.com/r/programming/comments/59z507/go_now_has_submillisecond_gc_pause_times/ |
17:12:58 | * | yglukhov joined #nim |
17:15:17 | * | dmi0 joined #nim |
17:21:45 | * | PMunch quit (Quit: leaving) |
17:22:06 | * | gangstacat quit (Remote host closed the connection) |
17:22:34 | * | yglukhov quit (Remote host closed the connection) |
17:26:15 | * | gangstacat joined #nim |
17:28:11 | * | desophos joined #nim |
17:33:43 | * | libman quit (Quit: Leaving.) |
17:43:49 | * | rtr_ joined #nim |
17:44:07 | rtr_ | Can i do `nimble build` for libraries? |
17:47:42 | rtr_ | I'm trying to create a sample nimble package which is a library |
17:47:59 | dom96 | nope, nimble build is only for non-library packages |
17:48:53 | * | yglukhov joined #nim |
17:50:45 | rtr_ | dom96: The way to check if compilation is successful is nimble c parent_module_name? |
17:51:00 | rtr_ | `nimble c parent_module_name` |
17:51:23 | dom96 | what are you trying to do? |
17:51:28 | dom96 | Verify that a package builds? |
17:52:23 | rtr_ | Yeah. 1. Verify if package builds 2. Run unit tests from all the packages (something like `cargo test` as in rust) |
17:53:43 | rtr_ | s/packages/modules |
17:58:33 | dom96 | just compile all .nim files |
18:01:10 | rtr_ | dom96: ok |
18:01:39 | rtr_ | thanks |
18:02:33 | * | irrequietus joined #nim |
18:04:23 | * | stisa joined #nim |
18:04:59 | dom96 | rtr_: you can also try running `nimble tests`, some packages may define a task with that name although it may be missing. |
18:05:52 | dom96 | although it should really be named `test` :) |
18:06:08 | dom96 | I need to make this a convention or add pre-define it for all packages. |
18:11:53 | rtr_ | dom96: I don't know if everyone agrees but cargo is super convenient (nimble is also good given that this is still very early). So you have plans for adding something `nimble test` so that all the tests in`when isMainModule` of all modules can be tested in single go? |
18:12:30 | dom96 | I haven't thought about exactly how it will work yet, but I would like to add something like this. |
18:13:05 | rtr_ | Nice. Thanks :) |
18:13:11 | dom96 | We have issues for most things in the nimble repo, but I think this actually hasn't been reported yet. Maybe you could create an issue for it outlining how Rust does it? :) |
18:13:27 | rtr_ | Sure. I'll |
18:17:35 | stisa | chemist69: if you are familiar with jupyter, would you mind taking a look at https://github.com/stisa/INim ? Just git clone and then nimble install, it should register a nim kernel for jupyter |
18:19:18 | * | Matthias247 joined #nim |
18:34:16 | chemist69 | stisa: the page 404s for me... |
18:34:59 | stisa | uh sorry, it was set to private |
18:35:12 | stisa | chemist69: try now |
18:42:13 | chemist69 | stisa: wow, that looks really cool, I will try it out. |
18:42:19 | chemist69 | This would be perfect to use together with Nim bindings for the RDKit. But writing the wrappers this big C++ project is probably beyond my skills. |
18:44:49 | * | brechtm joined #nim |
18:45:04 | stisa | Thanks! It's still really rought tough, I'd love to hear any feedback on it. |
18:45:50 | * | brechtm quit (Read error: Connection reset by peer) |
18:46:14 | * | brechtm joined #nim |
18:50:31 | chemist69 | stisa: the kernel is dying on me... |
18:51:15 | stisa | os? Does it start and then crash or just doesn't start? |
18:51:26 | * | Cleverson joined #nim |
18:54:17 | chemist69 | I am running ubuntu 16.04 and have just installed zeromq to one of my envs via conda. The kernel seems to start shortly, then dies. |
18:58:44 | * | djellemah joined #nim |
18:59:05 | stisa | chemist69: mmh it probably can't find zmq, could you try grabbing it from http://zeromq.org/intro:get-the-software and adding it to path? |
19:03:04 | dom96 | stisa: awesome that you're rewriting it in Nim :) |
19:05:36 | stisa | dom96: thanks! it's useful to get to know nim better |
19:06:47 | Cleverson | Hello, is there a built-in proc to play wave audio files? I was trying to grab a package called "sound" using nimble, but there is some bug which prevents the package from building, I have even opened an issue for that. |
19:09:16 | Calinou | I wonder, would it be possible to bind "full" Qt to Nim since Nim can be compiled to C++? |
19:09:22 | Calinou | or is this not possible because Nim is not object-oriented? |
19:09:55 | stisa | dom96: btw, while I have you here: with nimble binary packages, is there a way to pass flags to the compiler, eg --threads:on? |
19:10:20 | dom96 | stisa: create a filename.nim.cfg and put `--threads:on` in there |
19:10:48 | stisa | dom96: oh right, I did not think of that, ty |
19:11:39 | chemist69 | stisa: what would have to be added to path? I can not see any binaries. Or do you mean library paths? |
19:12:28 | * | Salewski joined #nim |
19:12:51 | stisa | chemist69: I mean zmq, on windows I had to add the .dll to path to make it work |
19:12:53 | dom96 | Cleverson: nothing in the standard library I'm afraid |
19:13:07 | dom96 | Cleverson: you could use sdl2 for it maybe? |
19:13:24 | dom96 | Calinou: of course it's possible, but Qt is hugeeeee |
19:13:50 | dom96 | This exists though https://github.com/filcuc/nimqml |
19:16:10 | stisa | chemist69: or if you have access to the console, there should be some debug info there |
19:16:58 | Cleverson | dom96: OK, will give it a look. |
19:17:39 | Salewski | Dom, yesterday I had a short look again on chapter 2 to see what has changes. I saw this and do not really understand: |
19:17:50 | Salewski | The main benefit of using constants is efficiency. The compiler can compute a value for you at compile-time, saving time which would be |
19:18:00 | Salewski | otherwise spent at runtime in your program. The obvious downside is longer compilation time but could also be a larger executable size. |
19:18:31 | Salewski | Why "could also be a larger executable size." ? I have no idea. |
19:18:52 | dom96 | Because the computed value has to be stored in the executable |
19:19:40 | Cleverson | Are there general instructions on how to set up and start using the IUP wrapper somewhere? |
19:20:10 | chemist69 | stisa: ok, had to add the zeromq lib/ folder to ld.so.conf.d/. It now works. Thanks for helping me set it up. |
19:21:07 | Salewski | Yes of course, but when we need that value, then it will consume space of course. But it does not matter if it is evaluated or if we type in the result. |
19:21:43 | stisa | chemst69: thank you for trying it! I'll try to find a way to check/install zmq automatically |
19:22:04 | dom96 | Salewski: not sure what you mean |
19:23:51 | * | samuell quit (Quit: Hejdå) |
19:24:06 | Salewski | Dom, when the compiler compute a value for us at compile time, this does not mean that our executable will be larger as when we enter the data manually. |
19:25:01 | Salewski | At least I think so. I am not absolutely sure, that is why I ask. |
19:28:18 | dom96 | indeed, but you may instead be computing the value at runtime] |
19:28:54 | Salewski | When you write it in this way, people may try to avoid compile time cumpotation because they fear larger executables. That is bad. |
19:29:40 | Salewski | Yes, your last statement makes sense, when possible you should ad that statement to the book. |
19:29:51 | * | brechtm quit (Remote host closed the connection) |
19:30:12 | * | rtr_ quit (Remote host closed the connection) |
19:30:49 | * | rtr_ joined #nim |
19:33:16 | * | Cleverson quit (Quit: Miranda NG! Smaller, Faster, Easier. http://miranda-ng.org/) |
19:33:40 | chemist69 | stisa: two questions: how did you get the syntax highlighting done in the example notebook and would it be possible to choose the C compiler, e.g. to use tcc for faster compilation? |
19:35:20 | * | rtr_ quit (Ping timeout: 260 seconds) |
19:36:42 | stisa | chemist69: syntax highlight is github I think, I haven't found a way to get jupyter to highlight properly. As for the compiler, I think there's a flag you can pass to nim, so using the `@> |
19:36:55 | stisa | `#>flags` magic should work |
19:47:14 | * | dmi0 quit (Ping timeout: 268 seconds) |
19:50:48 | * | Mat4 joined #nim |
20:00:41 | chemist69 | stisa: for use with nim command line I would use --cc:tcc, what would I use in the notebook cell? |
20:01:32 | * | rtr_ joined #nim |
20:01:44 | stisa | #>flags --cc:tcc |
20:02:26 | stisa | chemist69: I'm getting errors compiling with tcc tough, not sure why |
20:04:04 | chemist69 | yeah, me too. Nm, I will try it then with the standard compiler. |
20:20:40 | * | elrood quit (Quit: Leaving) |
20:27:16 | Mat4 | stisa: I would like to see the error messages If this does not mean too much effort for you |
20:30:44 | stisa | Mat4: https://gist.github.com/stisa/eb08d8ccbd6a4c037e633aa472b0101c |
20:30:59 | Mat4 | thanks |
20:31:47 | stisa | I compiled tcc in ubuntu on windows using http://lists.nongnu.org/archive/html/tinycc-devel/2016-10/msg00146.html if it helps |
20:35:51 | Mat4 | hmm, limits.h can not be found. Take a look where the include files are located |
20:38:27 | Mat4 | ok, I had take a look at the source tarfile. Limit.h is not included (as other C99 relevant libraries) |
20:39:34 | Mat4 | simply, that is the problem as I see it |
20:40:04 | Mat4 | well, you can write your own (which is not much work) |
20:41:31 | stisa | Mat4: thanks for looking into it! I'll have a look if I can get it to work |
20:44:09 | * | Guest48581 is now known as aorist |
20:44:13 | * | aorist is now known as taotetek |
20:44:43 | * | nsf quit (Quit: WeeChat 1.6) |
20:50:11 | chemist69 | stisa: I get this error message in the notebook cell, when I use #>flags --c--:tcc: Error: arguments can only be given if the '--run' option is selected |
20:51:50 | stisa | chemist69: mmh why --c--:tcc instead of --cc:tcc ? |
20:52:10 | chemist69 | I mean --cc:tcc, it's already quite late |
20:53:10 | stisa | chemist69 oh okay sorry, I'll have a look, but I think I'm doing something wrong when parsing flags. |
20:54:32 | chemist69 | ok, I will call it a day now, have a good night all. stisa, thanks for the really cool Nim notebook integration. |
20:55:11 | stisa | chemist69: good night. I'll try fixing passing flags tonight |
21:02:29 | dom96 | Quick poll: would you guys consider 40 seconds to compile 100k lines of code: A) Slow B) Okay C) Pretty fast? |
21:04:35 | * | bjz joined #nim |
21:07:07 | enthus1ast | dom96 think it depends how well you entertain me while i'm waiting : ) |
21:07:45 | * | irrequietus quit () |
21:08:47 | * | NimBot joined #nim |
21:12:43 | Mat4 | dom96: A |
21:14:37 | * | Mat4 left #nim (#nim) |
21:20:00 | dom96 | That's what I thought. |
21:20:02 | * | gokr joined #nim |
21:20:25 | dom96 | Guess I can't claim Nim is super fast at compilation in my book. |
21:23:22 | cheatfate | interesting why Nim needs `limits.h` |
21:25:30 | cheatfate | i can't see any limits.h declarations used inside of nimbase.h |
21:34:17 | * | brechtm joined #nim |
21:53:06 | * | Pisuke quit (Excess Flood) |
21:54:14 | * | Pisuke joined #nim |
21:56:22 | * | Trustable quit (Remote host closed the connection) |
21:59:11 | Salewski | Dom, you can say that the whole Nim compiler has only about 100k lines of code and compiles itself in 40 seconds. For most people that should be great. |
22:01:40 | Salewski | Bye... |
22:01:43 | * | Salewski left #nim (#nim) |
22:04:38 | * | daekano quit (Ping timeout: 245 seconds) |
22:07:26 | * | daekano joined #nim |
22:17:19 | * | yglukhov quit (Remote host closed the connection) |
22:18:56 | * | stisa quit (Ping timeout: 268 seconds) |
22:24:07 | * | nsf joined #nim |
22:27:34 | * | gokr quit (Ping timeout: 244 seconds) |
22:28:45 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
22:37:46 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:03:42 | * | nsf quit (Quit: WeeChat 1.6) |
23:04:38 | * | bjz joined #nim |
23:09:18 | * | bjz quit (Ping timeout: 265 seconds) |
23:11:35 | * | bjz joined #nim |
23:11:58 | * | brechtm quit (Ping timeout: 268 seconds) |
23:17:46 | * | yglukhov joined #nim |
23:22:12 | * | yglukhov quit (Ping timeout: 260 seconds) |
23:40:04 | * | rtr_ quit (Remote host closed the connection) |
23:40:37 | * | rtr_ joined #nim |
23:42:00 | * | chemist69 quit (Ping timeout: 250 seconds) |
23:42:13 | * | ARCADIVS joined #nim |
23:42:24 | * | gob0 joined #nim |
23:44:11 | * | chemist69 joined #nim |
23:45:02 | * | rtr_ quit (Ping timeout: 250 seconds) |
23:48:38 | * | gob0 left #nim ("ciao") |