<< 10-12-2016 >>

00:00:59*yglukhov joined #nim
00:04:56*yglukhov quit (Ping timeout: 240 seconds)
00:08:31*prose[m] quit (Remote host closed the connection)
00:08:31*MrAxilus[m] quit (Remote host closed the connection)
00:08:32*dyce[m] quit (Remote host closed the connection)
00:08:32*zielmicha[m] quit (Remote host closed the connection)
00:08:32*TheManiac quit (Read error: Connection reset by peer)
00:08:33*jivank[m] quit (Read error: Connection reset by peer)
00:08:34*Guest73656[m] quit (Remote host closed the connection)
00:08:34*M-Quora quit (Write error: Connection reset by peer)
00:08:34*terry[m] quit (Write error: Connection reset by peer)
00:08:35*hohlerde quit (Remote host closed the connection)
00:08:36*erwana[m] quit (Remote host closed the connection)
00:11:06Araqkrux02: yeah, known issue, please fix it
00:12:08krux02Araq: If I would know how I could fix that I would already have done it.
00:13:10krux02Yesterday I heard in a GDC talk that the community is very good at detecting when something is wrong, but does a bad job at fixing it.
00:14:16krux02I am afraid so say that I am community, I can detect when something is wrong and try to boil it down to something reproducable, but I have a very hard job at fixing it. I saw that when I was digging into the code to add the getType2 function
00:14:56*pregress_ quit (Remote host closed the connection)
00:17:03*vlad1777d__ quit (Quit: Leaving)
00:17:11*dhk joined #nim
00:22:43*BlaXpirit quit (Quit: Bye)
00:23:01*FromGitter joined #nim
00:27:53Araqkrux02: actually giving me a test case is sufficient
00:29:10krux02Araq: ok that could be possible, I just have to reduce the smallest example I have to something as small as possible
00:29:28krux02how is it going with the change of seq to be non-nil-able
00:30:26*yglukhov joined #nim
00:31:21Araqthere is no work going on in this direction right now
00:31:55AraqI've been working for far too long on this "signature" codegen where the codegen produces deterministic C code to speed up compile times
00:32:10*dhk quit (Quit: Leaving)
00:32:15Araqhowever, I found the 'last' bug with it, so progress should be faster now
00:32:36Araqafter that is in devel, the codegen is replaced by an AST codegen
00:33:02Araqwhich allows for easier internal changes like non-nil seqs et al
00:33:53Araqin fact, I plan to go crazy and try to map seqs and strings to the STL for the C++ target
00:34:51*BlaXpirit joined #nim
00:34:58*yglukhov quit (Ping timeout: 250 seconds)
00:35:06Araqmaybe we can even map 'ref T' to 'shared_ptr<T>'
00:54:37*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:01:00*yglukhov joined #nim
01:02:54*zama quit (Read error: Connection reset by peer)
01:04:14*eizua joined #nim
01:04:33*zama joined #nim
01:10:02*yglukhov quit (Ping timeout: 268 seconds)
01:30:40*brson joined #nim
01:31:34*brson_ joined #nim
01:35:19*brson quit (Ping timeout: 268 seconds)
01:36:03*bjz joined #nim
01:39:17*anthony_ joined #nim
01:45:08*niv quit (Remote host closed the connection)
01:46:18*niv joined #nim
01:46:31*brson_ quit (Quit: leaving)
01:46:45*anthony_ quit (Quit: Textual IRC Client: www.textualapp.com)
01:47:09*brson joined #nim
01:47:10*anthony_ joined #nim
01:50:38Xenimscript is the best build tool
01:52:09Xein my projects even though the code is typically in not-nim, i end up using nimble tasks for doing little fiddly functions, deployments or migrations
01:52:20Xeand it's all in one file
01:52:48Xei wish that nimscript had a setEnv proc though
01:53:15*anthony_ quit (Quit: Textual IRC Client: www.textualapp.com)
02:01:21*yglukhov joined #nim
02:05:48*yglukhov quit (Ping timeout: 250 seconds)
02:06:23*yglukhov joined #nim
02:08:44*chemist69 quit (Ping timeout: 246 seconds)
02:10:44*yglukhov quit (Ping timeout: 250 seconds)
02:22:52*chemist69 joined #nim
02:34:47*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:35:48*yglukhov joined #nim
02:40:12*yglukhov quit (Ping timeout: 256 seconds)
02:41:22*bjz joined #nim
02:45:58*yglukhov joined #nim
02:46:13*dddddd quit (Remote host closed the connection)
02:50:24*yglukhov quit (Ping timeout: 256 seconds)
02:56:09*yglukhov joined #nim
03:00:36*yglukhov quit (Ping timeout: 256 seconds)
03:05:59*yglukhov joined #nim
03:08:24*djellemah quit (Ping timeout: 260 seconds)
03:09:20*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:10:33*yglukhov quit (Ping timeout: 252 seconds)
03:11:57*Snircle joined #nim
03:15:47*yglukhov joined #nim
03:20:26*yglukhov quit (Ping timeout: 256 seconds)
03:27:22*brson_ joined #nim
03:30:07*brson quit (Ping timeout: 258 seconds)
03:30:59*saml_ joined #nim
03:41:12*NimBot joined #nim
03:43:08*brson_ quit (Quit: leaving)
04:15:12*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:31:10*yglukhov joined #nim
04:35:28*yglukhov quit (Ping timeout: 250 seconds)
04:46:00*yglukhov joined #nim
04:50:32*yglukhov quit (Ping timeout: 256 seconds)
04:56:12*yglukhov joined #nim
05:00:36*yglukhov quit (Ping timeout: 250 seconds)
05:06:09*yglukhov joined #nim
05:10:24*yglukhov quit (Ping timeout: 250 seconds)
05:15:33*yglukhov joined #nim
05:19:59*yglukhov quit (Ping timeout: 252 seconds)
05:25:27*yglukhov joined #nim
05:27:11*nsf joined #nim
05:29:54*yglukhov quit (Ping timeout: 250 seconds)
05:36:42*djellemah joined #nim
05:42:50*saml_ quit (Remote host closed the connection)
05:43:56*bjz_ joined #nim
05:43:59*bjz quit (Ping timeout: 246 seconds)
05:53:50krux02Araq: mapping types to std::shared_ptr, std::vector and std::string would be great for integrating nim to other c++ projects. But in practice the c++ stl containers are basically in all bigger projects replaced by other non-stl containers for various reasons (think QString). But for me alone it would already be enough, when seq and string types do not touch the garbage collected heap anymore at all. That would be that I can disable the gc for all my projects.
05:54:53*yglukhov joined #nim
06:03:27*djellemah_ joined #nim
06:03:38*yglukhov quit (Ping timeout: 264 seconds)
06:09:28*yglukhov joined #nim
06:14:26*yglukhov quit (Ping timeout: 264 seconds)
06:19:42*yglukhov joined #nim
06:20:29*bjz_ quit (Ping timeout: 252 seconds)
06:25:49*bjz joined #nim
06:28:50*yglukhov quit (Ping timeout: 264 seconds)
06:39:55*yglukhov joined #nim
06:44:19*yglukhov quit (Ping timeout: 252 seconds)
06:54:10*yglukhov joined #nim
06:58:50*yglukhov quit (Ping timeout: 264 seconds)
07:00:35*djellemah_ quit (Ping timeout: 258 seconds)
07:04:25*yglukhov joined #nim
07:07:06krux02ok that was wrong, not all bigger projects. It just happens here and there is more accurate.
07:07:15*krux02 quit (Quit: Leaving)
07:09:02*yglukhov quit (Ping timeout: 264 seconds)
07:25:07*dddddd joined #nim
07:26:21*brechtm joined #nim
07:38:47*yglukhov joined #nim
07:43:21*yglukhov quit (Ping timeout: 252 seconds)
07:52:53*eizua quit (Ping timeout: 252 seconds)
07:54:25*bjz quit (Ping timeout: 244 seconds)
07:56:30*brechtm quit (Remote host closed the connection)
07:58:58*bjz joined #nim
08:08:53*bjz_ joined #nim
08:09:19*bjz quit (Ping timeout: 265 seconds)
08:13:01*chemist69 quit (Ping timeout: 258 seconds)
08:14:12*chemist69 joined #nim
08:14:28*Varriount|Mobile joined #nim
08:20:19*bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:30:48*yglukhov joined #nim
08:32:25*yglukhov quit (Remote host closed the connection)
08:33:11*space-wi_ joined #nim
08:34:43*space-wizard quit (Ping timeout: 244 seconds)
08:48:23*space-wi_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:49:52*bjz joined #nim
09:04:17*yglukhov joined #nim
09:05:33*arnetheduck quit (*.net *.split)
09:07:09*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
09:11:00*arnetheduck joined #nim
09:27:27*Kingsquee joined #nim
09:30:20*dddddd quit (Remote host closed the connection)
09:32:38*arnetheduck quit (*.net *.split)
09:33:31*arnetheduck joined #nim
09:44:47*Matthias247 joined #nim
10:00:58*yglukhov quit (Remote host closed the connection)
10:01:30*yglukhov joined #nim
10:02:04*eizua joined #nim
10:06:02*yglukhov quit (Ping timeout: 264 seconds)
10:11:39*yglukhov joined #nim
10:21:05*yglukhov quit (Remote host closed the connection)
10:21:26*yglukhov joined #nim
10:32:44*Kingsquee quit (Read error: Connection reset by peer)
10:33:18*Kingsquee joined #nim
10:37:21*yglukhov quit (Remote host closed the connection)
10:45:23*vlad1777d joined #nim
10:56:38*vlad1777d quit (Ping timeout: 250 seconds)
10:56:46*vlad1777d joined #nim
10:59:43*rokups joined #nim
11:08:29ftsfhmm when defining a proc, how do I say what type it is? eg if I have a type Foo = proc(): bool when I define proc bar(): bool how can I say it's of type Foo ?
11:10:05*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
11:12:19Varriount|Mobileftsf: You don't.
11:13:39*yglukhov joined #nim
11:14:21ftsfhmm ok
11:14:27ftsfi'll go up a step.
11:15:45*Matthias247 quit (Read error: Connection reset by peer)
11:16:11ftsfi'm trying to create an object type that has a field which is a seq[proc(self: Object): bool] but when I try to populate the field with @[fitsCategoryA, fitsCategoryB] it complains
11:16:15ftsfError: type mismatch: got (seq[proc (self: Object): bool{.locks: 0.}]) but expected 'seq[proc (self: Object): bool{.closure.}]'
11:17:08ftsfit seems to work fine if it's not in a seq though
11:17:20ftsfif I just have a field that references a single proc
11:18:38*yglukhov quit (Ping timeout: 264 seconds)
11:19:05ftsfsomething special about seq of procs?
11:23:55Varriount|MobileHm
11:24:21Varriount|MobileI'm wondering why the type is defaulting to {.closure.}
11:24:44ftsfyeah that seems weird, and I can't define them as closures since they're top level procs
11:25:05Varriount|Mobileftsf: Can you post all the code you have?
11:25:16ftsfi'll try and build a test case
11:25:21Araqit's not weird, it's in the spec
11:25:27Araqfor obvious reasons:
11:25:42Araq.closure proc types is compatible with .nimcall, but not the other way round
11:25:52Araqso its the only sane default for proc types.
11:26:12Varriount|MobileAraq: But what if you really do need a sequence of procedure pointers?
11:26:43Araqthen you either convert your procs to .closure explicitly or you declare the sequence of proc pointers with .nimcall
11:27:16ftsfso if I make the seq take {.nimcall.} it should be fine?
11:27:16Araqthe latter is faster.
11:27:23Araqyes.
11:27:25Varriount|MobileBut don't closure procedures take up two pointers?
11:27:25ftsfcool =)
11:30:41*g4spr0m joined #nim
11:31:57AraqVarriount|Mobile: sure, that's why .nimcall needs to be converted to .closure
11:34:25Varriount|MobileHm. So why doesn't the compiler automatically convert references to the procedures in the literal?
11:35:48Varriount|MobileI know that it's possible, as the closure type will call its procedure with .nimcall. If the environment is null
11:37:52*g4spr0m quit (Quit: Leaving)
11:38:07*elrood joined #nim
11:38:21*g4spr0m joined #nim
11:52:42Araqbecause the "is convertible" relation is not lifted to seqs. or seqs of tuples of tuples inside seqs
11:53:21Araqthat's a PITA to support.
12:01:57*Snircle joined #nim
12:02:54*brechtm joined #nim
12:13:20*g4spr0m quit (Ping timeout: 250 seconds)
12:24:28ftsfdoing the Ludum Dare 48 hour game competition using Nim =) it's going pretty well so far!
12:32:43ftsfhttp://static.impbox.net.beta.anchortrove.com/ld37/movingin1.mp4 theme is "One Room"
12:42:02dom96ftsf: that looks awesome!
12:42:34dom96nice take on the theme :)
12:42:52dom96Wish I had a free weekend to do it too, maybe next time
12:43:24ftsfyeah, it's difficult to make the time
12:43:35ftsfespecially in my time zone, it starts saturday afternoon
12:43:52ftsfbut i think this is simple enough that i can finish in time
12:44:24dom96I love your pixel art.
12:44:40dom96simple but you can tell exactly what it is
12:45:32ftsfcheers
12:47:32dom96Keep up the good work. I gotta go, see you later!
12:47:40ftsfo/ have fun!
12:51:43*vlad1777d quit (*.net *.split)
12:51:44*zama quit (*.net *.split)
12:51:44*Gonzih quit (*.net *.split)
12:51:44*ofelas quit (*.net *.split)
12:51:44*def-- quit (*.net *.split)
12:51:44*jackv quit (*.net *.split)
12:52:23*vlad1777d joined #nim
12:52:23*zama joined #nim
12:52:23*Gonzih joined #nim
12:52:23*ofelas joined #nim
12:52:23*17SAAQQHV joined #nim
12:52:23*jackv joined #nim
13:12:26*brechtm quit (Remote host closed the connection)
13:14:08*saml_ joined #nim
13:16:39*brechtm joined #nim
13:28:15*synshroud quit (Quit: ZNC 1.6.3 - http://znc.in)
13:35:04FromGitter<tekjar> https://github.com/tekjar/nimqtt-protocol
13:35:06*Trustable joined #nim
13:35:11FromGitter<tekjar> My first nim library
13:36:08FromGitter<tekjar> With very limited nim knowledge :P
13:37:08FromGitter<tekjar> Is there a simple way to run all the unit tests in modules?
13:39:29FromGitter<tekjar> By the way, this a mqtt protocol library in pure nim
13:40:07FromGitter<tekjar> Can be used to write mqtt clients and brokers (requires more polish though)
13:51:19*brechtm quit (Remote host closed the connection)
14:05:01*brechtm joined #nim
14:05:11*bjz quit (Ping timeout: 268 seconds)
14:05:20*synshroud joined #nim
14:05:25*bjz joined #nim
14:06:06*brechtm left #nim (#nim)
14:07:01*byte512 joined #nim
14:26:04*PMunch joined #nim
14:38:53*eizua quit (Remote host closed the connection)
14:53:57*bjz quit (Ping timeout: 248 seconds)
14:54:47*bjz joined #nim
15:06:04*arnetheduck quit (Ping timeout: 260 seconds)
15:27:06*vlad1777d_ joined #nim
15:27:32*vlad1777d quit (Ping timeout: 244 seconds)
15:35:25*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
15:46:27*PMunch quit (Quit: leaving)
15:56:30*chemist69 quit (Ping timeout: 246 seconds)
16:17:31Varriount|Mobileftsf: SDL?
16:18:24Varriount|Mobile@tekjar Right now Nim lacks a good unit testing framework.
16:19:15Varriount|MobileWhich is a bit sad, since I can imagine term-rewriting macros would make stubbing modules a breeze.
16:22:25FromGitter<tekjar> Ohh..Hope that happens soon
16:23:37*chemist69 joined #nim
16:32:29*libman joined #nim
16:33:07Varriount|Mobile@tekjar Maybe you could write one :3
16:34:28*libman quit (Read error: Connection reset by peer)
16:38:12*libman joined #nim
16:46:41*vlad1777d_ quit (Quit: Leaving)
16:49:45federico3Varriount|Mobile: like https://github.com/nim-appkit/omega ?
16:52:10Varriount|Mobilefederico3: That actually looks pretty useful.
16:52:47Varriount|MobileI guess I was thinking more along the lines of mocking/stubbing out procedures and types
16:52:58*g4spr0m joined #nim
16:53:41federico3oh, a mocking lib would be really nice but it might be tricky to implement
16:53:52Varriount|MobileWith term rewriting macros, you could replace all incisions of a concrete procedure with a mocked out version
16:54:21Varriount|Mobile*invocations
16:56:16Varriount|MobileAnd you could create a wrapper type that performs sanity checks on the wrapped type's members
16:57:56*g4spr0m quit (Ping timeout: 240 seconds)
16:59:40*pregressive joined #nim
17:05:19*g4spr0m joined #nim
17:12:45federico3I have some ideas on improving unittest.nim - shall we open an issue for it or develop it as a new lib?
17:16:37*sp33der89 joined #nim
17:19:02*g4spr0m quit (Remote host closed the connection)
17:37:54*libman quit (Ping timeout: 250 seconds)
17:40:01*libman joined #nim
17:53:39*vlad1777d joined #nim
17:59:36*chemist69 quit (Ping timeout: 240 seconds)
18:13:17*nsf quit (Quit: WeeChat 1.6)
18:21:55*rokups quit (Quit: Connection closed for inactivity)
18:26:49*chemist69 joined #nim
18:27:32federico3I'll take it as an enthusiastic yes
18:27:47*vlad1777d_ joined #nim
18:28:35*vlad1777d quit (Ping timeout: 260 seconds)
18:30:31*Matthias247 joined #nim
18:39:00*byte512 quit (Ping timeout: 250 seconds)
18:49:34euantorOpening an issue with details of the ideas you have might be a good idea
18:50:51euantorI use the unittest module quite a lot, and it's pretty nice as it is.
18:54:37federico3euantor: #5114 :)
18:54:54federico3(yep, it's pretty nice already!)
19:01:31FromGitter<tekjar> :)
19:02:03FromGitter<tekjar> I’ll just pretend all this unittest discussion hannened because of me :P
19:02:13FromGitter<tekjar> happened*
19:07:57*vlad1777d__ joined #nim
19:09:30*vlad1777d_ quit (Ping timeout: 250 seconds)
19:25:50*dddddd joined #nim
19:36:54*Demos joined #nim
19:41:37*vlad1777d_ joined #nim
19:43:07*vlad1777d__ quit (Ping timeout: 252 seconds)
19:44:17*nsf joined #nim
19:44:31*space-wizard joined #nim
19:45:14*djellemah_ joined #nim
19:52:51*kulelu88 joined #nim
20:12:02*vlad1777d__ joined #nim
20:12:58*vlad1777d__ quit (Client Quit)
20:13:19*Demos quit (Quit: Konversation terminated!)
20:13:19*vlad1777d_ quit (Ping timeout: 258 seconds)
20:22:38*nsf quit (Quit: WeeChat 1.6)
20:44:23*Jesin joined #nim
20:46:01*djellemah_ quit (Ping timeout: 268 seconds)
20:51:36*yglukhov joined #nim
20:57:02*yglukhov quit (Ping timeout: 264 seconds)
21:17:00*saml_ quit (Remote host closed the connection)
21:23:12*vlad1777d joined #nim
21:45:26*Sentreen quit (Ping timeout: 246 seconds)
21:50:43*libman quit (Remote host closed the connection)
21:50:44*Jesin quit (Quit: Leaving)
21:55:42*sp33der89 quit (Quit: I'll be back)
21:58:43*Sentreen joined #nim
22:06:48*vlad1777d_ joined #nim
22:08:40*vlad1777d quit (Ping timeout: 256 seconds)
22:24:21*yglukhov joined #nim
22:28:51*yglukhov quit (Ping timeout: 252 seconds)
22:30:46*bjz joined #nim
22:47:29*derlafff quit (Ping timeout: 260 seconds)
22:47:55*derlafff joined #nim
22:52:16subsetparkAre there a built-in versions of `succ` and `pred` that wrap around for enums, for instance, in an enum north,east,south,west: west.succ = north? Otherwise I know it would be simple to write them
22:52:56*derlafff quit (Ping timeout: 250 seconds)
23:00:11*elrood quit (Quit: Leaving)
23:05:24*Trustable quit (Remote host closed the connection)
23:05:43*Varriount|Phone joined #nim
23:06:36*yglukhov joined #nim
23:09:52*Varriount|Mobile quit (Ping timeout: 256 seconds)
23:09:53*Varriount|Phone quit (Read error: Connection reset by peer)
23:10:18*Varriount|Phone joined #nim
23:11:26*yglukhov quit (Ping timeout: 264 seconds)
23:23:52*Varriount|Phone quit (Read error: Connection reset by peer)
23:30:09*Varriount|Phone joined #nim
23:43:08*vlad1777d_ quit (Quit: Leaving)
23:48:49*yglukhov joined #nim
23:53:26*yglukhov quit (Ping timeout: 264 seconds)
23:58:08*Varriount|Phone quit (Read error: Connection reset by peer)