| 00:02:29 | * | entrobert joined #nim |
| 00:10:28 | * | Trustable quit (Remote host closed the connection) |
| 00:24:42 | * | Demon_Fox joined #nim |
| 00:37:17 | cryzed | Can someone shed light on the UseBase deprecation? Warning: use {.base.} for base methods; baseless methods are deprecated [UseBase] |
| 00:49:55 | * | jaco60 quit (Ping timeout: 260 seconds) |
| 00:51:40 | * | vendethiel quit (Ping timeout: 260 seconds) |
| 00:52:11 | sqwishy | I have a function that writes to a stream and I have a socket. How do I hook them up so that the function writes to the socket? |
| 00:57:09 | * | gokr quit (Quit: Leaving.) |
| 00:57:50 | krux02 | how can I transform a type into a NimNode, so I can compare it with sameType |
| 01:00:22 | krux02 | sqwishy: I would say, without knowing a lot of nim, you do it by polling, regulary check, if that stream has some data, and then write it to the socket |
| 01:01:37 | krux02 | sqwishy: you can also create a theread, that does nothing, except reading the sockets and writing to the socket |
| 01:14:20 | sqwishy | Hrm ... I can't even figure out how read the thing out of the stream ... |
| 01:47:09 | * | desophos quit (Ping timeout: 265 seconds) |
| 01:58:16 | cryzed | dom96, is it possible to use varargs without having a leading fixed positional argument? |
| 02:17:12 | cryzed | Araq, https://gist.github.com/cryzed/baa46dea7ae36f1ef3d0 my code looks like this. I am trying to do something like newGameObject(newComp1(), newComp2()) where Comp1 and Comp2 are subclasses of Component. I get the following error: https://gist.github.com/cryzed/bcf0ccfe4b014bcad1e2 |
| 02:17:13 | cryzed | Any idea |
| 02:27:21 | krux02 | cryzed can you add the calling part, too ? |
| 02:27:40 | krux02 | have you tried openArray, too? |
| 02:34:27 | cryzed | krux02, yes, one second |
| 02:34:41 | cryzed | krux02, openArray is not really what I want -- that would require me to pass a sequence or array |
| 02:35:07 | cryzed | krux02, https://gist.github.com/cryzed/10d7668680f1f6b63866 calling part |
| 02:39:06 | cryzed | but yeah when I use openArray[Component]: snake.nim(76, 32) Error: type mismatch: got (Array constructor[0..1, Component:ObjectType]) |
| 02:39:17 | cryzed | ah that might be my fault |
| 02:39:49 | * | krux02 quit (Quit: Page closed) |
| 02:40:05 | * | krux02 joined #nim |
| 02:40:18 | cryzed | krux02, I found the error. I forgot to put "ref" when subclassing |
| 02:41:13 | cryzed | hm, I still can't use varargs though |
| 02:45:09 | cryzed | it works for simple types, just not the Component type, or its subclasses |
| 02:49:59 | * | desophos joined #nim |
| 03:22:00 | * | krux02 quit (Quit: Page closed) |
| 03:23:41 | * | lockdown joined #nim |
| 03:33:07 | * | lockdown quit (Remote host closed the connection) |
| 03:58:37 | * | entrobert quit (Ping timeout: 265 seconds) |
| 04:44:07 | * | vendethiel joined #nim |
| 05:06:44 | * | vendethiel quit (Ping timeout: 272 seconds) |
| 05:54:47 | * | entrobert joined #nim |
| 05:59:56 | * | entrobert quit (Ping timeout: 265 seconds) |
| 06:25:42 | * | darkf joined #nim |
| 06:30:44 | * | pregressive joined #nim |
| 06:52:08 | * | Demon_Fox quit (Ping timeout: 265 seconds) |
| 06:52:35 | * | Demon_Fox joined #nim |
| 06:56:28 | * | entrobert joined #nim |
| 06:58:09 | * | Demon_Fox quit (Quit: Leaving) |
| 07:03:15 | * | entrobert quit (Ping timeout: 265 seconds) |
| 07:08:33 | * | entrobert joined #nim |
| 07:29:13 | * | Demos quit (Read error: Connection reset by peer) |
| 07:42:39 | * | pregressive quit (Remote host closed the connection) |
| 07:48:48 | * | entrobert quit (Quit: WeeChat 1.3) |
| 08:22:24 | * | zaquest quit (Quit: Leaving) |
| 08:35:45 | * | zaquest joined #nim |
| 08:45:35 | * | BitPuffin|osx quit (Ping timeout: 240 seconds) |
| 09:01:58 | * | kerze joined #nim |
| 09:05:54 | * | yglukhov joined #nim |
| 09:17:37 | * | kerze is now known as smodo |
| 09:23:06 | * | desophos quit (Read error: Connection reset by peer) |
| 10:06:34 | * | jaco60 joined #nim |
| 10:19:01 | * | irrequietus joined #nim |
| 10:23:50 | * | irrequietus quit (Read error: Connection reset by peer) |
| 10:24:56 | * | irrequietus joined #nim |
| 10:25:53 | * | Matthias247 joined #nim |
| 10:32:55 | * | irrequietus quit () |
| 10:33:06 | * | irrequietus joined #nim |
| 10:44:46 | * | smodo quit (Ping timeout: 240 seconds) |
| 10:52:24 | * | yglukhov quit (Remote host closed the connection) |
| 11:01:20 | * | lokulin quit (Changing host) |
| 11:01:20 | * | lokulin joined #nim |
| 11:44:00 | M-max | Answer to my question: at compilation stage, use when T is int, not if type(t) == int => it is possible to have type specific code paths within generic code |
| 11:44:42 | M-max | I don't think there's a "when case T" equivalent though? |
| 11:49:31 | * | yglukhov joined #nim |
| 11:53:41 | * | yglukhov quit (Ping timeout: 246 seconds) |
| 11:55:12 | * | vendethiel joined #nim |
| 12:01:40 | dom96 | M-max: yeah, I don't think there is a way to do a static case statement currently. Unless maybe using `static: case ...` but then you can't use the `is`. |
| 12:11:09 | * | Demon_Fox joined #nim |
| 12:27:30 | * | yglukhov joined #nim |
| 13:17:06 | * | irrequietus quit () |
| 13:33:37 | * | yglukhov quit (Remote host closed the connection) |
| 13:34:51 | * | Demon_Fox quit (Quit: Leaving) |
| 13:51:56 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 14:18:12 | * | vendethiel- joined #nim |
| 14:20:16 | * | vendethiel quit (Ping timeout: 272 seconds) |
| 14:45:29 | * | yglukhov joined #nim |
| 14:55:30 | * | kulelu88 joined #nim |
| 14:55:30 | * | kulelu88 quit (Changing host) |
| 14:55:30 | * | kulelu88 joined #nim |
| 14:56:08 | * | sepisoad joined #nim |
| 15:22:18 | * | exebook_ quit (Read error: Connection reset by peer) |
| 15:35:17 | * | Trustable joined #nim |
| 15:43:28 | * | yglukhov quit () |
| 15:47:18 | cryzed | dom96, https://gist.github.com/cryzed/baa46dea7ae36f1ef3d0 my code looks like this. I am trying to do something like newGameObject(newComp1(), newComp2()) where Comp1 and Comp2 are subclasses of Component. I get the following error: https://gist.github.com/cryzed/bcf0ccfe4b014bcad1e2. Any idea? |
| 15:48:05 | dom96 | hi cryzed |
| 15:48:11 | cryzed | hi dom96 :) |
| 15:48:23 | * | dom96 takes a look |
| 15:48:52 | cryzed | The varargs works for simple types, string int etc. But as soon as I try to pass subclasses of Component to varargs I get an error |
| 15:49:07 | dom96 | cryzed: can you gist your full code? |
| 15:49:11 | cryzed | Yes, one second |
| 15:49:13 | cryzed | it has changed since |
| 15:51:29 | cryzed | Uhm, I had to zip it dom96. There's no executable in there, so don't worry: https://dl.dropboxusercontent.com/u/835469/resources.zip -- The files are components.nim and main.nim -- respectively line 32 and line 62. I had to change the code to accept an array instead, but as soon as you change the signature back and adapt it in newRandomButton it will error -- I'll do that every second if that's too much to task |
| 15:51:56 | * | sepisoad quit (Read error: Connection reset by peer) |
| 15:52:49 | dom96 | I don't see any main.nim and snake.nim compiles fine? |
| 15:55:31 | cryzed | it does |
| 15:55:38 | cryzed | now, yes. Since I pass an array to newComponent |
| 15:55:40 | cryzed | instead of varargs |
| 15:55:50 | cryzed | I meant snake.nim |
| 15:56:07 | cryzed | if I remove the [ ] and change the signature of newGameObject to accept varargs instead it doesn't work |
| 15:56:09 | cryzed | one second |
| 15:56:52 | cryzed | dom96, https://gist.github.com/cryzed/671bf0f63c4b347c9df2 adapted code |
| 15:56:59 | cryzed | line 32 and 60 |
| 15:57:40 | cryzed | components.nim(61, 16) Error: type mismatch: got (GraphicsComponent, RandomPositionComponent) |
| 15:57:41 | cryzed | but expected one of: |
| 15:57:41 | cryzed | components.newGameObject(components: varargs[Component]) |
| 16:00:03 | dom96 | cryzed: Looks like a bug to me. |
| 16:00:09 | cryzed | oh |
| 16:00:25 | cryzed | Well I'll ping Araq again then, he didn't get around to answering yesterday |
| 16:00:27 | cryzed | Araq, ping |
| 16:00:53 | cryzed | thank you dom96 |
| 16:02:22 | dom96 | Sure, if you want. I would just report it already. |
| 16:02:27 | cryzed | Ah ok |
| 16:02:38 | cryzed | dom96, I'm trying to implement the component system from http://gameprogrammingpatterns.com/component.html. You were planning to port a game engine too right? Or an entity system? |
| 16:02:57 | dom96 | cryzed: Somebody on the forum wanted to do that, I was offering my help |
| 16:03:04 | cryzed | ah I see |
| 16:03:10 | dom96 | But with the amount of work I have it doesn't look like I will be able to do that. |
| 16:03:59 | cryzed | that's too bad :(. Hope your workload eases soon |
| 16:06:25 | dom96 | Thank you :) |
| 16:10:02 | cryzed | https://github.com/nim-lang/Nim/issues/3656 -- created |
| 16:11:10 | cryzed | thanks for your support, as always |
| 16:11:25 | cryzed | I am trying to implement an approximation of a game component system |
| 16:11:42 | cryzed | might be overkill for snake, but I want to do something similar to what you did -- a dungeon crawler/roguelike thingy |
| 16:13:59 | dom96 | oh, you mean futurehack? |
| 16:14:06 | dom96 | Never got that finished lol |
| 16:14:26 | dom96 | Would be awesome if you could create a game component system as a standalone library |
| 16:14:43 | * | Ven joined #nim |
| 16:14:53 | cryzed | dom96, I'll try to abstract it out once I got all the kinks out by having to actually use it |
| 16:15:20 | cryzed | although there's not much of a library in the end. You just need a type that accepts component-subtypes and calls a method on them. But yes, that was the plan -- I'll try to do that |
| 16:15:26 | dom96 | cryzed: Awesome. That usually results in great libraries :) |
| 16:15:31 | cryzed | :) |
| 16:22:29 | * | allan0_ quit (Ping timeout: 246 seconds) |
| 16:23:12 | * | allan0 joined #nim |
| 16:45:39 | * | Matthias247 joined #nim |
| 16:51:11 | * | vendethiel- quit (Remote host closed the connection) |
| 16:51:32 | * | vendethiel joined #nim |
| 17:09:06 | * | def- quit (Ping timeout: 240 seconds) |
| 17:13:15 | * | def- joined #nim |
| 17:19:31 | * | brson joined #nim |
| 17:26:14 | * | boopisaway is now known as boop |
| 17:29:00 | * | BitPuffin|osx joined #nim |
| 17:31:09 | * | vikaton joined #nim |
| 17:36:10 | * | vqrs quit (Ping timeout: 260 seconds) |
| 17:38:11 | * | vqrs joined #nim |
| 17:39:03 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:42:19 | * | Ven joined #nim |
| 17:49:47 | * | vendethiel quit (Read error: Connection reset by peer) |
| 18:10:18 | * | Jesin quit (Quit: Leaving) |
| 18:10:44 | * | Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:11:52 | * | vendethiel joined #nim |
| 18:13:27 | * | Jesin joined #nim |
| 18:17:32 | * | brson quit (Read error: Connection reset by peer) |
| 18:18:52 | * | brson joined #nim |
| 18:28:48 | * | Matthias247 quit (Read error: Connection reset by peer) |
| 19:32:44 | * | desophos joined #nim |
| 19:56:12 | * | irrequietus joined #nim |
| 20:11:08 | * | darkf quit (Quit: Leaving) |
| 20:29:41 | * | brson quit (Quit: leaving) |
| 21:03:55 | * | jakesyl quit (Ping timeout: 240 seconds) |
| 21:06:00 | * | gokr joined #nim |
| 21:17:40 | * | jakesyl joined #nim |
| 21:18:14 | * | kulelu88 quit (Ping timeout: 246 seconds) |
| 21:34:23 | * | kulelu88 joined #nim |
| 21:35:05 | * | desophos quit (Read error: Connection reset by peer) |
| 21:41:06 | * | lazypenguin quit (Read error: Connection reset by peer) |
| 21:41:48 | * | lazypenguin joined #nim |
| 21:41:54 | * | ephja joined #nim |
| 21:51:00 | * | Matthias247 joined #nim |
| 21:52:15 | * | themagician_c is now known as themagician |
| 21:58:40 | * | chasmo joined #nim |
| 22:06:05 | * | Demos joined #nim |
| 22:18:03 | * | vikaton quit (Quit: Connection closed for inactivity) |
| 22:25:27 | * | boop is now known as boopisaway |
| 22:31:43 | * | chasmo left #nim (#nim) |
| 23:17:50 | * | kulelu88 quit (Ping timeout: 255 seconds) |
| 23:29:37 | * | kulelu88 joined #nim |
| 23:55:16 | cryzed | Araq, dom96: When you get time it would be awesome if you could help me out with this: https://gist.github.com/cryzed/409893a53be0842751eb https://gist.github.com/cryzed/2d125034be103d5bc5d5. It's the first time I'm attempting a more complicated class hierarchy with method overriding etc. and it fails entirely. I have defined generic send/receive methods in the baseclass and want to override them in my subclasses, and I expect some kind of |
| 23:55:16 | cryzed | pattern matching for the types at runtime. i.e. if I override it with receive[T] I expect all arguments to match that method, if I override [string] specifically only string types etc. But no matter what I do, the 2 methods aren't called. Is what I'm attempting to do impossible? Does Nim always think that the elements in my seq[Components] of class GameObject are "just" Component types? |
| 23:56:43 | * | Matthias247 quit (Read error: Connection reset by peer) |