00:02:19 | * | Kingsquee joined #nim |
00:02:34 | * | bitcrusher joined #nim |
00:33:31 | * | flaviu joined #nim |
00:34:05 | flaviu | Finally 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:37 | BlueProtoman | Problem in the nimble section of the library page! http://nim-lang.org/docs/lib.html#nimble |
01:05:11 | flaviu | BlueProtoman: 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:58 | BlueProtoman | flaviu: Didn't look that closely, but was the JSON package list malformed? What about any sort of Web template (a la Mustache)? |
01:06:32 | flaviu | BlueProtoman: https://github.com/nim-lang/packages/pull/269/files was merged. Please note the trailing comma, that's what caused the problem. |
01:07:29 | BlueProtoman | flaviu: Oy. Ain't strict JSON a bitch. |
01:08:49 | flaviu | yup. |
01:09:48 | BlueProtoman | Hey, 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:47 | BlueProtoman | I 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:09 | BlueProtoman | Things 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:19 | flaviu | BlueProtoman: 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:42 | flaviu | err Demos. http://irclogs.nim-lang.org/16-11-2015.html, around 05:06:21 |
01:20:58 | BlueProtoman | Ah, I see. |
01:22:23 | BlueProtoman | You know who else would be interested? |
01:23:41 | flaviu | No, I'm sorry. Have you tried asking on the forums? |
01:23:47 | BlueProtoman | No, 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:21 | BlueProtoman | flaviu: Done. http://forum.nim-lang.org/t/1806 |
01:45:29 | * | n0xff quit (Ping timeout: 246 seconds) |
01:45:32 | BlueProtoman | Oh, 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:04 | flaviu | BlueProtoman: 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:28 | BlueProtoman | flaviu: What's so iffy about it? |
02:00:42 | flaviu | The 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:59 | flaviu | s/been tested/been tested with/ |
02:03:35 | BlueProtoman | So I should stick to "check x == y" instead of, say, "check x.something(y + len(z.stuff))"? |
02:05:10 | flaviu | yup. |
02:05:38 | * | jaco60 quit (Ping timeout: 240 seconds) |
02:06:07 | BlueProtoman | Eh, I can live with that. Unit test conditions should be simple anyway |
02:07:04 | flaviu | They 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:36 | BlueProtoman | Good point |
02:08:22 | * | barosl__ joined #nim |
02:08:22 | BlueProtoman | Also, 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:57 | flaviu | https://github.com/nim-lang/Nim/blob/devel/compiler/docgen.nim |
02:22:23 | flaviu | It'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:34 | flaviu | It=docgen2.nim. |
02:22:54 | flaviu | at least the second It :P |
02:23:37 | * | jefus joined #nim |
02:24:06 | * | jefus left #nim (#nim) |
02:25:02 | BlueProtoman | TODO: 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:39 | andrewvos | How can I get walkFiles to list .files |
11:41:47 | andrewvos | Files that have a . prefix |
11:44:58 | def- | andrewvos: walkFiles(".*") |
11:49:32 | * | mindriot101 quit (Remote host closed the connection) |
11:49:36 | * | elrood joined #nim |
11:51:33 | andrewvos | def-: Yeah, but I would like to include files that also aren't hidden |
12:03:45 | def- | That sounds like a bug if it doesn't do that by default |
12:05:11 | def- | 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:09 | andrewvos | def-: walkFiles(".*") includes ., .., and any files with . prefix |
12:52:12 | andrewvos | But not diles without |
12:52:15 | andrewvos | files |
12:52:21 | andrewvos | Which is to be expected |
12:52:31 | andrewvos | You normally have to explicitly ask for hidden files |
12:52:59 | andrewvos | For example, in ruby |
12:53:06 | andrewvos | Dir.glob("**/*.symlink", File::FNM_DOTMATCH) |
12:59:16 | andrewvos | There don't seem to be any tests for os.walkFiles? |
12:59:22 | andrewvos | Or I can't find them |
13:12:05 | andrewvos | yeah walkDir finds them |
13:12:08 | andrewvos | def-: |
13:12:16 | andrewvos | Sorry 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:34 | tja | Good 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:35 | dom96_ | tja: Please just ask your question instead of asking whether anyone here can help you. |
14:52:20 | tja | I'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:54 | tja | I 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:15 | tja | I thought of using a macro, but that would seem to need a () to trigger the macro... |
14:53:40 | tja | Although I'm not totally sure about that; I seem to be able to use some expression macros without needing a () |
14:53:45 | yglukhov | type MyType = MyTypeWithALongName |
14:53:47 | yglukhov | ? |
14:53:53 | tja | Ok, thanks. |
14:53:59 | * | kniteli joined #nim |
14:54:04 | yglukhov | np |
14:54:37 | yglukhov | dom96: could you please take a look at my question on the forum? Its mostly addressed to you i suppose ;) |
14:55:39 | tja | Out of curiosity, under what circumstances do I not need a () to trigger a macro? |
14:56:31 | yglukhov | tja: if you're using a macro with a dot-notation. e.g: myObject.myMacroThatPretendsToBeAProperty |
14:57:18 | yglukhov | also there's a command syntax. e.g: myMacro arg1, arg2, arg3 |
14:57:18 | dom96_ | yglukhov: currently in a lecture, but will try answer ASAP |
14:57:31 | yglukhov | ok thanx |
14:58:11 | tja | Ok, 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:33 | dom96_ | 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:50 | tja | Hmm... 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:46 | dom96_ | tja: `myNumber.foo` would be dot notation. |
15:03:33 | yglukhov | dom96: 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:00 | tja | Ok, 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:35 | yglukhov | tja: how foo is defined? |
15:04:54 | tja | 'macro myNumber : expr = 10' |
15:04:59 | tja | Oopps |
15:05:20 | tja | foo is actually the function 'newSeq' |
15:05:45 | yglukhov | could you cite it please in nim, and not in English? ;) |
15:06:56 | yglukhov | actually, 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:10 | tja | Erm... 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:45 | yglukhov | tja: and you're right. somehow your macro gets called without (). can't really explain that =( |
15:09:10 | * | n0xff_ quit (Quit: leaving) |
15:09:12 | tja | yglukhov: Ok, thanks. And thanks for the warning about dodgy macro definitions, I'll try to avoid that ;-) |
15:09:41 | yglukhov | well maybe its me who doesn't know something =) |
15:10:27 | tja | yglukhov: would it be helpful to package and example and post it somewhere? |
15:10:45 | tja | (I can make a small example) |
15:12:25 | * | sunnyawake joined #nim |
15:12:47 | yglukhov | tja: imho, you could submit a pr to nim documentation. if your pr gets rejected, then you get official explanation of it ;) |
15:13:07 | sunnyawake | how to use channel to send msg to a specific thread? |
15:13:26 | tja | Ok, TVM, How do I submit a PR? |
15:15:55 | * | sunnyawake_ joined #nim |
15:16:16 | yglukhov | tja: 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:46 | yglukhov | tja: nim project is https://github.com/nim-lang/nim |
15:16:52 | tja | Ah, 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:41 | Varriount-Laptop | >_> |
18:51:03 | desophos | <_< |
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:45 | desophos | did someone say Atom has a Nim plugin? |
19:21:38 | federico3 | desophos: look at the forum |
19:22:38 | desophos | ah, 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:16 | desophos | i'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:44 | mat4 | hello |
22:30:19 | * | BlueProtoman joined #nim |
22:35:41 | BlueProtoman | Hello |
22:36:29 | * | julian37 joined #nim |
22:36:34 | ephja | morning, or whatever |
22:36:48 | BlueProtoman | Morning, sure, let's go with that |
22:37:24 | julian37 | morning |
22:37:33 | ephja | alright |
22:37:39 | BlueProtoman | (It's not morning in New York) |
22:38:35 | BlueProtoman | So, 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:14 | mat4 | what means ECS ? |
22:41:24 | BlueProtoman | Entity 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:34 | BlueProtoman | And 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:23 | BlueProtoman | They're very good at modeling systems with structurally heterogeneous (made of different things) or constantly-changing entities, which games have lots of. |
22:43:44 | mat4 | I'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:51 | BlueProtoman | Also, 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:59 | mat4 | BlueProtoman: Reads like a relative database approach |
22:48:33 | BlueProtoman | mat4: 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:00 | ephja | https://github.com/fowlmouth/nimlibs/blob/master/fowltek/entitty.nim |
22:51:59 | mat4 | Wikipedia has a good article about it |
22:52:24 | BlueProtoman | ephja: 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:43 | desophos | i would love to help but i doubt i'm proficient enough |
22:53:55 | BlueProtoman | desophos: In what, Nim or ECS? |
22:53:58 | desophos | both! |
22:54:03 | desophos | er, neither |
22:54:28 | BlueProtoman | TBH I'm still new to Nim, but I'm familiar with ECSes |
22:55:34 | * | Guest48911 is now known as Guest48911isaway |
22:56:15 | desophos | i understand ECS but am currently in the process of writing my first one |
22:56:26 | desophos | and have never used one |
22:58:29 | * | yglukhov joined #nim |
22:59:34 | desophos | but i'll star/watch the repo if you're going to put it online |
22:59:39 | desophos | and see if i can help |
23:00:19 | desophos | although idk about porting |
23:00:37 | * | sunnyawake joined #nim |
23:01:02 | desophos | well, my first real one; i've attempted to write ones before but ended up abandoning the games |
23:01:16 | desophos | it is yet to be seen whether i'll abandon this one :) |
23:01:47 | * | sunnyawake quit (Client Quit) |
23:11:31 | BlueProtoman | I 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:11 | desophos | sure, i just find porting more difficult and boring :D |
23:23:29 | mat4 | hmm, 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:18 | BlueProtoman | Sure. 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:52 | mat4 | and you want to write a Game or want to offer a component for game development ? |
23:28:37 | BlueProtoman | For 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:06 | desophos | i think lack of any game dev frameworks is holding it back :p |
23:29:44 | BlueProtoman | No, we have some. |
23:30:15 | BlueProtoman | Not big ones, but they're there. |
23:30:16 | desophos | such as? |
23:30:32 | BlueProtoman | We have Allegro and SDL wrappers, for instance |
23:31:01 | BlueProtoman | And OpenGL (not a game framework, but still important) |
23:31:55 | BlueProtoman | We also apparently have ludens, nimgame, horde3d, and sfml |
23:35:39 | mat4 | does 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:30 | desophos | mat4, you'll have to be more specific |
23:40:49 | desophos | BlueProtoman, most of those haven't been updated in a while |
23:48:28 | desophos | as in, no longer maintained |
23:49:05 | BlueProtoman | desophos: 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:47 | desophos | true, the engine aspirants (nimgame, ludens, rod) are lacking |
23:50:46 | BlueProtoman | A proper ECS makes it easier to put the pieces together anyway; OpenGL for rendering, portaudio for sound, etc. |
23:50:53 | desophos | yep |
23:51:49 | BlueProtoman | So 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:33 | desophos | yeah, it would be cool |
23:54:37 | BlueProtoman | The 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 |