<< 21-09-2015 >>

00:18:25*Sembei quit (Ping timeout: 240 seconds)
00:24:00*keyle joined #nim
00:24:51*gokr quit (Ping timeout: 255 seconds)
00:34:26*Demon_Fox joined #nim
00:49:52*keyle quit (Quit: http://twitter.com/keyle/)
01:17:53*pregressive joined #nim
01:22:28*pregressive quit (Ping timeout: 272 seconds)
01:23:59*rupil quit (Quit: Page closed)
01:33:53*chemist69 joined #nim
01:35:42*wuehlmaus quit (Quit: Lost terminal)
01:37:03*chemist69_ quit (Ping timeout: 252 seconds)
01:47:42*Demon_Fox quit (Read error: Connection reset by peer)
01:47:47*Demon_Fox_ joined #nim
02:01:37*enamex_ quit (Ping timeout: 265 seconds)
02:03:23*Jesin quit (Quit: Leaving)
02:38:47*jgirvin1 joined #nim
02:38:47*jgirvin1 is now known as jgirvin3
02:38:50*jgirvin2 joined #nim
02:38:50*jgirvin2 is now known as jgirvin4
02:39:49*jgirvin4 quit (Client Quit)
02:40:02*jgirvin3 quit (Client Quit)
02:40:31*girvo joined #nim
02:41:47*jgirvin joined #nim
02:41:48*jgirvin quit (Client Quit)
02:42:43*Jehan_ joined #nim
02:45:02*yglukhov joined #nim
02:49:31*yglukhov quit (Ping timeout: 250 seconds)
02:52:25*girvo quit (Quit: leaving)
03:00:38*BitPuffin|osx quit (Ping timeout: 272 seconds)
03:18:44*pregressive joined #nim
03:22:44*jgirvin joined #nim
03:22:45*jgirvin quit (Client Quit)
03:23:03*pregressive quit (Ping timeout: 255 seconds)
03:24:05*darkf joined #nim
03:44:28*vendethiel joined #nim
04:06:53*vegansk joined #nim
04:08:51*vendethiel quit (Ping timeout: 252 seconds)
04:33:09*HoloIRCUser joined #nim
04:33:25*HoloIRCUser is now known as enamex_
05:03:08*Jehan_ quit (Quit: Leaving)
05:08:51*gokr joined #nim
05:10:28*enamex_ quit (Ping timeout: 268 seconds)
05:38:16*lyro quit (Read error: Connection reset by peer)
05:58:53*lyro joined #nim
06:08:36*Demon_Fox_ quit (Ping timeout: 265 seconds)
06:10:59*strcmp1 quit (Ping timeout: 264 seconds)
06:21:02*yglukhov joined #nim
06:26:30*yglukhov quit (Ping timeout: 240 seconds)
06:30:10*yglukhov joined #nim
06:34:59*yglukhov quit (Ping timeout: 264 seconds)
06:36:47*gokr_ joined #nim
06:43:38*jakesyl quit (Ping timeout: 240 seconds)
06:50:02*gokr_ quit (Read error: Connection reset by peer)
06:55:56*jakesyl joined #nim
07:01:08*Demon_Fox joined #nim
07:17:49*Trustable joined #nim
07:29:04*yglukhov joined #nim
07:29:12*Trustable quit (Read error: Connection reset by peer)
07:29:26*Trustable joined #nim
07:44:00*thotypous quit (Ping timeout: 244 seconds)
07:48:12*Demon_Fox quit (Quit: Leaving)
08:01:14*irrequietus joined #nim
08:04:51*coffeepot joined #nim
08:17:09veganskI'm trying to solve https://github.com/nim-lang/Nim/issues/3333 and I have a question about compiler's type "ast.TStrTable". Why it is implemented via sequence? Maybe it's better to reimplement it via tables module?
08:21:37dom96vegansk: Likely because the tables module wasn't there when it was implemented.
08:21:39*gokr quit (Remote host closed the connection)
08:24:21veganskdom96: So, does it make sense to do it now?
08:25:04dom96vegansk: the current implementation might be more efficient
08:25:58*bjz joined #nim
08:30:32veganskdom96: If so, it's to bad for tables module :-)
08:36:17*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
08:53:47*clone1018 quit (Remote host closed the connection)
08:53:48*AckZ quit (Remote host closed the connection)
08:53:48*biscarch quit (Remote host closed the connection)
08:53:48*softinio quit (Remote host closed the connection)
08:54:01*bjz joined #nim
08:59:52*yglukhov_ joined #nim
09:02:18*tja joined #nim
09:03:10*yglukhov quit (Ping timeout: 240 seconds)
09:05:15*tja quit (Client Quit)
09:09:29*wuehlmaus joined #nim
09:10:36*AckZ joined #nim
09:14:00*jaco60 quit (Remote host closed the connection)
09:16:43*thotypous joined #nim
09:20:00*biscarch joined #nim
09:21:11*clone1018 joined #nim
09:22:26*tja joined #nim
09:22:36*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
09:24:34*bjz joined #nim
09:28:41*tja quit (Quit: Page closed)
09:30:24*softinio joined #nim
09:30:59*tja joined #nim
09:35:59*gokr joined #nim
09:36:14*gokr quit (Remote host closed the connection)
09:41:08*jaco60 joined #nim
09:58:42NimBotnim-lang/Nim devel d93ae34 Aman Gupta [+0 ±2 -0]: s/advanted/advanced/g
09:58:42NimBotnim-lang/Nim devel 50b4406 Aman Gupta [+0 ±1 -0]: s/acces/access/g
09:58:42NimBotnim-lang/Nim devel cd40137 Aman Gupta [+0 ±2 -0]: mark code-blocks in 2d/3d docs
09:58:42NimBotnim-lang/Nim devel 08f9bae Andreas Rumpf [+0 ±4 -0]: Merge pull request #3352 from tmm1/fix-doc-typos... 2 more lines
09:59:45*Jehan_ joined #nim
09:59:55*gokr joined #nim
10:00:11*gokr quit (Remote host closed the connection)
10:00:21*Jehan_ quit (Client Quit)
10:02:43*tja quit (Quit: Page closed)
10:06:00*yglukhov_ quit (Remote host closed the connection)
10:06:36*yglukhov joined #nim
10:07:12*gokr joined #nim
10:07:24*gokr quit (Remote host closed the connection)
10:10:17*gokr joined #nim
10:21:04Araqdom96: so ... nimforum doesn't compile with devel?
10:21:42dom96nope
10:22:09Araqyay
10:23:08dom96I made a comment on the commit that I think broke it
10:23:56AraqI noticed
10:31:03Araq.nimble\pkgs\jester-0.1.0\jester.nim(188, 71) Error: use '^' instead of '-'; negative indexing is obsolete
10:31:33Araqnimble update jester
10:31:41AraqDownloading package list from jester
10:31:47Araq--> spot the problem ;-)
10:33:48dom96nimble install jester@#head
10:34:56Araqyes, my point is: "nimble update" is not intuitive
10:35:34Araq"nimble update jester" should do what I think or not exist
10:35:48Araqalso the 404 download produces a broken packages.json file
10:36:19Araq"nimble update" should be "nimble refresh"
10:36:45Araqor even "nimble update_package_list"
10:58:30dom96Pretty sure we already discussed this
10:59:17dom96and once again: I won't change it
10:59:41dom96It's easy to figure out what 'nimble update' is doing
10:59:47Araqwell if I stumble upon it every time
10:59:56Araqmaybe it's a valid reason to change it?
10:59:57dom96then that's because you don't use Nimble enough
11:00:16Araqnimble needs to care about the casual users too
11:00:32dom96Many package managers work this way
11:01:15dom96apt-get works this way
11:01:24dom96and has an 'upgrade' which is very confusing
11:02:11*jaco60 quit (Ping timeout: 246 seconds)
11:03:19dom96but we might get that too :P
11:04:02Araqok, I will use my own nimble fork then :P
11:04:54softinioLol
11:05:57dom96I'm willing to change it if there are people who agree with you.
11:06:15dom96So post on the forum if you really think this is so important
11:06:20dom96:P
11:06:34Araqha, you think I'm too lazy to do that.
11:06:39Araqbut I'm not.
11:07:25dom96hah
11:08:19dom96Araq: Argh. I need to order those Nim stickers.
11:08:31dom96Araq: So how many should I get?
11:09:47*joelmo joined #nim
11:10:30Araqwhat about the T-shirts?
11:10:37*Ven joined #nim
11:12:34*razaaa joined #nim
11:13:48softinioare you guys creating them to sell or are they already online for us to order?
11:14:24Araqneither, to give away for free at OSCON
11:14:32Araq(right?)
11:14:47dom96t-shirts are too expensive I think
11:15:10dom96but yeah, stickers will be given out
11:16:41dom96I think it would be cool to sell T-shirts online
11:17:32Araqtrue
11:19:30*elrood joined #nim
11:29:10*strcmp1 joined #nim
11:29:42softinioselling t-shirts and stickers online would be a good idea for sure
11:31:38veganskWhat's wrong with "Option[lst.List[T]]" where lst: "import List as lst"?
11:31:56veganskError: could not resolve: []((nimtests.List|List.List), T)
11:33:09Araqyou also have a nimtests.List?
11:33:25veganskNo!
11:33:48Araqwell the compiler thinks you do :P
11:34:17veganskIt's https://github.com/nim-lang/Nim/issues/3333
11:35:24veganskModified lines with import and proc definition, that cause the error
11:36:03veganskCommand line: ./koch temp c --verbosity:3 ~/work/nim/nimtests/issues/3333/types.nim
11:36:28veganskCommand line contains "nimtests" somewhere :-)
11:36:31dom96Araq: Well?
11:36:54Araqdom96: 50
11:37:50dom96Araq: Just £8 more for 100 :P
11:39:59dom96also, which size do you think would be best? smallest is 5cm x 5cm, biggest 15cm x 15cm. I'm thinking of getting 7.5cm x 7.5cm
11:41:37Araqhrm I think 5² is fine
11:41:39Araqbbl
11:41:58dom96ok
11:42:37*strcmp1 quit (Ping timeout: 246 seconds)
11:45:41*Kingsquee quit (Quit: http://i.imgur.com/EsXzoum.png)
11:46:03*irrequietus quit ()
11:51:28*irrequietus joined #nim
11:52:43*d3vil__ joined #nim
11:55:33*Jehan_ joined #nim
11:57:01*d3vil__ quit (Client Quit)
11:57:16*iamd3vil joined #nim
12:01:29*strcmp1 joined #nim
12:06:51*vegansk quit (Quit: Ухожу я от вас (xchat 2.4.5 или старше))
12:07:22*elrood quit (Quit: Leaving)
12:07:51*strcmp1 quit ()
12:16:13*strcmp1 joined #nim
12:18:26*strcmp1 quit (Remote host closed the connection)
12:19:43dom96Araq: we should probably aim to release today
12:19:47dom96er
12:19:55*strcmp1 joined #nim
12:19:55dom96by the end of this week
12:24:01*Sembei joined #nim
12:24:34*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:31:25*elrood joined #nim
12:41:36dom96Impressed by how fast people responded http://forum.nim-lang.org/t/1655
12:46:05*Zugulf joined #nim
12:52:09*strcmp1 quit (Remote host closed the connection)
12:52:39*strcmp1 joined #nim
13:04:38softiniowhat is a good resource to learn about aim's ast, templates and macros ?
13:04:46softinionim's
13:05:08Araqsoftinio: tut 2 at least tells you how can figure out the ASTs on your own
13:06:23softinio@Araq ok thanks will look
13:07:11yglukhovAraq: does Nim do return value value optimization?
13:07:24Araqyglukhov: yes
13:07:39yglukhovis it done in semantics?
13:08:15yglukhovcan i ask semantics to do that for js?
13:08:52Araqno. it's mostly done in the C backend
13:09:37yglukhovpity. it would be cool for js too.
13:09:54yglukhovdo you think we could factor it out to semantics?
13:10:26Araqit's not easy.
13:11:16Araqthe C backend knows that e.g. a tuple of strings is Nim-only and so rewrites x = foo() to foo(x) for this type
13:11:35Araqthat is not valid for the JS target
13:11:48Araqas 'foo' might have been imported
13:12:27*FedeOmoto quit (Quit: Leaving)
13:13:01*FedeOmoto joined #nim
13:13:27*Ven joined #nim
13:13:47yglukhovi know. i'm thinking of the following concept. semantics engine should be configured by the backend. e.g. a backend could provide a predicate whether a proc symbol should be lambda-lifted. another predicate whether proc sym should be return-value-optimized, etc.
13:14:12*Sembei quit (Ping timeout: 264 seconds)
13:15:04yglukhovso thet backends will decide whether a sym should be optimized, by analizing the types. and semantics will do all the heavy lifting.
13:15:13*jaco60 joined #nim
13:15:48Araqdoesn't really work, compile-time eval is a "backend within a backend" and has its own restrictions
13:16:18Araqalso, you're describing an optimization pass, has nothing to do with semantics
13:17:55yglukhovah, good point. can we factor it out to an optimization pass? ;) and then tweak it a bit to work with js? =))
13:18:41yglukhovany keywords to start grepping?
13:20:31Araqyou can factor it out, but it's a bad idea. just write it from scratch.
13:21:15Araqthe logic in the C codegen is mostly based on ccgtypes.isInvalidReturnType iirc
13:21:42*strcmp1 quit (Ping timeout: 260 seconds)
13:23:28*strcmp1 joined #nim
13:33:09Araqdom96: can you test my nimble PR?
13:35:27*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:41:04*strcmp1 quit (Remote host closed the connection)
13:42:16*Ven joined #nim
13:45:03*BitPuffin joined #nim
13:48:59*Sembei joined #nim
13:50:24NimBotnim-lang/Nim devel 73279ab Araq [+0 ±2 -0]: added unicode.lastRun, unicode.graphemeLen
13:50:24NimBotnim-lang/Nim devel c04e17a Araq [+0 ±1 -0]: minor bugfix for transf pass after lambda-lifting
13:50:24NimBotnim-lang/Nim devel ba4dd92 Araq [+0 ±2 -0]: fixes regression: NimForum compiles again
13:54:01*strcmp1 joined #nim
13:57:27*pregressive joined #nim
14:04:20*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:06:38*strcmp1 quit (Remote host closed the connection)
14:06:48*UberLambda joined #nim
14:11:03*Sembei quit (Ping timeout: 255 seconds)
14:13:12*Sembei joined #nim
14:13:56*iamd3vil quit (Quit: Leaving)
14:16:22*Ven joined #nim
14:25:44*joelmo quit (Quit: Connection closed for inactivity)
14:27:00*BitPuffin quit (Ping timeout: 244 seconds)
14:27:30*pregressive quit (Remote host closed the connection)
14:46:49*pregressive joined #nim
14:55:42*HoloIRCUser4 joined #nim
15:03:17*pregressive quit (Remote host closed the connection)
15:03:35*pregressive joined #nim
15:06:29*Sembei quit (Ping timeout: 246 seconds)
15:11:09*gmpreussner|work joined #nim
15:15:25*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:23:33*Sembei joined #nim
15:23:59*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
15:25:40*smodo joined #nim
15:34:55*baf_ joined #nim
15:36:04baf_Hi all. Please, tell me, how can I return null from proc if something goes wrong?
15:37:11baf_For example, I am writing a function to read a file: proc readFile*(filename: string): string =
15:37:17*Sembei quit (Ping timeout: 256 seconds)
15:37:53baf_And then I am creating fileStream: var f = newFileStream(filename, fmRead)
15:38:37baf_So, how can I return nil if(f == nil) instead of empty string?
15:38:52*razaaa quit (Ping timeout: 246 seconds)
15:41:57dom96hello baf_
15:42:19dom96if f == nil: return nil ?
15:45:23baf_Ok, it works with string, but don't works with tables: Error: type mismatch: got (nil) but expected 'Table[string, string]'
15:46:19*razaaa joined #nim
15:46:29dom96That's because Table[] is a value type
15:46:34dom96so it can't be nil
15:46:43dom96use TableRef or Option[T]
15:48:39baf_Can you show me an example code with returning Table(Ref?) or nil, please?
15:49:05*BitPuffin joined #nim
15:51:51reactormonkbaf_, Option[T] is easier.
15:52:15reactormonkbaf_, if you want reference semantics, TableRef is the way to go.
15:57:19*HoloIRCUser4 quit (Read error: Connection reset by peer)
15:57:27*HoloIRCUser4 joined #nim
16:01:47*Zugulf quit (Read error: Connection reset by peer)
16:03:10dom96baf_: https://gist.github.com/dom96/41663f1d3a0c8e7eaf2e
16:06:45baf_dom96, thanks a lot!
16:07:22*elrood quit (Remote host closed the connection)
16:07:23baf_reactormonk, thank you too, will also try this library
16:16:36dom96np :)
16:17:24*Guest20403isaway is now known as Guest20403
16:18:16*elrood joined #nim
16:19:10dom96Araq: btw the bug that crashed NimBot is fixed :D
16:19:20dom96so well done
16:19:27*dhertz joined #nim
16:20:24*Sembei joined #nim
16:20:43*jakesyl_mac quit (Read error: Connection reset by peer)
16:21:21*jakesyl_mac joined #nim
16:23:51dhertzHi all
16:24:34dhertzIs there a way to tell nimble you'd like to use a package not in it's JSON? Like giving a github URL
16:39:35*yglukhov_ joined #nim
16:43:37*yglukhov quit (Ping timeout: 268 seconds)
16:44:14*yglukhov_ quit (Ping timeout: 268 seconds)
16:46:46*Sembei quit (Ping timeout: 246 seconds)
16:50:16*Sembei joined #nim
16:54:58Araqdhertz: not sure, but if not, it definitely is a planned feature
16:55:05AraqI think you can nimble install url
17:01:34*strcmp1 joined #nim
17:13:51dom96dhertz: yep, you can nimble install git://github.com/dom96/jester for example
17:30:12*HoloIRCUser4 quit (Read error: Connection reset by peer)
17:30:21*HoloIRCUser4 joined #nim
17:32:32*HoloIRCUser6 joined #nim
17:32:32*HoloIRCUser4 quit (Read error: Connection reset by peer)
17:34:24*strcmp1 quit (Remote host closed the connection)
17:37:00*HoloIRCUser6 quit (Ping timeout: 264 seconds)
17:39:50*Sembei quit (Ping timeout: 240 seconds)
17:40:35*Jesin joined #nim
17:44:00dhertzdom96: there is there a way to add that to my component.nimble?
17:44:16dom96yeah
17:44:34dom96Under [Deps]
17:44:53dom96Requires: "https://github.com/.../... >= 0.1.0"
17:47:54*Jehan_ quit (Quit: Leaving)
17:48:30*smodo quit (Remote host closed the connection)
17:54:16dhertzAwesome thanks
17:54:30*baf_ quit (Ping timeout: 246 seconds)
18:01:00*Sembei joined #nim
18:13:19*strcmp1 joined #nim
18:18:37*vendethiel joined #nim
18:20:49*UberLambda quit (Quit: GTG)
18:21:28*Matthias247 joined #nim
18:25:55*strcmp2 joined #nim
18:29:08*BitPuffin quit (Ping timeout: 246 seconds)
18:29:33*strcmp1 quit (Ping timeout: 256 seconds)
18:30:25*yglukhov joined #nim
18:43:59*jakesyl quit (Ping timeout: 264 seconds)
18:56:02*jakesyl joined #nim
19:12:46*darkf quit (Quit: Leaving)
19:30:20*jakesyl quit (Quit: Leaving)
19:30:52*jakesyl joined #nim
19:31:23*jakesyl quit (Remote host closed the connection)
19:32:07*jakesyl joined #nim
19:36:41*yglukhov quit (Remote host closed the connection)
19:48:32*yglukhov joined #nim
20:03:46*strcmp2 quit (Remote host closed the connection)
20:15:47Araqyay, more regressions
20:21:11*JStoker quit (Ping timeout: 256 seconds)
20:25:31*JStoker joined #nim
20:27:08*strcmp1 joined #nim
20:31:28dhertzAraq: Sorry :(
20:32:55*jefus is now known as jefus_
20:32:56*jefus_ is now known as jefus
20:34:58*vendethiel quit (Ping timeout: 246 seconds)
20:36:29Araqsometimes I wonder ...
20:36:58strcmp1about?
20:37:03strcmp1the meaning of it all?
20:37:04Araqhow can we have > 1000 tests and this regression at the same time?
20:37:06strcmp1me too, me too
20:37:14Araqproc foo(a: openArray[int]) =
20:37:16Araq a[0..100]
20:37:22Araq Error: could not resolve: [](a, 0 .. 100)
20:37:25AraqWTF?
20:37:27strcmp1oh i see. i'm a philsopher. im probably in the wrong place.
20:39:10Araqoh I see
20:39:20Araqwe never supported that for openArrays
20:39:23Araqgood.
20:39:41strcmp1good:)
20:41:48*Roin quit (Ping timeout: 264 seconds)
20:42:09*razaaa quit (Quit: Leaving)
20:45:04*Roin joined #nim
21:03:10*strcmp1 quit (Ping timeout: 240 seconds)
21:09:09*vendethiel joined #nim
21:15:54*yglukhov quit (Remote host closed the connection)
21:22:22*Sembei quit (Ping timeout: 240 seconds)
21:27:54*Sembei joined #nim
21:28:39*Sembei quit (Client Quit)
21:31:19*async_prince joined #nim
21:34:39*dhertz quit (Ping timeout: 246 seconds)
21:35:55*Kingsquee joined #nim
21:44:47*vendethiel quit (Ping timeout: 246 seconds)
21:47:56ryu0Araq: question. why did you design arrays with a declaration of a starting index when it's typically going to be 0? i've seen that in a few language but never saw the reason why, since arrays are normally declared with just a size or length, and indexed from 0 to length - 1.
21:49:04Araqryu0: const lookupTable: array [enumValA..enumValZ, string] = ["A", "B", "Z"]
21:49:14dom96Araq: 1k tests is really not much
21:49:27dom96time to polish that test coverage tool
21:49:34Araqdom96: these are "compressed" tests though
21:50:15Araqalso code coverage for the compiler is useless, there is hardly a single line in the compiler that wasn't added because some code required it
21:51:59*BitPuffin|osx joined #nim
21:54:07*gokr quit (Ping timeout: 256 seconds)
21:56:50dom96not useless for the stdlib though
21:59:57*Guest20403 is now known as Guest20403isaway
21:59:58Araqryu0: I agree that in retrospect it's somewhat overengineered. but array[3, int] works too, so *shrug*
22:00:42ryu0Araq: is it only for convenience?
22:01:17ryu0Araq: it looked like your example was a lookup table to convert enums to strings.
22:01:52ryu0hm.
22:11:42*elrood quit (Quit: Leaving)
22:20:00*pregressive quit ()
22:41:29*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:43:18*Demon_Fox joined #nim
23:01:47*Trustable quit (Remote host closed the connection)
23:02:36*Matthias247 quit (Read error: Connection reset by peer)
23:06:13*Demon_Fox quit (Quit: Leaving)
23:11:44*strcmp1 joined #nim
23:20:48*jakesyl quit (Ping timeout: 264 seconds)
23:26:18*irrequietus quit ()
23:27:43*yglukhov joined #nim
23:32:35*yglukhov quit (Ping timeout: 264 seconds)