<< 29-10-2016 >>

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:20FromGitter<gogolxdong> where does the MAX*(int|float) identifier reside in ?
03:32:57FromGitter<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:06FromGitter<Araq> high(int)
06:37:20FromGitter<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:38FromGitter<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:41FromGitter<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:37FromGitter<gogolxdong> ```proc FourierTransform(f:proc (f:float64):float64,r:array=array[int,0..high(int)]):Complex=```
08:04:21FromGitter<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:22FromGitter<Araq> it means you need to read Nim's documentation.
08:56:52FromGitter<Araq> you use 'array' here as a typeclass and assign a default value to it that makes no sense
09:09:32FromGitter<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:52FromGitter<gogolxdong> '''
09:59:09FromGitter<gogolxdong> '''
10:04:04*pafmaf joined #nim
10:06:29*throwaway24678 joined #nim
10:09:20throwaway24678I see there are nim bindings for various libs available. Do they offer any advantage over importc or c2nim?
10:16:24FromGitter<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:21FromGitter<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:43dom96Araq: What is our GCs worst case pause time? Go's is now 100 microseconds.
12:08:34dom96docs 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:44FromGitter<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:57dom96Araq: that's what they all claim
15:11:08AraqWCET depend on the CPU architecture and to get these numbes
15:11:11Araqrs
15:11:15Araqoh ffs
15:12:00Araqto get these numbers througput is seriously hampered
15:12:36Araqplus for the known hard realtime GC algorithms you either
15:12:46Araqa) introduce a read barrier
15:13:07Araqb) split long arrays under the hood
15:13:26Araqboth are unlikely to have been introduced in a point release of Go.
15:14:02Araqbut *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:47FromGitter<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:43chemist69hey 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:20dom96chemist69: nice.
17:12:08dom96wizzard0: 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:07rtr_Can i do `nimble build` for libraries?
17:47:42rtr_I'm trying to create a sample nimble package which is a library
17:47:59dom96nope, nimble build is only for non-library packages
17:48:53*yglukhov joined #nim
17:50:45rtr_dom96: The way to check if compilation is successful is nimble c parent_module_name?
17:51:00rtr_`nimble c parent_module_name`
17:51:23dom96what are you trying to do?
17:51:28dom96Verify that a package builds?
17:52:23rtr_Yeah. 1. Verify if package builds 2. Run unit tests from all the packages (something like `cargo test` as in rust)
17:53:43rtr_s/packages/modules
17:58:33dom96just compile all .nim files
18:01:10rtr_dom96: ok
18:01:39rtr_thanks
18:02:33*irrequietus joined #nim
18:04:23*stisa joined #nim
18:04:59dom96rtr_: you can also try running `nimble tests`, some packages may define a task with that name although it may be missing.
18:05:52dom96although it should really be named `test` :)
18:06:08dom96I need to make this a convention or add pre-define it for all packages.
18:11:53rtr_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:30dom96I haven't thought about exactly how it will work yet, but I would like to add something like this.
18:13:05rtr_Nice. Thanks :)
18:13:11dom96We 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:27rtr_Sure. I'll
18:17:35stisachemist69: 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:16chemist69stisa: the page 404s for me...
18:34:59stisauh sorry, it was set to private
18:35:12stisachemist69: try now
18:42:13chemist69stisa: wow, that looks really cool, I will try it out.
18:42:19chemist69This 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:04stisaThanks! 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:31chemist69stisa: the kernel is dying on me...
18:51:15stisaos? Does it start and then crash or just doesn't start?
18:51:26*Cleverson joined #nim
18:54:17chemist69I 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:05stisachemist69: 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:04dom96stisa: awesome that you're rewriting it in Nim :)
19:05:36stisadom96: thanks! it's useful to get to know nim better
19:06:47CleversonHello, 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:16CalinouI wonder, would it be possible to bind "full" Qt to Nim since Nim can be compiled to C++?
19:09:22Calinouor is this not possible because Nim is not object-oriented?
19:09:55stisadom96: 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:20dom96stisa: create a filename.nim.cfg and put `--threads:on` in there
19:10:48stisadom96: oh right, I did not think of that, ty
19:11:39chemist69stisa: 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:51stisachemist69: I mean zmq, on windows I had to add the .dll to path to make it work
19:12:53dom96Cleverson: nothing in the standard library I'm afraid
19:13:07dom96Cleverson: you could use sdl2 for it maybe?
19:13:24dom96Calinou: of course it's possible, but Qt is hugeeeee
19:13:50dom96This exists though https://github.com/filcuc/nimqml
19:16:10stisachemist69: or if you have access to the console, there should be some debug info there
19:16:58Cleversondom96: OK, will give it a look.
19:17:39SalewskiDom, 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:50SalewskiThe 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:00Salewskiotherwise spent at runtime in your program. The obvious downside is longer compilation time but could also be a larger executable size.
19:18:31SalewskiWhy "could also be a larger executable size." ? I have no idea.
19:18:52dom96Because the computed value has to be stored in the executable
19:19:40CleversonAre there general instructions on how to set up and start using the IUP wrapper somewhere?
19:20:10chemist69stisa: 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:07SalewskiYes 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:43stisachemst69: thank you for trying it! I'll try to find a way to check/install zmq automatically
19:22:04dom96Salewski: not sure what you mean
19:23:51*samuell quit (Quit: Hejdå)
19:24:06SalewskiDom, 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:01SalewskiAt least I think so. I am not absolutely sure, that is why I ask.
19:28:18dom96indeed, but you may instead be computing the value at runtime]
19:28:54SalewskiWhen you write it in this way, people may try to avoid compile time cumpotation because they fear larger executables. That is bad.
19:29:40SalewskiYes, 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:40chemist69stisa: 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:42stisachemist69: 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:55stisa`#>flags` magic should work
19:47:14*dmi0 quit (Ping timeout: 268 seconds)
19:50:48*Mat4 joined #nim
20:00:41chemist69stisa: 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:44stisa#>flags --cc:tcc
20:02:26stisachemist69: I'm getting errors compiling with tcc tough, not sure why
20:04:04chemist69yeah, me too. Nm, I will try it then with the standard compiler.
20:20:40*elrood quit (Quit: Leaving)
20:27:16Mat4stisa: I would like to see the error messages If this does not mean too much effort for you
20:30:44stisaMat4: https://gist.github.com/stisa/eb08d8ccbd6a4c037e633aa472b0101c
20:30:59Mat4thanks
20:31:47stisaI compiled tcc in ubuntu on windows using http://lists.nongnu.org/archive/html/tinycc-devel/2016-10/msg00146.html if it helps
20:35:51Mat4hmm, limits.h can not be found. Take a look where the include files are located
20:38:27Mat4ok, I had take a look at the source tarfile. Limit.h is not included (as other C99 relevant libraries)
20:39:34Mat4simply, that is the problem as I see it
20:40:04Mat4well, you can write your own (which is not much work)
20:41:31stisaMat4: 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:11chemist69stisa: 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:50stisachemist69: mmh why --c--:tcc instead of --cc:tcc ?
20:52:10chemist69I mean --cc:tcc, it's already quite late
20:53:10stisachemist69 oh okay sorry, I'll have a look, but I think I'm doing something wrong when parsing flags.
20:54:32chemist69ok, I will call it a day now, have a good night all. stisa, thanks for the really cool Nim notebook integration.
20:55:11stisachemist69: good night. I'll try fixing passing flags tonight
21:02:29dom96Quick 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:07enthus1astdom96 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:43Mat4dom96: A
21:14:37*Mat4 left #nim (#nim)
21:20:00dom96That's what I thought.
21:20:02*gokr joined #nim
21:20:25dom96Guess I can't claim Nim is super fast at compilation in my book.
21:23:22cheatfateinteresting why Nim needs `limits.h`
21:25:30cheatfatei 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:11SalewskiDom, 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:40SalewskiBye...
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")