<< 17-11-2015 >>

00:02:19*Kingsquee joined #nim
00:02:34*bitcrusher joined #nim
00:33:31*flaviu joined #nim
00:34:05flaviuFinally got a chance to look at my builder. Looks like the SD card is dead; I'll have to get a new one. Sorry for the delay!
00:45:58*Pisuke joined #nim
00:47:54*MyMind quit (Ping timeout: 250 seconds)
00:51:29*Jesin joined #nim
01:00:05*desophos quit ()
01:00:27*BlueProtoman joined #nim
01:00:37BlueProtomanProblem in the nimble section of the library page! http://nim-lang.org/docs/lib.html#nimble
01:05:11flaviuBlueProtoman: ouch! Looks like a bad PR was merged, I've reverted it. It should become functional again soon! (or maybe not, I have no idea how this works ;))
01:05:58BlueProtomanflaviu: Didn't look that closely, but was the JSON package list malformed? What about any sort of Web template (a la Mustache)?
01:06:32flaviuBlueProtoman: https://github.com/nim-lang/packages/pull/269/files was merged. Please note the trailing comma, that's what caused the problem.
01:07:29BlueProtomanflaviu: Oy. Ain't strict JSON a bitch.
01:08:49flaviuyup.
01:09:48BlueProtomanHey, do you think anyone here would be interested in helping me port a popular ECS library to Nim over the next two months or so?
01:10:47BlueProtomanI think the lack of a decent one (and the lack of support for certain tools and importers, but that's a simpler solution) is one of the main things keeping Nim from being taken seriously as a game dev language.
01:12:52*thotypous quit (Quit: reboot noob distro)
01:13:09BlueProtomanThings like Tiled importers or texture atlas loaders are just a matter of parsing XML, but this is more fundamental
01:14:41*thotypous joined #nim
01:15:02*desophos joined #nim
01:19:19flaviuBlueProtoman: I haven't had time for Nim in months, I'm a poor person to ask. Have you seen the logs? Looks like def- replied to your question last night.
01:19:42flaviuerr Demos. http://irclogs.nim-lang.org/16-11-2015.html, around 05:06:21
01:20:58BlueProtomanAh, I see.
01:22:23BlueProtomanYou know who else would be interested?
01:23:41flaviuNo, I'm sorry. Have you tried asking on the forums?
01:23:47BlueProtomanNo, not yet
01:28:43*Jesin quit (Quit: Leaving)
01:32:54*julian37 left #nim ("ERC (IRC client for Emacs 24.5.1)")
01:39:21BlueProtomanflaviu: Done. http://forum.nim-lang.org/t/1806
01:45:29*n0xff quit (Ping timeout: 246 seconds)
01:45:32BlueProtomanOh, also, didn't know there was a unittest module, it doesn't seem to be listed as part of the standard library http://nim-lang.org/docs/lib.html
01:47:14*n0xff joined #nim
01:59:04flaviuBlueProtoman: last time I checked, it was a little iffy. It isn't listed because of that, but the documentation is here: http://nim-lang.org/docs/unittest.html
01:59:28BlueProtomanflaviu: What's so iffy about it?
02:00:42flaviuThe macro it uses for it's assert hasn't been tested and made to work with very complex expressions. When you do complex stuff in your asserts, there's a chance it'll fail to compile.
02:00:59flavius/been tested/been tested with/
02:03:35BlueProtomanSo I should stick to "check x == y" instead of, say, "check x.something(y + len(z.stuff))"?
02:05:10flaviuyup.
02:05:38*jaco60 quit (Ping timeout: 240 seconds)
02:06:07BlueProtomanEh, I can live with that. Unit test conditions should be simple anyway
02:07:04flaviuThey may have fixed most the weird bugs btw--I looked over the bug tracker, and nothing really stands out. Keep in mind I've been away for months--development moves fast.
02:07:36BlueProtomanGood point
02:08:22*barosl__ joined #nim
02:08:22BlueProtomanAlso, where is the documentation generator's source code? I think it could do with a bit of improvement (mainly in organizing procs, vars, etc.)
02:09:41*strcmp1 quit (Read error: Connection reset by peer)
02:10:03*strcmp1 joined #nim
02:11:18*barosl_ quit (Ping timeout: 240 seconds)
02:13:42*brson quit (Quit: leaving)
02:21:57flaviuhttps://github.com/nim-lang/Nim/blob/devel/compiler/docgen.nim
02:22:23flaviuIt's built into the compiler. There's also docgen2.nim, but I don't remember what that is. It hasn't been touched in a while though…
02:22:34flaviuIt=docgen2.nim.
02:22:54flaviuat least the second It :P
02:23:37*jefus joined #nim
02:24:06*jefus left #nim (#nim)
02:25:02BlueProtomanTODO: Organize docs for procs better and implement data-driven testing in unittest a la Qt
03:01:34*Jesin joined #nim
03:07:34*strcmp2 joined #nim
03:09:10*strcmp1 quit (Ping timeout: 250 seconds)
03:13:10*vegansk joined #nim
03:13:20*kokozedman quit (Quit: Page closed)
03:17:19*M-max1 quit (Ping timeout: 240 seconds)
03:17:36*M-max joined #nim
03:18:19*bitcrusher quit (Ping timeout: 240 seconds)
03:18:28*bitcrusher joined #nim
03:21:25*xtagon quit (Quit: Connection closed for inactivity)
03:23:17*BlueProtoman quit (Quit: Leaving)
03:38:49*Demon_Fox joined #nim
03:47:48*zxtx_ joined #nim
03:48:02*zxtx_ is now known as zxtx
03:54:33*strcmp2 quit (Ping timeout: 255 seconds)
04:15:16*Demon_Fox quit (Ping timeout: 244 seconds)
04:17:16*strcmp2 joined #nim
04:45:17*Demon_Fox joined #nim
04:51:56*themagician_o joined #nim
04:52:17*cyraxjoe quit (Ping timeout: 252 seconds)
04:54:05*pmbauer_ joined #nim
04:55:06*Kingsqueee joined #nim
04:55:15*jck joined #nim
04:56:21*darkf joined #nim
04:56:22*n0xff_ joined #nim
04:56:45*phi_freenode joined #nim
04:57:49*reactormonk_ joined #nim
04:59:25*low-profile joined #nim
04:59:37*mrkishi_ joined #nim
04:59:49*Xe- joined #nim
05:00:02*nim-buildbot quit (Ping timeout: 246 seconds)
05:00:02*mikolalysenko quit (Ping timeout: 246 seconds)
05:00:03*themagician quit (Ping timeout: 246 seconds)
05:00:03*phira quit (Ping timeout: 246 seconds)
05:00:04*n0xff quit (Ping timeout: 246 seconds)
05:00:04*mal`` quit (Ping timeout: 246 seconds)
05:00:06*low-prof1 quit (Ping timeout: 246 seconds)
05:00:06*reactormonk quit (Ping timeout: 246 seconds)
05:00:07*ldlework quit (Ping timeout: 246 seconds)
05:00:09*Xe quit (Ping timeout: 246 seconds)
05:00:09*pmbauer quit (Ping timeout: 246 seconds)
05:00:13*mrkishi quit (Ping timeout: 246 seconds)
05:00:15*Kingsquee quit (Ping timeout: 246 seconds)
05:00:15*jck_ quit (Ping timeout: 246 seconds)
05:01:46*Xe- is now known as Xe
05:02:14*mal`` joined #nim
05:03:07*xtagon joined #nim
05:03:12*pmbauer_ is now known as pmbauer
05:04:24*mikolalysenko joined #nim
05:09:53*vendethiel joined #nim
05:10:29*ldlework joined #nim
05:16:43*Sembei joined #nim
05:18:51*biscarch_ joined #nim
05:20:19*zemm_ joined #nim
05:20:20*rektide_ joined #nim
05:20:25*cyraxjoe joined #nim
05:21:47*phira joined #nim
05:21:47*phira quit (Excess Flood)
05:22:42*flaviu_ joined #nim
05:22:43*phira joined #nim
05:22:43*phira quit (Excess Flood)
05:23:11*phira joined #nim
05:23:13*phira quit (Excess Flood)
05:23:42*phira joined #nim
05:23:44*phira quit (Excess Flood)
05:24:12*phira joined #nim
05:24:13*phira quit (Excess Flood)
05:24:42*phira joined #nim
05:24:44*phira quit (Excess Flood)
05:25:21*phi_freenode quit (*.net *.split)
05:25:21*Jesin quit (*.net *.split)
05:25:21*Pisuke quit (*.net *.split)
05:25:21*flaviu quit (*.net *.split)
05:25:21*theduke quit (*.net *.split)
05:25:21*rektide quit (*.net *.split)
05:25:21*zemm quit (*.net *.split)
05:25:22*biscarch quit (*.net *.split)
05:25:46*phira joined #nim
05:25:47*phira quit (Excess Flood)
05:26:59*biscarch_ is now known as biscarch
05:27:11*phira joined #nim
05:27:13*phira quit (Excess Flood)
05:27:45*phira joined #nim
05:27:48*phira quit (Excess Flood)
05:28:16*phira joined #nim
05:28:17*phira quit (Excess Flood)
05:28:37*Jesin joined #nim
05:29:11*phira joined #nim
05:29:13*phira quit (Excess Flood)
05:29:41*phira joined #nim
05:29:42*phira quit (Excess Flood)
05:30:23*theduke joined #nim
05:30:41*phira joined #nim
05:30:44*phira quit (Excess Flood)
05:31:11*phira joined #nim
05:31:13*phira quit (Excess Flood)
05:31:43*phira joined #nim
05:31:44*phira quit (Excess Flood)
05:32:14*phira joined #nim
05:32:14*phira quit (Excess Flood)
05:32:41*phira joined #nim
05:32:44*phira quit (Excess Flood)
05:32:59*vendethiel quit (Ping timeout: 246 seconds)
05:33:15*phira joined #nim
05:33:18*phira quit (Excess Flood)
05:35:12*phira joined #nim
05:35:14*phira quit (Excess Flood)
05:35:42*phira joined #nim
05:35:43*phira quit (Excess Flood)
05:36:13*phira joined #nim
05:36:14*phira quit (Excess Flood)
05:38:45*phira joined #nim
05:38:48*phira quit (Excess Flood)
05:39:41*phira joined #nim
05:39:43*phira quit (Excess Flood)
05:40:12*phira joined #nim
05:40:13*phira quit (Excess Flood)
05:41:11*phira joined #nim
05:41:13*phira quit (Excess Flood)
05:41:41*phira joined #nim
05:41:44*phira quit (Excess Flood)
05:42:46*phira joined #nim
05:42:46*phira quit (Excess Flood)
05:43:43*phira joined #nim
05:43:44*phira quit (Excess Flood)
05:44:13*phira joined #nim
05:44:14*phira quit (Excess Flood)
05:44:44*phira joined #nim
05:55:54*desophos quit (Read error: Connection reset by peer)
06:17:05*s4 joined #nim
06:23:50*ephja joined #nim
06:42:05*gour joined #nim
07:38:54*BlaXpirit_ joined #nim
07:40:27*BlaXpirit_ is now known as BlaXpirit
08:10:06*gokr joined #nim
08:17:33*gokr1 joined #nim
08:18:50*gokr quit (Ping timeout: 240 seconds)
08:19:02*gokr1 quit (Client Quit)
08:49:31*Trustable joined #nim
09:04:13*yglukhov joined #nim
09:10:27*mindriot101 joined #nim
09:11:25*xtagon quit (Quit: Connection closed for inactivity)
09:13:31*Sornaensis joined #nim
09:28:44*mindriot101 quit (Remote host closed the connection)
09:32:57*filcuc joined #nim
09:35:59*mindriot101 joined #nim
10:13:38*jaco60 joined #nim
10:15:20*makoLine quit (Ping timeout: 276 seconds)
10:15:58*mindriot101 quit (Remote host closed the connection)
10:26:07*Demon_Fox quit (Quit: Leaving)
10:31:39*coffeepot joined #nim
10:41:23*mindriot101 joined #nim
10:45:51*mindriot101 quit (Ping timeout: 255 seconds)
10:54:32*reactormonk_ is now known as reactormonk
11:04:28*mindriot101 joined #nim
11:16:57*NimBot joined #nim
11:40:25*Kingsqueee quit (Quit: https://i.imgur.com/qicT3GK.gif)
11:41:26*andrewvos joined #nim
11:41:39andrewvosHow can I get walkFiles to list .files
11:41:47andrewvosFiles that have a . prefix
11:44:58def-andrewvos: walkFiles(".*")
11:49:32*mindriot101 quit (Remote host closed the connection)
11:49:36*elrood joined #nim
11:51:33andrewvosdef-: Yeah, but I would like to include files that also aren't hidden
12:03:45def-That sounds like a bug if it doesn't do that by default
12:05:11def-or maybe not. What about just a walkDir(".")?
12:10:11*federico2 is now known as federico3
12:10:50*andrewvos quit (Ping timeout: 240 seconds)
12:19:35*jaco60 quit (Ping timeout: 240 seconds)
12:24:19*andrewvos joined #nim
12:25:52*gokr joined #nim
12:27:19*BitPuffin joined #nim
12:31:22*mindriot101 joined #nim
12:46:43*yglukhov quit (Remote host closed the connection)
12:52:09andrewvosdef-: walkFiles(".*") includes ., .., and any files with . prefix
12:52:12andrewvosBut not diles without
12:52:15andrewvosfiles
12:52:21andrewvosWhich is to be expected
12:52:31andrewvosYou normally have to explicitly ask for hidden files
12:52:59andrewvosFor example, in ruby
12:53:06andrewvosDir.glob("**/*.symlink", File::FNM_DOTMATCH)
12:59:16andrewvosThere don't seem to be any tests for os.walkFiles?
12:59:22andrewvosOr I can't find them
13:12:05andrewvosyeah walkDir finds them
13:12:08andrewvosdef-:
13:12:16andrewvosSorry thought you said walkFiles earlier
13:15:23*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
13:16:37*coffeepot joined #nim
13:22:30*andrewvos quit (Ping timeout: 240 seconds)
13:26:15*v0rt3x joined #nim
13:26:39*v0rt3x left #nim (#nim)
13:27:09*thotypous quit (Quit: WeeChat 1.3)
13:28:33*thotypous joined #nim
13:29:37*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
13:29:51*coffeepot joined #nim
13:31:58*coffeepot quit (Client Quit)
13:33:12*coffeepot joined #nim
13:35:41*coffeepot quit (Client Quit)
13:36:18*coffeepot joined #nim
13:37:41*andrewvos joined #nim
13:44:23*s4 quit ()
13:46:05*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
13:46:27*coffeepot joined #nim
13:48:04*yglukhov joined #nim
13:52:26*sunnyawake joined #nim
14:17:45*sunnyawake quit (Ping timeout: 246 seconds)
14:36:17*tja joined #nim
14:37:34tjaGood day; I have a noob question wrt macros and type names... is this the correct venue?
14:47:00*exebook joined #nim
14:49:29*andrewvos quit (Quit: WeeChat 0.4.2)
14:50:22*dom96_ joined #nim
14:51:35dom96_tja: Please just ask your question instead of asking whether anyone here can help you.
14:52:20tjaI'm sure the people here can help, I was just wondering whether questions should go to the discussion board or somewhere else... anyway, here goes:
14:52:54tjaI have a long type name that I can't be bothered to keep typing out. What is the idiomatic way of making a short version?
14:53:15tjaI thought of using a macro, but that would seem to need a () to trigger the macro...
14:53:40tjaAlthough I'm not totally sure about that; I seem to be able to use some expression macros without needing a ()
14:53:45yglukhovtype MyType = MyTypeWithALongName
14:53:47yglukhov?
14:53:53tjaOk, thanks.
14:53:59*kniteli joined #nim
14:54:04yglukhovnp
14:54:37yglukhovdom96: could you please take a look at my question on the forum? Its mostly addressed to you i suppose ;)
14:55:39tjaOut of curiosity, under what circumstances do I not need a () to trigger a macro?
14:56:31yglukhovtja: if you're using a macro with a dot-notation. e.g: myObject.myMacroThatPretendsToBeAProperty
14:57:18yglukhovalso there's a command syntax. e.g: myMacro arg1, arg2, arg3
14:57:18dom96_yglukhov: currently in a lecture, but will try answer ASAP
14:57:31yglukhovok thanx
14:58:11tjaOk, makes sense. I guess that dot-notation doesn't apply to type declarations, hence my confusion. TVM.
14:58:25*strcmp2 quit (Ping timeout: 240 seconds)
15:01:33dom96_yglukhov: btw any ETA on videos/photos of the Nim conference/workshop? Araq showed me some photos already and it looked awesome, wish I could have gone.
15:01:50tjaHmm... actually, I'm not sure I totally understand. I declared a macro 'macro myNumber : expr = 10' then used it as 'foo(myNumber)'. Does that count as dot notation?
15:02:46dom96_tja: `myNumber.foo` would be dot notation.
15:03:33yglukhovdom96: that doesn't depend on me, but on our translators, so can't promise. but i beleive it should happen soon. have some patience ;)
15:04:00tjaOk, but foo has the explicit invocation with (), and myNumber doesn't, but the macro gets invoked and the result is effectively calling foo(10)
15:04:35yglukhovtja: how foo is defined?
15:04:54tja'macro myNumber : expr = 10'
15:04:59tjaOopps
15:05:20tjafoo is actually the function 'newSeq'
15:05:45yglukhovcould you cite it please in nim, and not in English? ;)
15:06:56yglukhovactually, i'm not sure if 'macro myNumber : expr = 10' is a valid definition. i've been thinking that macros should return ast nodes. can anyone please explain it? =)
15:08:10tjaErm... sorry, not sure what you mean there, and sorry for not being clear. The call actually made using the macro is 'newSeq[float64](myNumber)', using newSeq from the system module.
15:08:45yglukhovtja: and you're right. somehow your macro gets called without (). can't really explain that =(
15:09:10*n0xff_ quit (Quit: leaving)
15:09:12tjayglukhov: Ok, thanks. And thanks for the warning about dodgy macro definitions, I'll try to avoid that ;-)
15:09:41yglukhovwell maybe its me who doesn't know something =)
15:10:27tjayglukhov: would it be helpful to package and example and post it somewhere?
15:10:45tja(I can make a small example)
15:12:25*sunnyawake joined #nim
15:12:47yglukhovtja: imho, you could submit a pr to nim documentation. if your pr gets rejected, then you get official explanation of it ;)
15:13:07sunnyawakehow to use channel to send msg to a specific thread?
15:13:26tjaOk, TVM, How do I submit a PR?
15:15:55*sunnyawake_ joined #nim
15:16:16yglukhovtja: it's just regular github flow. pretty easy, but not a topic for irc. https://help.github.com/articles/using-pull-requests/
15:16:18*ephja quit (Ping timeout: 255 seconds)
15:16:46yglukhovtja: nim project is https://github.com/nim-lang/nim
15:16:52tjaAh, ok, understood. TVM, TTFN.
15:17:15*sunnyawake quit (Ping timeout: 246 seconds)
15:23:19*sunnyawake joined #nim
15:26:42*sunnyawake_ quit (Ping timeout: 246 seconds)
15:32:44*pregressive joined #nim
15:32:48*gour quit (Quit: WeeChat 1.3)
15:33:10*gour joined #nim
15:39:27*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
15:40:44*gour quit (Quit: WeeChat 1.3)
15:41:03*coffeepot joined #nim
15:41:03*gour joined #nim
15:49:45*joebo1 is now known as joebo
15:55:06*strcmp2 joined #nim
15:55:24*dom96_ quit (Ping timeout: 246 seconds)
15:59:29*strcmp2 quit (Ping timeout: 244 seconds)
16:03:06*sunnyawake quit (Ping timeout: 246 seconds)
16:10:54*jaco60 joined #nim
16:18:20*yglukhov quit (Remote host closed the connection)
16:22:09*yglukhov joined #nim
16:24:36*yglukhov quit (Remote host closed the connection)
16:26:36*enamex joined #nim
16:29:30*ephja joined #nim
16:36:19*tja quit (Quit: Page closed)
16:36:57*Demon_Fox joined #nim
16:38:44*gour quit (Quit: WeeChat 1.3)
16:39:04*gour joined #nim
16:39:42*pregressive quit (Remote host closed the connection)
16:39:46*vqrs quit (Max SendQ exceeded)
16:39:59*vqrs joined #nim
16:58:42*filcuc quit (Read error: Connection reset by peer)
17:04:28*yglukhov joined #nim
17:10:04*yglukhov quit (Remote host closed the connection)
17:20:36*Guest48911isaway is now known as Guest48911
17:20:55*mindriot101 quit ()
17:23:33*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
17:31:21*enquora joined #nim
17:41:26*Guest48911 quit (Ping timeout: 260 seconds)
17:43:46*pregressive joined #nim
17:44:09*strcmp2 joined #nim
17:44:38*enquora quit (Remote host closed the connection)
17:47:58*desophos joined #nim
17:49:12*strcmp2 quit (Ping timeout: 272 seconds)
17:54:09*Guest48911 joined #nim
17:56:34*brson joined #nim
17:57:05*enamex_ joined #nim
17:58:56*enamex quit (Disconnected by services)
17:59:04*enamex_ is now known as enamex
18:00:19*themagician_o quit (Ping timeout: 240 seconds)
18:01:18*kniteli quit (Ping timeout: 240 seconds)
18:04:15*Matthias247 joined #nim
18:05:20*themagician joined #nim
18:07:36*kniteli joined #nim
18:24:20*Jesin quit (Quit: Leaving)
18:25:51*Jesin joined #nim
18:46:39*brson quit (Read error: Connection reset by peer)
18:48:55*zxtx quit (Ping timeout: 240 seconds)
18:50:10*brson joined #nim
18:50:27*Varriount-Laptop joined #nim
18:50:41Varriount-Laptop>_>
18:51:03desophos<_<
18:56:02*AMorpork joined #nim
19:00:45*theduke quit (Ping timeout: 252 seconds)
19:12:58*theduke joined #nim
19:18:49*vqrs quit (Max SendQ exceeded)
19:19:09*vqrs joined #nim
19:19:45desophosdid someone say Atom has a Nim plugin?
19:21:38federico3desophos: look at the forum
19:22:38desophosah, thanks federico3
19:24:50*Varriount-Laptop quit (Ping timeout: 272 seconds)
19:29:34*vendethiel joined #nim
19:37:25*strcmp2 joined #nim
19:38:22*Gonzih joined #nim
19:41:45*darkf quit (Quit: Leaving)
19:46:55*nande joined #nim
19:50:35*BitPuffin quit (Ping timeout: 276 seconds)
19:53:49*brson quit (Read error: Connection reset by peer)
19:58:05*brson joined #nim
20:04:01*Varriount-Laptop joined #nim
20:07:50*brson quit (Read error: Connection reset by peer)
20:13:07*brson joined #nim
20:53:35*yglukhov joined #nim
20:57:17*ecto joined #nim
20:57:51*yglukhov quit (Ping timeout: 255 seconds)
20:58:19*brson quit (Read error: Connection reset by peer)
21:01:35*ecto quit (Quit: Leaving)
21:11:52*strcmp2 quit (Ping timeout: 272 seconds)
21:13:44*yglukhov joined #nim
21:15:33*pregressive quit (Remote host closed the connection)
21:15:53*vqrs quit (Ping timeout: 246 seconds)
21:18:18*vqrs joined #nim
21:23:35*Matthias247 quit (Quit: Matthias247)
21:26:02*Varriount-Laptop quit (Ping timeout: 246 seconds)
21:26:10*Matthias247 joined #nim
21:27:25*Matias joined #nim
21:27:48*thotypous quit (Disconnected by services)
21:27:51*Matias is now known as thotypous
21:35:08*makoLine joined #nim
21:35:47*gour quit (Quit: WeeChat 1.3)
21:46:16desophosi'm looking at http://nim-lang.org/docs/nims.html but i don't really understand how to write/use a .nims file to define build commands
21:46:35*brson joined #nim
22:00:11*yglukhov quit (Remote host closed the connection)
22:00:47*Gonzih quit (Ping timeout: 264 seconds)
22:07:42*strcmp2 joined #nim
22:12:47*strcmp2 quit (Ping timeout: 264 seconds)
22:28:41*mat4 joined #nim
22:28:44mat4hello
22:30:19*BlueProtoman joined #nim
22:35:41BlueProtomanHello
22:36:29*julian37 joined #nim
22:36:34ephjamorning, or whatever
22:36:48BlueProtomanMorning, sure, let's go with that
22:37:24julian37morning
22:37:33ephjaalright
22:37:39BlueProtoman(It's not morning in New York)
22:38:35BlueProtomanSo, plugging this proposal to see if anyone wants to help me port an ECS to Nim over a few weeks http://forum.nim-lang.org/t/1806
22:40:14mat4what means ECS ?
22:41:24BlueProtomanEntity component system. Instead of modeling your game objects with class trees (e.g. Goomba extends Enemy extends Sprite extends GameObject), you model them as collections of components that can be added and removed as necessary (Physics, Sprite, Sound, Health)
22:42:25*wan joined #nim
22:42:34BlueProtomanAnd these components contain only data. Systems are where the game logic takes place, and they operate on entities with a particular set of components (e.g. a PhysicsSystem would operate on all entities with a Physics component, a SpriteRenderSystem would operate on all entities with a Sprite and a Transform component, etc.)
22:43:23BlueProtomanThey're very good at modeling systems with structurally heterogeneous (made of different things) or constantly-changing entities, which games have lots of.
22:43:44mat4I've found a minor bug: Variables of a range type with scale 1..n are initialized with zero (which lead to an out-of-range error if used as index)
22:43:51BlueProtomanAlso, they're really designer-friendly, because you can just load a game object from a JSON file where all the components are specified
22:46:27*zxtx joined #nim
22:47:59mat4BlueProtoman: Reads like a relative database approach
22:48:33BlueProtomanmat4: I've heard similar things said of ECS (but I don't know databases very well so I don't know what to make of it)
22:49:00ephjahttps://github.com/fowlmouth/nimlibs/blob/master/fowltek/entitty.nim
22:51:59mat4Wikipedia has a good article about it
22:52:24BlueProtomanephja: I've seen that (and its successor entoody). Probably a good starting point, but nowhere near polished or featureful
22:52:49*enamex quit (Ping timeout: 244 seconds)
22:53:09*vendethiel quit (Ping timeout: 250 seconds)
22:53:43desophosi would love to help but i doubt i'm proficient enough
22:53:55BlueProtomandesophos: In what, Nim or ECS?
22:53:58desophosboth!
22:54:03desophoser, neither
22:54:28BlueProtomanTBH I'm still new to Nim, but I'm familiar with ECSes
22:55:34*Guest48911 is now known as Guest48911isaway
22:56:15desophosi understand ECS but am currently in the process of writing my first one
22:56:26desophosand have never used one
22:58:29*yglukhov joined #nim
22:59:34desophosbut i'll star/watch the repo if you're going to put it online
22:59:39desophosand see if i can help
23:00:19desophosalthough idk about porting
23:00:37*sunnyawake joined #nim
23:01:02desophoswell, my first real one; i've attempted to write ones before but ended up abandoning the games
23:01:16desophosit is yet to be seen whether i'll abandon this one :)
23:01:47*sunnyawake quit (Client Quit)
23:11:31BlueProtomanI think porting would be easier than writing a new one, mostly because we can take advantage of proven designs instead of fumbling around in the dark
23:17:18*xet7 quit (Quit: Leaving)
23:17:46*kniteli quit (Ping timeout: 260 seconds)
23:21:11desophossure, i just find porting more difficult and boring :D
23:23:29mat4hmm, fumbling in the dark can be enlightement of efficience where common sense result from blind death of inspiration
23:24:44*Matthias247 quit (Read error: Connection reset by peer)
23:26:18BlueProtomanSure. I'm not against experimenting with new ways to do an old thing. My sights, however, are set on rousing interest on a practical solution (i.e. leveraging a proven design), and then contributing to that solution.
23:27:52mat4and you want to write a Game or want to offer a component for game development ?
23:28:37BlueProtomanFor now, just port an ECS to Nim, and ensure it's polished and documented. Game dev is purported to be a major use case for Nim, but I think a lack of a good ECS for it is holding it back from that.
23:29:06desophosi think lack of any game dev frameworks is holding it back :p
23:29:44BlueProtomanNo, we have some.
23:30:15BlueProtomanNot big ones, but they're there.
23:30:16desophossuch as?
23:30:32BlueProtomanWe have Allegro and SDL wrappers, for instance
23:31:01BlueProtomanAnd OpenGL (not a game framework, but still important)
23:31:55BlueProtomanWe also apparently have ludens, nimgame, horde3d, and sfml
23:35:39mat4does one know how to implement an object constructor (these kind of routines which get called automatical by object invocation) ?
23:36:38*gokr quit (Quit: Leaving.)
23:37:09*mat4 quit (Quit: leaving)
23:40:30desophosmat4, you'll have to be more specific
23:40:49desophosBlueProtoman, most of those haven't been updated in a while
23:48:28desophosas in, no longer maintained
23:49:05BlueProtomandesophos: True. However, at least they're there (and mostly wrappers anyway, so easy to update). We have practically *nothing* for an entity system.
23:49:47desophostrue, the engine aspirants (nimgame, ludens, rod) are lacking
23:50:46BlueProtomanA proper ECS makes it easier to put the pieces together anyway; OpenGL for rendering, portaudio for sound, etc.
23:50:53desophosyep
23:51:49BlueProtomanSo I'm not concerned about the relative dearth of game frameworks; an ECS is more critical, largely because it needs to be Nim-centric (i.e. not just a wrapper)
23:53:33desophosyeah, it would be cool
23:54:37BlueProtomanThe more people I can get to think so, the more potential contributors we have for one.
23:54:46*Trustable quit (Ping timeout: 240 seconds)
23:55:31*elrood quit (Quit: Leaving)
23:56:34*strcmp2 joined #nim