00:00:10 | shashlick | I think the underlying implementation is based on seqs though not sure |
00:00:57 | * | rnrwashere quit (Remote host closed the connection) |
00:09:05 | I_Right_I | yeah I think a list is what I am going to need. For some reason I thought seqs had a 'remove' procedure vs just a 'pop' |
00:09:09 | I_Right_I | thanks though |
00:10:04 | * | rnrwashere joined #nim |
00:12:08 | * | theelous3__ quit (Ping timeout: 245 seconds) |
00:13:22 | * | rnrwashere quit (Remote host closed the connection) |
00:18:07 | * | shashlick quit (Ping timeout: 240 seconds) |
00:18:17 | FromGitter | <kayabaNerve> clybber: If I use used, it doesn't get stripped out as dead code. |
00:18:49 | * | lritter quit (Ping timeout: 250 seconds) |
00:29:29 | * | rnrwashere joined #nim |
00:29:56 | ryukoposting | yo guys check this out https://dailyprog.org/f/4l7k |
00:30:48 | ryukoposting | internally, all the components of the request are generated correctly. Next step is actually making the request, signing code is in progress |
00:38:33 | * | rnrwashere quit (Remote host closed the connection) |
00:41:22 | * | vlad1777d joined #nim |
00:41:26 | * | disruptek lols back to when we had 100mb hard drives and devoted 10mb to swap; compiling a kernel took 1.5 days, and X and Mosaic ran in 40mb. |
00:42:28 | * | ryukoposting sips |
00:52:19 | I_Right_I | disruptek: That takes me back.... I think my first linux compile took 9 hours on 133mhz Pentium with 16mb of ram |
00:59:15 | disruptek | yeah, the early linux experiences... it's pretty nuts how far we've come. |
00:59:32 | * | noeontheend joined #nim |
01:00:15 | disruptek | i mean, you could build a kernel OR you could run X. not both. |
01:08:56 | * | rnrwashere joined #nim |
01:17:47 | FromDiscord | <exelotl> planetis[m] hmm I don't remember talking about it but this looks cool though! |
01:35:48 | * | I_Right_I quit (Remote host closed the connection) |
01:58:29 | * | noeontheend quit (Ping timeout: 250 seconds) |
02:13:36 | * | mosORadi joined #nim |
02:22:48 | * | Tyresc quit (Quit: WeeChat 2.5-dev) |
02:25:28 | disruptek | ryukoposting: i need that right now; how can i help? |
02:26:47 | * | neceve quit (Read error: Connection reset by peer) |
03:03:39 | * | rnrwashere quit (Remote host closed the connection) |
03:05:15 | * | rnrwashere joined #nim |
03:19:47 | * | rnrwashere quit (Remote host closed the connection) |
03:20:06 | ryukoposting | hm? |
03:20:34 | * | rnrwashere joined #nim |
03:23:24 | * | noeontheend joined #nim |
03:37:16 | * | rnrwashere quit (Remote host closed the connection) |
03:39:28 | * | cgfuh quit (Ping timeout: 246 seconds) |
03:40:08 | * | rnrwashere joined #nim |
03:55:22 | * | dddddd quit (Remote host closed the connection) |
04:02:33 | * | rnrwashere quit (Remote host closed the connection) |
04:05:17 | * | noeontheend quit (Ping timeout: 268 seconds) |
04:07:21 | FromDiscord | <slymilano> Have any of you guys successfully used Nim at work? |
04:07:52 | * | rnrwashere joined #nim |
04:23:10 | * | mosORadi quit (Quit: Connection closed for inactivity) |
04:27:27 | * | rnrwashere quit (Remote host closed the connection) |
04:27:58 | * | rnrwashere joined #nim |
04:54:40 | * | nsf joined #nim |
05:08:46 | * | rnrwashere quit (Remote host closed the connection) |
05:09:07 | * | rnrwashere joined #nim |
05:24:00 | FromDiscord | <treeform> I successfully use Nim at work. |
05:24:21 | FromDiscord | <treeform> Grr this issue still not fixed on windows: https://github.com/nim-lang/Nim/issues/9953 |
05:24:47 | FromDiscord | <treeform> https://github.com/nim-lang/Nim/issues/8648 |
05:29:29 | FromDiscord | <treeform> @slymilano I develop internal tools with nim, soon going to be 100% working with nim. |
05:44:34 | ryukoposting | yeah I use it for build tools and such |
05:58:36 | leorize | @treeform fixing the startprocess bug would need to extend the Nim's osproc API |
05:59:06 | * | solitudesf joined #nim |
06:08:56 | Araq | leorize: how so? |
06:11:34 | leorize | we would need either a flag to inherit the parent stdin (for program that checks for a console existance) or a mechanism to pass our own file handle to the child |
06:16:36 | Araq | if I can pass my own file handle to the child, how would that fix the deadlocks? |
06:19:57 | leorize | some program doesn't output anything if their input file is not the console |
06:20:09 | leorize | so Nim would stuck on the pipe forever |
06:22:34 | * | Jjp137 quit (Read error: Connection reset by peer) |
06:23:15 | * | Jjp137 joined #nim |
06:24:30 | Araq | I understand that passing the file handles to startProcess would be a nice feature |
06:24:50 | Araq | but using this mechanism to prevent deadlocks would at best be a workaround, no? |
06:26:28 | * | kapil____ joined #nim |
06:26:51 | * | shashlick joined #nim |
06:27:01 | * | shashlick quit (Remote host closed the connection) |
06:27:27 | leorize | the "proper" way (IMO) is to use `atEnd` to check if there's anything in the pipe before reading (can only be guaranteed if the process has terminated) |
06:27:39 | * | shashlick joined #nim |
06:35:29 | FromDiscord | <treeform> maybe everything thing should pipe to a tmp file, then nim reads the file? |
06:35:49 | FromDiscord | <treeform> (on windows) |
06:39:19 | leorize | we... don't have the facility to do that yet :p the API is limited to pipes to parent afaict |
06:39:59 | FromDiscord | <treeform> maybe ran a bat file |
06:40:01 | FromDiscord | <treeform> in bat file put |
06:40:05 | leorize | iirc correctly on windows the console is an object, so the same problem shouldn't happen there |
06:40:05 | FromDiscord | <treeform> THING >> tmp/file |
06:45:08 | FromDiscord | <treeform> Is there a way to `{.emit: readFile(...)}` |
06:46:01 | leorize | no, but you can `{.emit: staticRead(...).}` |
06:47:52 | FromDiscord | <treeform> yes that works thanks! |
06:47:54 | Araq | we use named pipes on Windows |
06:59:07 | * | banc joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:44 | * | gmpreussner joined #nim |
07:11:52 | * | narimiran joined #nim |
07:26:58 | leorize | Araq: will Nim 0.20 be shipped with working new runtime? |
07:27:15 | Araq | define "working" |
07:27:32 | * | jjido joined #nim |
07:27:56 | leorize | most of the stdlib usable and I can write multi threaded program that works with it |
07:30:39 | Araq | the goal is to make koch.nim compile&run with it for 0.20 |
07:32:09 | Araq | the stdlib is big and porting&testing takes too long for 0.20 |
07:33:01 | Araq | so far pleasing the compiler with 'owned' annotations was super simple but who knows what will happen at runtime :P |
07:33:39 | * | Trustable joined #nim |
07:37:10 | Araq | Help would be most welcome ;-) |
07:38:33 | leorize | we can dug up more bugs for you to fix :) |
07:43:18 | * | clyybber joined #nim |
07:43:46 | Zevv | what does "help" look like at this point, |
07:44:54 | leorize | also a quick test shows that the `Node(x: 10, y: 20)` syntax doesn't work if `Node` is a ref object |
07:45:04 | leorize | (with new runtime) |
07:48:17 | FromGitter | <Varriount> ryukoposting: ping |
07:49:30 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
07:50:13 | FromGitter | <Varriount> disruptek: I have AWS request signing code that's usable now, however you would need to figure out the endpoint, parameters, etc manually |
07:50:58 | * | Trustable quit (Remote host closed the connection) |
07:51:05 | FromGitter | <Varriount> It basically takes data for an http request, and returns the AWS authorization header or query parameter |
07:55:20 | * | Arlenx joined #nim |
08:01:02 | clyybber | The names of named tuples get optimized away when using -d:release right? |
08:04:48 | leorize | IIRC RTTI will only be generated if you make use of it |
08:07:37 | clyybber | Ok, nice. Thanks |
08:09:50 | * | dddddd joined #nim |
08:13:24 | * | stefanos82 joined #nim |
08:44:02 | * | jjido_ joined #nim |
09:04:52 | * | Minimisthupper joined #nim |
09:11:32 | * | rnrwashere quit (Remote host closed the connection) |
09:11:38 | * | clyybber quit (Quit: WeeChat 2.4) |
09:31:13 | * | ng0 joined #nim |
09:34:37 | * | solitudesf quit (Ping timeout: 245 seconds) |
09:47:02 | * | Minimisthupper quit (Quit: Konversation terminated!) |
09:56:16 | * | jjido_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
10:03:16 | * | jjido joined #nim |
10:31:16 | * | narimiran quit (Ping timeout: 264 seconds) |
10:46:22 | planetis[m] | exelotl: my bad, i found the conversation it was with another discord user |
10:47:00 | planetis[m] | hotdog: ping |
11:17:10 | * | seni joined #nim |
11:35:16 | * | neceve joined #nim |
11:35:17 | * | lritter joined #nim |
11:36:44 | * | Cthalupa- quit (Ping timeout: 244 seconds) |
11:36:56 | * | Minimisthupper joined #nim |
11:38:02 | * | Cthalupa joined #nim |
11:38:41 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:42:37 | FromGitter | <alehander42> ok i finally read most of the gel lang \paper |
11:54:29 | FromGitter | <alehander42> btw |
11:54:35 | FromGitter | <alehander42> why using nil for dangling pointers |
11:54:48 | FromGitter | <alehander42> instead of having e.g. special "dangling" value |
11:55:43 | FromGitter | <alehander42> i really hoped we can model ref not nil in some cases |
12:00:31 | * | jjido joined #nim |
12:23:04 | FromGitter | <bluenote10> syntactically the idea was to use e.g. `disarm(dangling)` |
12:31:55 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
12:33:03 | Zevv | + that |
12:37:41 | * | theelous3__ joined #nim |
12:37:50 | * | luis_ joined #nim |
12:38:35 | * | Vladar joined #nim |
12:42:59 | luis_ | Hi everyone, I am getting: Error: type mismatch: got <type ThreadData> but expected 'Thread = CompositeTypeClass' |
12:43:32 | luis_ | When trying to follow Picheta's p155 example: |
12:44:37 | luis_ | https://i.imgur.com/lTQ7fdV.png |
12:45:10 | luis_ | And compiling with: nim --threads:on c threads.nim |
12:45:32 | luis_ | What am I doing wrong? |
12:50:19 | leorize | luis_: the correct syntax is `Thread[ThreadData]` |
12:51:11 | luis_ | Oh I see, getting too old and needing new glasses.. thanks |
12:53:05 | * | luis_ is now known as lf-araujo |
12:54:12 | * | solitudesf joined #nim |
13:06:34 | * | Arlenx quit (Read error: Connection reset by peer) |
13:22:06 | * | jjido joined #nim |
13:26:37 | * | luis_ joined #nim |
13:27:36 | * | lf-araujo quit (Ping timeout: 252 seconds) |
13:32:37 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:32:42 | * | krux02 joined #nim |
13:33:50 | * | narimiran joined #nim |
13:41:47 | * | mosORadi joined #nim |
13:44:07 | * | Minimisthupper quit (Quit: Konversation terminated!) |
13:47:58 | * | luis_ is now known as lf-araujo |
13:55:16 | FromGitter | <liquid600pgm> is there any way to capture a `var T` in a closure? I'm 100% certain my use case doesn't violate memory safety |
13:56:00 | leorize | well, no, but you can always pass a pointer :) |
13:57:01 | FromGitter | <liquid600pgm> well, my object I'm trying to pass is already a `ref object`, how do I turn it into a `ptr`? just use `cast`? |
13:57:43 | leorize | a `ref object` can always be captured by a closure iirc |
13:57:50 | leorize | after all it's just a pointer |
13:58:11 | FromGitter | <liquid600pgm> `ref object`s are mutable no matter what? |
13:58:31 | leorize | yea |
13:58:41 | FromGitter | <liquid600pgm> nice |
13:58:48 | leorize | there's no immutable ref in Nim atm |
13:59:54 | * | Cthalupa quit (Ping timeout: 264 seconds) |
14:00:05 | * | narimiran_ joined #nim |
14:00:48 | * | Cthalupa joined #nim |
14:01:25 | * | narimiran quit (Ping timeout: 246 seconds) |
14:06:51 | FromGitter | <liquid600pgm> all right, now it works perfectly |
14:10:42 | FromGitter | <liquid600pgm> are captured `ref object`s copies, or just references? |
14:11:26 | dom96 | references |
14:13:40 | FromGitter | <liquid600pgm> that's great, my issue from a few months ago (can't find a link, nimforum really needs a list of posts by self) is completely solved now |
14:17:10 | FromGitter | <kayabaNerve> Simple definition: ref is a memory managed pointer |
14:17:18 | FromGitter | <kayabaNerve> Extended definition: ref is a memory managed pointer |
14:17:23 | FromGitter | <kayabaNerve> :thinking: |
14:17:25 | FromGitter | <liquid600pgm> yeah, I know that lol |
14:17:45 | FromGitter | <kayabaNerve> ptrs aren't immutable or copies :P |
14:17:52 | dom96 | liquid600pgm: the forum does have that list, look at your profile |
14:18:21 | FromGitter | <liquid600pgm> I only see "Latest posts" and "Latest threads" |
14:18:43 | FromGitter | <liquid600pgm> and that only shows 10 items |
14:18:56 | FromGitter | <liquid600pgm> the thread I'm talking about is way older than that |
14:23:58 | FromGitter | <alehander42> hmm no |
14:24:04 | FromGitter | <alehander42> @bluenote10 |
14:24:23 | FromGitter | <alehander42> my point is that we'll have `nil` which means both "no value" & "invalid dangling pointer" |
14:24:35 | FromGitter | <alehander42> and it might be hard to separate those meanings |
14:24:41 | FromGitter | <alehander42> the syntax doesn't matter |
14:25:01 | FromGitter | <alehander42> it can be always sugar-ed |
14:26:29 | krux02 | alehander42: where does `nil` mean invalid dangling pointer? |
14:26:55 | krux02 | nil cannot be a dangling pointer, because it is nil. |
14:26:56 | * | luis_ joined #nim |
14:28:06 | * | lf-araujo quit (Ping timeout: 250 seconds) |
14:30:39 | FromGitter | <alehander42> you're right, sorry, i misundersroot |
14:30:44 | FromGitter | <alehander42> stood' |
14:31:11 | FromGitter | <alehander42> in this case we dont have any other mechanism to detect dangling unowned refs on CT? |
14:32:54 | FromGitter | <alehander42> i wonder how hard would be to detect them at least in some cases |
14:36:46 | * | luis_ quit (Quit: luis_) |
14:49:32 | krux02 | well, detecting dangling unowned refs at CT is an inherintly complicated problem. We think it is not worth to try to find a solution for it. |
14:50:40 | krux02 | dangleing pointers can be anywhere in the program, in non local scope. |
14:51:31 | krux02 | I personally think the tooling to detect them at runtime is the sweet spot. |
14:53:33 | * | narimiran_ quit (Remote host closed the connection) |
14:54:20 | * | narimiran_ joined #nim |
15:12:05 | FromGitter | <alehander42> Hm but what about detecting which refs are surely owned / safe |
15:12:28 | FromGitter | <alehander42> And for those which are not just ensuring you use them in flow paths where they're checked for nil |
15:13:16 | * | fanta7531 joined #nim |
15:14:39 | FromGitter | <alehander42> And somehow still providing checks in ==nil branch so the user has better control what yo do in release instead of abort and still the info in debug mode, maybe not really making sense here wait |
15:33:03 | krux02 | alehander42: it is not about detecting refs which are surely owned, it is about detecting dangling refs |
15:34:19 | krux02 | the assumption is that refs are not dangling, then you pass them around somewhere in the program. |
15:34:28 | krux02 | out of scope |
15:34:48 | krux02 | in my opinion out of reach for static analysis |
15:38:25 | * | kapil____ quit (Quit: Connection closed for inactivity) |
15:50:56 | * | mosORadi quit (Quit: Connection closed for inactivity) |
16:06:05 | Araq | container.storeInto(unownedRefDerivedFrom(aboutToLeaveScope)) isn't out of reach for static analysis but we would need 'unownedRefDerivedFrom' information |
16:06:43 | Araq | we can compute it and produce warnings. |
16:07:15 | Araq | it's definitely feasible but a quality-of-implementation issues when it's also detected at runtime |
16:09:03 | Araq | but we need real-world experience with the scheme first. |
16:21:06 | * | kapil____ joined #nim |
16:24:06 | FromGitter | <bluenote10> can I somehow use `getCustomPragmaVal` within a compile time proc, where I only have a `NimNode` corresponding to a type? |
16:25:17 | FromGitter | <bluenote10> `getCustomPragmaVal` is a macro expecting a `typed` arg as its first parameter. Basically the question is if I can pass in a `NimNode` instead? |
16:34:27 | Araq | you can add an overload to macros.nim for that |
16:45:31 | FromDiscord | <exelotl> bleh circular dependencies |
16:46:16 | FromDiscord | <exelotl> I would like the player to be able to loop over the enemies to check if he's standing on any of them |
16:46:34 | FromDiscord | <exelotl> I'd also like the enemies to be able to refer to the player, for AI purposes etc. |
16:47:22 | FromDiscord | <exelotl> I basically can't do that without introducing a third module for shared data |
16:47:28 | FromGitter | <bluenote10> I see, I can look into that. In my case I might get away with reading the stuff I need from the type inst directly. |
16:47:51 | FromDiscord | <exelotl> and that module will get really big as more kinds of object are added to the game |
16:58:00 | * | jjido joined #nim |
17:01:44 | * | jjido quit (Client Quit) |
17:03:09 | Zevv | exelotl: https://i.imgflip.com/2x3fuf.jpg |
17:08:46 | FromDiscord | <exelotl> 👌 |
17:09:33 | Araq | well my workaround works and I still think that if you have mutually recursive types there is no reason to pretend they are in different modules |
17:10:21 | Araq | when everything imports everything else you don't have "modularity". |
17:11:11 | Araq | and why are player and enemies different types anyway, it's just a team, some team can be controlled by a human being, others by the AI |
17:13:38 | FromGitter | <zetashift> https://github.com/RapidFingers/Craxe haxe to nim :O |
17:15:28 | disruptek | hard to argue with that logic. 😬 |
17:16:37 | FromDiscord | <exelotl> I don't have any mutually recursive types, and all my types are defined in a single module |
17:16:55 | FromDiscord | <exelotl> I'd just like a procedure in one module to be able to access some variables in another |
17:16:57 | FromDiscord | <exelotl> and vice versa |
17:23:23 | FromDiscord | <Avatarfighter> Is there a way to make a Table have values which could be an int or a string without the use of a type? I'm just wondering because currently I have a type that handles all the different types that I would want to store in a table but I wasn't sure if this was the best way of doing it |
17:26:42 | FromDiscord | <exelotl> @Avatarfighter I think that's the best way to do it |
17:27:21 | FromDiscord | <Avatarfighter> Alrighty, just making sure I wasn't over thinking it 😃 |
17:29:45 | FromDiscord | <exelotl> Ohh I solved my problem: https://nim-lang.org/docs/manual.html#modules |
17:31:01 | FromDiscord | <exelotl> if you want two modules to be able to access each other's variables, you can just move the recursive imports down to *after* the point where the variables are declared |
17:50:08 | FromGitter | <liquid600pgm> can I expect tuple elements to be arranged sequentially? (where `[0, 1, 2]` and `(0, 1, 2)` are arranged in the same way in memory) |
17:51:43 | dom96 | exelotl: huh, sounds like there should be an article highlighting this |
17:59:35 | * | rnrwashere joined #nim |
18:00:46 | * | theelous3__ quit (Ping timeout: 252 seconds) |
18:13:17 | * | vlad1777d quit (Ping timeout: 268 seconds) |
18:15:44 | Zevv | liquid600pgm: the manual suggests this is the case |
18:27:04 | FromGitter | <Varriount> Iqdev: only on the C and C++ backends |
18:27:39 | FromGitter | <liquid600pgm> good to know, thanks |
18:28:03 | FromGitter | <Varriount> And even then, if the tuple elements are reference or pointers, the memory each element points to may not be located contiguously |
18:28:24 | FromGitter | <liquid600pgm> the tuple elements are all `float32` |
18:28:27 | FromGitter | <Varriount> Iqdev: What are you trying to achieve? |
18:28:37 | FromGitter | <liquid600pgm> nothing, just asking out of pure curiosity |
18:29:20 | FromGitter | <liquid600pgm> I have an array I want to use in OpenGL and thought if maybe I could use tuples for the members, but I won't do that just to be safe |
18:29:48 | FromGitter | <Varriount> Eh, yeah, that's probably a good choice. |
18:30:16 | FromGitter | <liquid600pgm> I make sure the right amount of elements is added anyway, so it shouldn't be a problem |
18:30:39 | * | noeontheend joined #nim |
18:54:25 | planetis[m] | i have a sequence of strings and using the in operator, there is an infinite loop in iterators.nim(6) |
18:54:45 | planetis[m] | suppling my own contains function fixes it |
18:55:05 | planetis[m] | but i can't get mwe, because the example works |
19:00:55 | Gertm | Can I create custom comparison procs for objects I created, so the normal comparison operators work? |
19:01:35 | leorize | yes, you can |
19:01:49 | leorize | you can even create your own version of the comparison operators :P |
19:01:51 | Gertm | leorize: Can you link me to a page where this is explained? |
19:02:22 | Gertm | Can't seem to find it in dom96's book. Though I'm not very far in it yet. |
19:03:09 | * | noeontheend quit (Ping timeout: 268 seconds) |
19:03:24 | planetis[m] | just write before the use, your proc |
19:03:46 | Zevv | Gertm: https://nim-lang.github.io/Nim/algorithm.html should have all you need |
19:04:19 | Zevv | well, no, sorry, ignore that |
19:04:45 | Gertm | Sorting with a custom function is atleast something. :) |
19:05:29 | Zevv | i shouldnt irc while commuting, too often I don't read stuff properly befor answering |
19:06:03 | leorize | Gertm: operators in Nim are just `proc`s, so they are subjected to overloading |
19:06:35 | Gertm | Aha, I can probably figure it out then. |
19:06:38 | leorize | just define a proc like this: proc `==`(a, b: YourType): bool |
19:06:48 | Gertm | I just overload the < and > for MyType. |
19:07:18 | Gertm | Ok, I'll work with this for a bit. Thanks guys. |
19:07:35 | leorize | some operators in Nim are template |
19:07:45 | leorize | you can just implement `<` and you got a free `>` :P |
19:08:01 | leorize | oops it's the other way around |
19:10:49 | planetis[m] | Gertm: take a look at system https://nim-lang.org/docs/system.html#%3C%2CEnum%2CEnum |
19:11:03 | planetis[m] | you can overload these procs |
19:11:54 | planetis[m] | however don't do the same for the templates |
19:12:11 | planetis[m] | https://nim-lang.org/docs/system.html#18 |
19:13:11 | planetis[m] | found a link for you https://nim-lang.org/docs/tut1.html#procedures-operators |
19:31:25 | * | clyybber joined #nim |
19:38:25 | * | kapil____ quit (Quit: Connection closed for inactivity) |
19:53:11 | FromGitter | <liquid600pgm> any people experienced with OpenGL out there? |
19:53:52 | FromGitter | <liquid600pgm> I'm having a problem where there's a segfault *somewhere* in the driver (thanks nvidia) on `glDrawArrays`/`glDrawElements` and can't figure out why it happens |
19:58:04 | Zevv | yeah good luck with that |
19:59:38 | Zevv | glDrawElements() is tricky - you pass a pointer to CPU memory |
20:00:00 | Zevv | only when rendering actually happens - at swap or earlier, depending on the implementation - the memory is accessed |
20:00:06 | Zevv | you have to make sure the data is still there |
20:00:31 | Zevv | glDrawElements will not copy data, only take not of the address |
20:01:24 | * | nsf quit (Quit: WeeChat 2.4) |
20:02:47 | Zevv | s/not/note/ |
20:03:21 | * | fanta7531 quit (Quit: fanta7531) |
20:04:54 | * | narimiran_ quit (Remote host closed the connection) |
20:05:03 | Zevv | no, I'm not being clear - glVertexPointer call is actually taking a pointer to your data, which is used by glDrawElements/glDrawArrays |
20:08:42 | FromGitter | <liquid600pgm> I'm not using `glVertexPointer` |
20:09:01 | FromGitter | <liquid600pgm> I'm using `glBufferData` to init the array and `glBufferSubData` to later fill it |
20:10:38 | Zevv | I believe that's similar. You pass a pointer to CPU memory, which only gets consumed by later calls to glDrawSomething |
20:10:47 | Zevv | you have to make sure the data is still there |
20:11:18 | Zevv | if that data lives on the stack and you're no longer in the same function, or if it was on heap and freed, funny stuff will happen |
20:11:24 | FromGitter | <liquid600pgm> aah, I just noticed the difference between my old and new code |
20:11:26 | Zevv | which appears indeed to be *somewhere* in the GL driver |
20:11:56 | FromGitter | <liquid600pgm> basically, I have a Gfx and GfxContext object, in the old version I store vertices on the Gfx and in the new one on the GfxContext |
20:12:07 | FromGitter | <liquid600pgm> the GfxContext is short lived, there's one per frame |
20:15:10 | Zevv | so, found the problem? |
20:30:25 | * | jjido joined #nim |
20:51:21 | * | I_Right_I joined #nim |
20:53:45 | * | rnrwashere quit (Remote host closed the connection) |
21:02:31 | * | rnrwashere joined #nim |
21:08:42 | planetis[m] | what to do, you guys want a bug report for iterators |
21:08:56 | * | planetis[m] sent a long message: < https://matrix.org/_matrix/media/v1/download/matrix.org/erCyLyJNZPuWddtegKFoXYzf > |
21:10:28 | planetis[m] | what im doing is like this https://gist.github.com/b3liever/79503c6630dc6e216366650d3df4a762 but this runs fine |
21:12:27 | planetis[m] | i discovered this by accident (i dont use the default contains), it might have to do with the refactorings |
21:12:53 | planetis[m] | previously (a month ago) my code worked |
21:16:57 | FromGitter | <liquid600pgm> Zevv: nope, that still persists |
21:17:05 | * | seni quit (Quit: Leaving) |
21:17:07 | FromGitter | <liquid600pgm> I'll think about it tommorow |
21:19:44 | FromGitter | <liquid600pgm> I'm not sure what could be causing that, I removed all seq parameter passing and made everything more direct and it still doesn't want to work |
21:27:29 | krux02 | liquid600pgm: for opengl problems, use a debugger, in my opinion apitrace is the best |
21:27:39 | * | Vladar quit (Remote host closed the connection) |
21:27:40 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
21:27:57 | krux02 | https://github.com/apitrace/apitrace |
21:31:02 | * | solitudesf quit (Ping timeout: 250 seconds) |
21:36:01 | * | solitudesf joined #nim |
21:43:50 | clyybber | planetis[m]: I'd extract a minimal test case and report it. |
21:44:20 | planetis[m] | i can't bc it works |
21:44:26 | * | solitudesf quit (Ping timeout: 252 seconds) |
21:44:44 | planetis[m] | i will release the whole project and report |
21:46:33 | I_Right_I | Hey, so hows the new runtime prototype coming along? |
21:49:12 | planetis[m] | btw is this implimented: https://nim-lang.org/docs/manual.html#types-package-level-objects |
21:50:24 | planetis[m] | is a module a package? |
21:52:31 | * | vlad1777d joined #nim |
21:54:05 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:04:40 | * | clyybber quit (Quit: WeeChat 2.4) |
22:14:47 | * | rnrwashere quit (Remote host closed the connection) |
22:34:46 | * | Etheco joined #nim |
22:38:53 | * | Jesin quit (Quit: Leaving) |
22:43:51 | * | rnrwashere joined #nim |
23:09:58 | * | noeontheend joined #nim |
23:15:53 | * | krux02_ joined #nim |
23:16:11 | * | stefanos82 quit (Remote host closed the connection) |
23:18:33 | * | krux02 quit (Ping timeout: 250 seconds) |
23:54:03 | * | krux02_ quit (Remote host closed the connection) |
23:54:29 | * | rnrwashere quit (Remote host closed the connection) |
23:55:00 | * | rnrwashere joined #nim |
23:58:19 | * | lritter quit (Quit: Leaving) |
23:59:52 | * | Jesin joined #nim |