00:00:57 | * | stefanos82 quit (Quit: Quitting for now...) |
00:37:04 | FromGitter | <kayabaNerve> Just to check, anything which says Internal Error and recommends running with Koch should be submitted to GitHub Issues, right? |
00:48:16 | FromGitter | <kayabaNerve> Well. There are now two new issues. :thinking: |
01:43:32 | FromGitter | <kaushalmodi> @mratsim that `alias` sugar macro would be nice :) |
02:23:18 | * | sealmove quit (Quit: WeeChat 2.5) |
02:36:51 | * | shashlick quit (Remote host closed the connection) |
02:37:14 | * | shashlick joined #nim |
02:46:36 | * | laaron- joined #nim |
02:46:44 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
03:08:04 | * | dddddd quit (Remote host closed the connection) |
03:29:09 | * | rockcavera quit (Remote host closed the connection) |
03:35:05 | * | rockcavera joined #nim |
03:57:55 | * | fjellfras joined #nim |
04:29:31 | FromGitter | <zacharycarter> kuon: https://github.com/zacharycarter/nuklear-nim - has been updated but the example isn't working. I suspect something small is still wrong in the bindings or my demo setup is incorrect somehow. I have to go to work soon so I won't have time to continue debugging until tonight. They're at least up to date now though. |
04:33:54 | * | nsf joined #nim |
05:10:10 | * | sagax joined #nim |
05:26:56 | * | narimiran joined #nim |
05:49:33 | * | laaron- quit (Quit: ZNC 1.7.1 - https://znc.in) |
05:51:14 | * | laaron joined #nim |
05:55:20 | * | solitudesf joined #nim |
05:58:27 | * | Trustable joined #nim |
06:33:41 | * | Trustable quit (Remote host closed the connection) |
06:35:55 | * | eterps joined #nim |
06:45:27 | * | brakmic joined #nim |
06:49:08 | * | brakmic quit (Remote host closed the connection) |
06:49:32 | * | brakmic joined #nim |
06:53:48 | * | Vladar joined #nim |
06:56:22 | * | abm joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:02:38 | * | purebadger joined #nim |
07:04:46 | * | gmpreussner joined #nim |
07:09:09 | * | eterps quit (Ping timeout: 252 seconds) |
07:09:17 | * | krux02 joined #nim |
07:31:13 | * | absolutejam1 joined #nim |
07:44:47 | * | chun joined #nim |
07:51:22 | * | absolutejam1 quit (Ping timeout: 246 seconds) |
07:53:53 | * | ibutra joined #nim |
07:54:40 | * | brakmic quit (Ping timeout: 272 seconds) |
07:55:45 | * | fjellfras quit (Ping timeout: 248 seconds) |
08:00:20 | * | brakmic joined #nim |
08:01:48 | * | couven92 joined #nim |
08:04:07 | * | brakmic quit (Read error: Connection reset by peer) |
08:04:35 | * | brakmic joined #nim |
08:04:39 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
08:07:05 | * | laaron joined #nim |
08:18:58 | * | dwdv joined #nim |
08:30:38 | * | chun quit (Remote host closed the connection) |
08:33:13 | * | floppydh joined #nim |
08:42:36 | * | Vladar quit (Remote host closed the connection) |
08:44:45 | * | tjmac joined #nim |
09:13:48 | * | solitudesf quit (Ping timeout: 245 seconds) |
09:17:43 | * | solitudesf joined #nim |
09:26:23 | * | brakmic quit () |
09:26:30 | * | solitudesf quit (Ping timeout: 272 seconds) |
09:26:43 | * | brakmic joined #nim |
09:33:51 | * | Vladar joined #nim |
09:38:26 | * | absolutejam1 joined #nim |
09:42:17 | * | fjellfras joined #nim |
09:42:50 | * | fjellfras quit (Max SendQ exceeded) |
09:44:26 | * | fjellfras joined #nim |
09:49:04 | * | fjellfras_ joined #nim |
09:49:25 | * | fjellfras quit (Ping timeout: 276 seconds) |
09:49:47 | * | fjellfras_ quit (Remote host closed the connection) |
09:50:20 | * | fjellfras_ joined #nim |
09:54:55 | * | fjellfras_ quit (Ping timeout: 246 seconds) |
09:55:08 | * | stefanos82 joined #nim |
10:07:11 | * | ibutra quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
10:09:52 | * | ibutra joined #nim |
10:13:53 | * | purebadger quit (Ping timeout: 248 seconds) |
10:17:55 | * | def- quit (Quit: -) |
10:21:42 | kuon | zacharycarter that's great, I'm going to give it a try later, thanks |
10:25:55 | * | clyybber joined #nim |
10:27:50 | * | dddddd joined #nim |
10:28:09 | * | fjellfras joined #nim |
10:29:32 | * | rokups joined #nim |
10:39:04 | * | purebadger joined #nim |
10:41:48 | * | fjellfras quit (Ping timeout: 252 seconds) |
10:43:45 | * | purebadger quit (Ping timeout: 248 seconds) |
10:44:10 | alexander92 | btw is nimble downloading only binaries for bin packages |
10:45:32 | alexander92 | i have a srcDir = "src" |
10:46:18 | alexander92 | and a bin = @["http"] |
10:48:15 | alexander92 | but i get only the http binary |
10:49:20 | * | purebadger joined #nim |
10:52:49 | * | ibutra quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
10:55:42 | * | solitudesf joined #nim |
11:00:06 | * | abm quit (Quit: Leaving) |
11:11:05 | FromGitter | <alehander42> yes it seems it needs to be a hybrid like nimble |
11:12:39 | * | absolutejam quit (Quit: WeeChat 2.5) |
11:12:49 | * | absolutejam1 quit (Quit: WeeChat 2.4) |
11:17:55 | FromGitter | <mratsim> @kaushalmodi here you go: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d2326630dfa502d15fb3a2d] |
11:19:30 | * | rodoa96 joined #nim |
11:20:20 | * | ibutra joined #nim |
11:34:22 | * | rodoa96 quit (Remote host closed the connection) |
11:36:26 | FromGitter | <kaushalmodi> @mratsim thanks! |
11:37:07 | FromGitter | <kaushalmodi> I get confused that sometimes I see the use of backquotes in templates to expand the args |
11:37:35 | FromGitter | <kaushalmodi> I.e. use ``template `name`(): .. `` instead of what you did |
11:37:42 | FromGitter | <kaushalmodi> What's the canonical way? |
11:43:20 | FromGitter | <mratsim> https://github.com/nim-lang/Nim/pull/11686 |
11:43:49 | FromGitter | <mratsim> that's called identifier injection, it's done implicitly for proc names |
11:44:11 | * | eterps joined #nim |
11:44:27 | FromGitter | <mratsim> proc name declaration* |
11:44:39 | FromGitter | <mratsim> it requires backticks for assignments and general usage |
11:45:21 | * | sealmove joined #nim |
11:45:49 | FromGitter | <mratsim> https://nim-lang.org/docs/manual.html#templates-hygiene-in-templates |
11:46:10 | FromGitter | <mratsim> > The default for symbols of entity type, var, let and const is gensym and for proc, iterator, converter, template, macro is inject. However, if the name of the entity is passed as a template parameter, it is an inject'ed symbol: |
11:49:39 | FromGitter | <kaushalmodi> Thanks. So it shouldn't hurt to use the backquotes in proc name declarations too (will add that to my notes) |
11:49:48 | FromGitter | <kaushalmodi> I like the backquotes for clarity |
11:50:15 | FromGitter | <kaushalmodi> It took me a second to understand why the `name` template wasn't being used anywhere |
11:50:46 | FromGitter | <kaushalmodi> With backquotes it's very clear that the template will not be named `name` literally |
11:51:41 | * | eterps quit (Ping timeout: 250 seconds) |
11:54:21 | * | lf-araujo joined #nim |
12:01:30 | FromGitter | <mratsim> add it in the review, we'll let Araq decide |
12:02:14 | Araq | backticks suck |
12:02:33 | * | Snircle joined #nim |
12:03:36 | FromGitter | <mratsim> if only we could change to something else in quote do macro ;) |
12:04:09 | Araq | I use template + getAst |
12:06:17 | FromGitter | <mratsim> Ah interesting, I might try that. There are many cases where quote do errors for no reason while manually constructing the AST works but is super verbose. |
12:06:41 | FromGitter | <bobeff> Hi. I want to ask about this comment by Zah: https://github.com/nim-lang/Nim/pull/11665#issuecomment-508979480 |
12:07:08 | Araq | what about it? |
12:07:16 | FromGitter | <arnetheduck> backticks suck on ansi keyboards with dead keys |
12:07:16 | FromGitter | <bobeff> I implemented his idea: https://gist.github.com/bobeff/68dd15147813e163135b5c275163bd35 |
12:07:55 | FromGitter | <bobeff> Is there any chance this to be merged, if I open a new pull request? |
12:08:37 | FromGitter | <mratsim> oh yeah, I deactivated the dead keys on my keyboard due to backticks |
12:08:43 | Araq | unlikely, sorry. For plenty of reasons |
12:09:13 | FromGitter | <mratsim> @bobeff, it should be named "catamorphism" :D |
12:09:50 | narimiran | ...and `[`, `{`, `}`, `]` suck on (some) non-english keyboards. should we get rid of those too? :P |
12:10:10 | Araq | narimiran, Ada did |
12:10:19 | Araq | for this reason. ;-) |
12:10:23 | narimiran | haha |
12:11:43 | FromGitter | <mratsim> And here we have Angular injection with <img class={{myGreatAngularInterpolation()}}> |
12:11:56 | FromGitter | <mratsim> and I think Vue.js is the same |
12:12:11 | FromGitter | <alehander42> crystal uses that for their macros |
12:14:52 | FromGitter | <alehander42> but i like ` |
12:15:07 | FromGitter | <alehander42> @bobeff solution does seem more general, so i like that |
12:16:16 | Araq | proc matchFollowFilter(...): bool = |
12:16:16 | Araq | ... |
12:16:16 | Araq | for file in walkDirRec(".", followFilter = toHashSet([".git", ".hg"])): |
12:16:31 | Araq | ^ let's see who can spot the problem... |
12:20:37 | FromGitter | <bobeff> You mean that it will follow also `linkToDir`? |
12:22:27 | Araq | no. |
12:22:48 | Araq | there is no visible connection between 'matchFollowFilter' and 'walkDirRec' |
12:22:51 | FromGitter | <alehander42> well this is not a big deal |
12:22:55 | FromGitter | <alehander42> ah |
12:22:59 | FromGitter | <mratsim> Wow, the need for `nimsuggestResetTimeout`really baffles me: https://github.com/nim-lang/Nim/issues/11679#issuecomment-509022207 |
12:23:00 | FromGitter | <alehander42> i thought about somethign else |
12:24:42 | Araq | mratsim: we tried to understand nimsuggest's memory leaks but so far, no luck |
12:34:14 | FromGitter | <arnetheduck> it's not a bad strategy for caches.. just launch a few, then when one starts taking up too much, restart it.. might as well disable the in-nim gc then :) |
12:39:01 | Araq | I'm thinking about a new nimsuggest that would use the different IR I've been thinking about for months now |
12:39:44 | Araq | it could re-implement the parts of the frontend that Nimsuggest *actually* needs |
12:39:50 | FromGitter | <mratsim> I'm interested in your IR idea. |
12:41:30 | FromGitter | <mratsim> I'm currently revamping my AST/IR for my deep learning compiler so that it could be re-used in compile-time macros, with runtime LLVM JIT and hopefully as a DLL compiler plugin. |
12:51:08 | FromGitter | <arnetheduck> well, eventually if you use the same on for everything, it becomes.. average at each task. |
12:54:19 | * | lf-araujo_ joined #nim |
12:55:30 | * | def- joined #nim |
12:56:01 | FromGitter | <bobeff> @Araq I found that what should be passed to the filters in `rel` instead of `p`, but maybe you mean that it is not clear what the user of the API have to overload to match the filter if he looks only in the iterator's signature? |
12:56:21 | Araq | yes |
12:57:57 | * | lf-araujo quit (Ping timeout: 245 seconds) |
12:57:57 | * | lf-araujo_ is now known as lf-araujo |
13:05:17 | * | shadowbane joined #nim |
13:07:05 | FromGitter | <zah> The FollowFilter can be defined as a concept. This could serve as a documentation for what you are supposed to do (until then, normal documentation could do the job) |
13:17:27 | * | lf-araujo quit (Ping timeout: 264 seconds) |
13:26:57 | * | admiralface joined #nim |
13:38:35 | * | absolutejam joined #nim |
13:56:36 | * | solitudesf quit (Remote host closed the connection) |
13:59:26 | * | lf-araujo joined #nim |
14:08:25 | * | floppydh quit (Quit: WeeChat 2.5) |
14:08:33 | * | purebadger quit (Ping timeout: 248 seconds) |
14:10:58 | disruptek | late to the party, but why would this be added to std? |
14:11:29 | * | clyybber quit (Quit: WeeChat 2.5) |
14:15:16 | * | ibutra quit (Ping timeout: 276 seconds) |
14:21:13 | * | purebadger joined #nim |
14:25:38 | * | purebadger quit (Ping timeout: 258 seconds) |
14:26:56 | * | solitudesf joined #nim |
14:28:09 | FromGitter | <bobeff> It will not be added according to the talk so far. :) |
14:30:12 | FromGitter | <alehander42> is process.inputStream.write(line & "\n") *the way* to write a line to another process stdin? |
14:34:52 | FromGitter | <arnetheduck> Araq, in the manual, under generics/type classes, we have `type RecordType = tuple or object` vs `proc onlyIntOrString[T: int|string]`... any reason to keep both `|` and `or`? |
14:40:02 | * | solitudesf quit (Ping timeout: 245 seconds) |
14:40:53 | * | abm joined #nim |
14:41:18 | disruptek | i guess it tells you something about my age that i find it hard to believe C is only 47 years old. |
14:49:04 | Zevv | you're 47, right? |
14:49:09 | Zevv | only 47 :) |
14:55:52 | FromGitter | <alehander42> btw can we have like |
14:56:05 | FromGitter | <alehander42> poParentInputStream and poParentOutputStream |
14:56:33 | FromGitter | <alehander42> not sure why are they combined right now, but i have a usecase where i reuse only of those and it seems fine (with a manual patch) |
14:56:55 | FromGitter | <alehander42> but maybe i dont know something about processes/streams |
14:57:01 | FromGitter | <alehander42> which makes this a bad practice |
14:59:45 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
15:03:42 | disruptek | lol that's a good guess. i realized after i said it that maybe it tells you nothing. :-P i'm 43. |
15:05:52 | disruptek | alehander42: they probably shouldn't be combined. |
15:06:21 | FromGitter | <mratsim> @araq @krux02: thoughts on reopening this? https://github.com/nim-lang/Nim/issues/6785 Even though it may not be possible today due to typedesc implementation, I think that it still should be opened even if with a tag "postponed". |
15:07:36 | krux02 | mratsim: I am sorry, but the issue is unsound. |
15:08:18 | * | lf-araujo quit (Remote host closed the connection) |
15:08:35 | FromGitter | <alehander42> disruptec: yeah, what i mean is the flags are combined into a poParentStreams |
15:09:07 | FromGitter | <alehander42> which probably makes sense, but its still useful to have the ability to redirect only one of stdin/stderr/stdout streams |
15:09:21 | FromGitter | <alehander42> disruptek* |
15:10:01 | krux02 | @mratsim: I understand the problem, but just because somebody wants something, it doesn't mean that it is just an implementation detail to implement it. When something doesn't work, it has to be rejected and we move on with proposals that actually can be implemented. |
15:10:06 | disruptek | as you can in every other process-handling api i can think of outside the cloud. |
15:10:16 | FromGitter | <mratsim> For example, if I parse a type from a proc signature `proc sumT (x: seq[T]): T =`and I want to use the `sameType` macro on it to check that the parsed type is seq or an alias to seq I need to convert the untyped NimNode `seq[T]` to a typed NimNode or a typedesc. |
15:11:27 | FromGitter | <mratsim> I understand that it is not trivial, but in that case I think we should use the postponed tag or something similar |
15:11:38 | FromGitter | <mratsim> There is a need for typedesc/generic/static revamp anyway |
15:11:41 | krux02 | @mratsim: Please don't talk about "usefullness". Yes it is useful. But a perpetuum mobile would be very useful as well. |
15:12:01 | FromGitter | <mratsim> That's not an argument |
15:12:40 | krux02 | But "usefulness" is also not an argument when something is structurally unsound. |
15:13:03 | FromGitter | <mratsim> the feature is not unsound |
15:13:30 | krux02 | you should talk about how it could be implemented in the compiler, integrated in the Nim compilation process. |
15:13:39 | FromGitter | <mratsim> assuming the underlying implementation was sound, the feature would still be relevant |
15:13:39 | krux02 | When you have thoughs on that, I am listening |
15:15:35 | FromGitter | <zah> @mratsim, how is your `sameType` problem related to this particular issue. The connection is not clear to me |
15:16:17 | FromGitter | <mratsim> I need a way to convert a untyped NimNode that holds a type to a typed NimNode/NimSym or a typedesc (since I can convert typedesc to typed NimNode) |
15:16:47 | krux02 | an untyped nimnode doesn't contain symbols |
15:17:42 | FromGitter | <mratsim> I never said it does, but the idents contained would create a type after type resolution |
15:17:52 | FromGitter | <mratsim> my workaround right now is this: https://github.com/numforge/laser/blob/master/laser/lux/ast/macro_utils.nim#L12-L22 |
15:18:14 | FromGitter | <zah> But that would be a different issue. Araq’s problem with it is that he doesn’t want the VM to access the compilation contex where a macro is being invoked (You need such a compilation context, otherwise it won’t be clear in which scope you are turning the untyped nodes to typed ones (aka semantically checked ones)) |
15:18:35 | * | tjmac left #nim ("-bye") |
15:19:12 | FromGitter | <zah> The issue above is about typedesc overload picking with non-concrete (aka late bound) typedesc values |
15:20:45 | FromGitter | <mratsim> Also @krux02, I don't agree that we should dismiss all feature request is there is no implementation plan, otherwise we would dismiss this issue for example: https://github.com/nim-lang/Nim/issues/7862 ⏎ ⏎ I prefer to dismiss features if there is no benefit, or if a new plan will invalidate it (say newruntime can potentially invalidate a lot of feature requests related to GC). ⏎ ⏎ If something is hard to |
15:20:45 | FromGitter | ... implement (for example VTable or incremental compilation) I see that as an opportunity/goal to refactor Nim to make it easier. [https://gitter.im/nim-lang/Nim?at=5d235f4d0b07314d5025aa43] |
15:22:13 | krux02 | @mratsim: I don't dismill all feature requests that don't have an implementation plan. I just dismiss feature requests that I don't think are possible withought structurally changing how compilation works in general. |
15:25:25 | krux02 | I explained when I closed the issue, why I closed it. Sorry if that upsets anybody, but I prefer to not take personal feelings and opinions into account when it is about the technical feasibility of features. |
15:26:19 | krux02 | If you disagree, and you think the feature is easy to implement. Make a proposal. Implement it. Make a PR. But nagging around doesn't convince me that it is possible. |
15:29:20 | * | admiralface left #nim (#nim) |
15:31:16 | FromGitter | <mratsim> I'm not saying it's easy and I don't see how I'm nagging around. I'm saying that it's useful (not far-fetched kitchen sink useful) and would be implemented if it was easy. I.e. that's the kind of features that show the limitations of the current Nim and should a rework occur, the use case that I would like taken into account. ⏎ ⏎ This is exactly why I'm maintaining a list of difficult use cases of macros in Nim and |
15:31:16 | FromGitter | ... many of them are related to types: https://github.com/nim-lang/RFCs/issues/44 |
15:32:23 | * | couven92 quit (Quit: Client disconnecting) |
15:38:13 | FromGitter | <mratsim> Another example issue which seems to be closely related is https://github.com/nim-lang/Nim/issues/6243. ⏎ AFAIK typechecking untyped expression from a macro would require similar machinery to the closed issue. |
15:40:12 | FromGitter | <zah> yes, that’s the feature you need |
15:41:34 | FromGitter | <zah> But the closed issue is a different one, that’s why you got into an accidental fight with Krux :) |
15:43:52 | FromGitter | <mratsim> I'm not fighting about the issue but more about when to close geature requests. |
16:03:20 | * | lf-araujo joined #nim |
16:08:30 | * | lf-araujo quit (Ping timeout: 252 seconds) |
16:14:12 | * | Trustable joined #nim |
16:14:23 | * | synshroud quit (Quit: ZNC 1.7.4 - https://znc.in) |
16:27:48 | * | lf-araujo joined #nim |
16:35:04 | FromDiscord_ | <Skaruts> I have a `DungeonGenerator = ref object of Generator` object stored in a `seq[Generator]` that's giving me a type mismatch when passing it to a proc that takes a DungeonGenerator |
16:37:24 | * | couven92 joined #nim |
16:38:16 | * | lf-araujo quit (Read error: Connection reset by peer) |
16:39:54 | FromGitter | <matrixbot> `zetashift` What's the error? |
16:42:17 | FromDiscord_ | <Skaruts> actually it's the CaveGenerator, but I only confused it here, not in my code |
16:42:32 | FromDiscord_ | <Skaruts> sandbox.nim(106, 52) Error: type mismatch: got <Generator, int literal(0), int literal(18), int literal(24), int literal(22), BFont> |
16:42:37 | FromDiscord_ | <Skaruts> but expected one of: |
16:42:42 | FromDiscord_ | <Skaruts> proc new_caves_panel(cave: CaveGenerator; x, y, w, h: int; font: BFont): CavesPanel |
16:42:47 | FromDiscord_ | <Skaruts> first type mismatch at position: 1 |
16:42:53 | FromDiscord_ | <Skaruts> required type: CaveGenerator |
16:42:56 | FromDiscord_ | <Skaruts> but expression 'generators[layer]' is of type: Generator |
16:42:59 | FromDiscord_ | <Skaruts> expression: new_caves_panel(generators[layer], 0, 18, 24, 22, ui_font) |
16:47:51 | FromGitter | <mratsim> you need a method for dynamic dispatch |
16:48:35 | * | rokups quit (Quit: Connection closed for inactivity) |
16:48:39 | FromGitter | <mratsim> ah maybe not, but your type section with CaveGenerator, Generator and DungeonGenerator would help |
16:58:24 | FromDiscord_ | <Skaruts> not sure I'm following |
16:58:36 | FromDiscord_ | <Skaruts> they're all in separate files |
17:00:42 | * | xace quit (Remote host closed the connection) |
17:02:54 | FromDiscord_ | <Skaruts> I'm feeling like it should work but something is preventing it... |
17:04:13 | * | vlad1777d__ joined #nim |
17:05:12 | * | lritter joined #nim |
17:05:42 | FromGitter | <mratsim> is CaveGenerator inherited from Generator? |
17:05:56 | FromGitter | <mratsim> and is Generator a ref type? |
17:07:21 | FromGitter | <matrixbot> `zetashift` CaveGenerator is inherited from Generator according to the `DungeonGenerator = ref object of Generator` which should be CaveGenerator |
17:08:30 | FromGitter | <mratsim> but is CaveGenerator inherited from DungeonGenerator? |
17:14:00 | FromGitter | <matrixbot> `zetashift` @Skaruts you could also coerce it into a CaveGenerator using `CaveGenerator(foo)` |
17:14:15 | FromGitter | <matrixbot> `zetashift` @mratsim not sure but his error doesn't show anything about DungeonGenerator |
17:15:26 | FromGitter | <mratsim> Yes we only know that the proc accepts CaveGenerator, but we get a Generator from the seq, and also that DungeonGenerator inherits from Generator. |
17:15:54 | FromGitter | <mratsim> we're missing some relationships like why is DungeonGenerator actually relevant? |
17:23:50 | FromDiscord_ | <Skaruts> Generator is ref object of RootObj |
17:24:18 | FromDiscord_ | <Skaruts> all others are ref objets of Generator |
17:25:36 | * | purebadger joined #nim |
17:25:37 | FromDiscord_ | <Skaruts> Generator only exists so I can have sequence with different generators in it (cave, dungeons, and others) |
17:27:24 | * | sealmove quit (Quit: WeeChat 2.5) |
17:29:21 | FromDiscord_ | <Skaruts> @zetashift I tried casting it, and the error goes away, but the app doesn't working as intended: I'm feeding the CaveGenerator to a ui panel made specifically to show the settings of the cave generation algorithm and to let you change them in real time, but the buttons aren't changing anything when I cast it like you mentioned: `CaveGenerator(foo)` |
17:29:38 | * | rockcavera quit (Remote host closed the connection) |
17:31:12 | FromDiscord_ | <Skaruts> @zetashift also I initially mentioned the DungeonGenerator only because I was many hours away from the project and forgot which one I was dealing with, sorry for the confusion |
17:32:26 | FromDiscord_ | <Skaruts> also to clarify, the sequence is of Generator, but I'm storing CaveGenerators, DungeonGenerators, etc in it |
17:33:42 | FromDiscord_ | <Skaruts> generators[layer] = new_caves( layer, CG_BIRTH_RULE, CG_DEATH_RULE, CG_DENSITY, CG_SMOOTHING ) # returns CaveGenerator |
17:34:06 | FromDiscord_ | <Skaruts> gen_panels[layer] = new_caves_panel( generators[layer], 0, 18, 24, 22, ui_font ) |
17:38:09 | FromDiscord_ | <Skaruts> hmm, another weird thing though, I tried to cast it, and then did `assert(generators[layer] == gen_panels[layer].cave)` and it gives me `sandbox.nim(108, 62) Error: undeclared field: 'cave'`, which is weird because `cave` is not missing the export operator * and I'm importing the relevant file... |
17:38:48 | FromDiscord_ | <Skaruts> is it possible that there's a circular dependency that the compiler isn't telling me about? |
17:40:28 | FromGitter | <mratsim> everything is exported? |
17:41:24 | * | lf-araujo joined #nim |
17:41:30 | FromGitter | <mratsim> do all generator have a cave field? |
17:41:50 | FromGitter | <mratsim> because if not and your assert is in a proc, it will check the field at the generator level |
17:43:48 | FromDiscord_ | <Skaruts> the cave field is in the ui panel, it stores the CaveGenerator that's associated with it |
17:50:03 | * | lf-araujo quit (Ping timeout: 250 seconds) |
17:52:08 | FromGitter | <ratiotile> my assert doesn't produce a message. It just shows failedAssertImpl, raisedAssert: `assert(not this.isFull(), "queue is full") |
17:52:53 | * | lf-araujo joined #nim |
17:54:37 | * | eterps joined #nim |
17:58:14 | FromDiscord_ | <Skaruts> when I do the casting @zetashift mentioned it almost works: https://i.imgur.com/X6XRXlD.gif |
17:58:16 | * | lf-araujo quit (Read error: Connection reset by peer) |
17:58:48 | * | lf-araujo joined #nim |
18:00:16 | FromDiscord_ | <Skaruts> can't change the values for some reason though... (this panel was working fine before I started attempting this sort of polymorphism) |
18:01:10 | FromGitter | <zetashift> Any chance you can upload the code, the problem might be in how the panel gets/changes its values |
18:01:49 | FromDiscord_ | <Skaruts> yea I'm double checking the panel... |
18:01:58 | FromDiscord_ | <Skaruts> I don't have a repo yet |
18:02:05 | FromDiscord_ | <Skaruts> was gonna make one |
18:04:12 | * | vlad1777d__ quit (Ping timeout: 245 seconds) |
18:06:56 | * | lf-araujo quit (Ping timeout: 252 seconds) |
18:06:59 | FromDiscord_ | <Skaruts> ok the values no changing I know what it is, I forgot to update the panel |
18:07:25 | FromDiscord_ | <Skaruts> so I suppose it works when I fix that |
18:08:03 | FromDiscord_ | <Skaruts> I guess I can live with having to cast it |
18:08:14 | FromDiscord_ | <Skaruts> thanks everyone for the help |
18:10:41 | * | solitudesf joined #nim |
18:16:13 | FromGitter | <zetashift> fwiw when I was doing a libtcod tutorial I eventually also settled on casting and inheritance |
18:20:27 | * | lf-araujo joined #nim |
18:25:19 | * | stefanos82 quit (Quit: Quitting for now...) |
18:27:15 | FromDiscord_ | <Skaruts> well it works 😃 |
18:27:17 | FromDiscord_ | <Skaruts> https://i.imgur.com/L1Rlw8b.gif |
18:27:19 | * | lf-araujo quit (Ping timeout: 250 seconds) |
18:30:32 | * | purebadger quit (Ping timeout: 272 seconds) |
18:33:32 | FromGitter | <zetashift> nice! |
18:39:21 | * | lf-araujo joined #nim |
18:42:58 | * | ofelas quit (Quit: shutdown -h now) |
18:45:48 | * | lf-araujo quit (Ping timeout: 252 seconds) |
18:47:33 | * | purebadger joined #nim |
18:54:06 | * | laaron joined #nim |
18:55:14 | * | dddddd quit (Ping timeout: 272 seconds) |
18:55:46 | * | dddddd joined #nim |
19:05:43 | FromDiscord_ | <j$> hey guys can I get some assistance with nim installs |
19:05:50 | shashlick | what's up |
19:06:48 | FromDiscord_ | <j$> so two of my friends after downloading the 0.20 zip from the site and running finish.exe, it doesn't prompt them to add to path |
19:06:56 | FromDiscord_ | <j$> it just closes immediately |
19:08:16 | shashlick | i've seen cmd exit randomly as well, not just finish but other stuff too |
19:09:15 | shashlick | unfortunately, no idea why |
19:10:41 | narimiran | @j$ i think Araq confirmed that regression and solved it in https://github.com/nim-lang/Nim/commit/6ce6bce12ecef07595f04f76ab5c33e393535d8b |
19:10:56 | * | purebadger quit (Ping timeout: 244 seconds) |
19:11:34 | Araq | please use some nightly build |
19:11:43 | FromDiscord_ | <j$> oh okay |
19:11:45 | FromDiscord_ | <j$> lemme try this |
19:12:04 | shashlick | but why does cmd window close for that |
19:12:32 | Araq | shashlick: you broke finish.nim :P |
19:14:46 | shashlick | ugh - expandFilename |
19:16:39 | * | rockcavera joined #nim |
19:24:15 | * | nsf quit (Quit: WeeChat 2.4) |
19:24:32 | * | lf-araujo joined #nim |
19:26:55 | * | lf-araujo quit (Remote host closed the connection) |
19:30:14 | FromGitter | <ratiotile> try launching cmd.exe then typing finisih.exe from the prompt |
19:40:54 | * | dddddd quit (Ping timeout: 244 seconds) |
19:44:15 | * | dddddd joined #nim |
20:06:57 | * | PrimHelios quit (Ping timeout: 248 seconds) |
20:07:29 | * | PrimHelios joined #nim |
20:19:58 | * | Jesin joined #nim |
20:25:20 | * | brakmic quit (Read error: Connection reset by peer) |
20:26:54 | * | brakmic joined #nim |
20:32:34 | * | vlad1777d__ joined #nim |
20:39:13 | * | narimiran quit (Ping timeout: 245 seconds) |
20:39:26 | * | brakmic quit (Read error: Connection reset by peer) |
20:39:44 | * | brakmic joined #nim |
20:41:24 | * | eterps quit (Quit: WeeChat 2.5) |
20:43:27 | * | Vladar quit (Remote host closed the connection) |
20:44:58 | * | Jesin quit (Quit: Leaving) |
20:51:54 | * | brakmic quit () |
20:52:38 | * | lf-araujo joined #nim |
20:54:57 | * | Trustable quit (Remote host closed the connection) |
20:57:15 | * | PrimHelios_ joined #nim |
20:57:26 | * | lf-araujo quit (Client Quit) |
20:58:11 | * | PrimHelios quit (Ping timeout: 252 seconds) |
21:04:30 | * | Jesin joined #nim |
21:06:40 | * | ikan-keli_2 quit (Ping timeout: 244 seconds) |
21:06:57 | * | ikan-keli_ joined #nim |
21:11:12 | * | lf-araujo joined #nim |
21:20:10 | * | lf-araujo quit (Ping timeout: 252 seconds) |
21:32:58 | FromGitter | <kaushalmodi> @PMunch Nim playground is giving 502. Can you please look into it? |
21:37:34 | Zevv | PMunch hasn't been around for a few days, holidays maybe? |
21:46:42 | * | uptime is now known as KindOne |
22:01:41 | FromGitter | <zetashift> So I have a `seq[Mobs]` which I have to populate but only if each individual mob's x and y don't clash with other mobs in the sequence. I used to do this with a for loop and then adding the monster after a check. But now I can't because one can't change the length of a table/sequence in 0.20.0. How would I refactor this as I have given it some thought but I didn't find an easier way: https://pastebin.com/60hbuGhT |
22:08:14 | * | krux02 quit (Remote host closed the connection) |
22:09:03 | solitudesf | iterate by index and add normally? |
22:11:13 | FromGitter | <kayabaNerve> Quick question. Why does ProveInit exist and will there be a way to disable it by the time it turns into an error? |
22:11:43 | FromGitter | <kayabaNerve> Because my function either inits the variable or commits suicide and I don't want to add an GC alloc that's immediately disregarded. |
22:16:42 | * | lf-araujo joined #nim |
22:19:08 | * | lf-araujo quit (Remote host closed the connection) |
22:23:05 | FromGitter | <zetashift> mhmh weird if I iterate by index I get an attempt to read from nil error |
22:27:41 | FromGitter | <zetashift> fixed it, not sure why |
22:27:47 | * | lf-araujo joined #nim |
22:34:44 | * | xace joined #nim |
22:36:04 | * | lf-araujo quit (Ping timeout: 252 seconds) |
22:43:05 | * | KindOne is now known as uplime |
22:46:57 | * | solitudesf quit (Ping timeout: 248 seconds) |
22:49:45 | FromGitter | <Varriount> Araq: What's your opinion on `defer`? |
22:49:57 | * | lf-araujo joined #nim |
23:09:14 | FromGitter | <mratsim> @Skaruts, my comment on the Nim vs V discussion wasn't addressed to you specifically. It's just that Reddit, HN and now the Nim forum are always about the same topics in language comparison. |
23:15:11 | * | abm quit (Ping timeout: 268 seconds) |
23:20:50 | FromGitter | <zetashift> that whole thread isn't very helpful... |
23:25:23 | * | lf-araujo quit (Remote host closed the connection) |
23:33:39 | * | couven92 quit (Quit: Client Disconnecting) |
23:45:58 | FromGitter | <mratsim> This SSA book looks interesting: http://ssabook.gforge.inria.fr/latest/book.pdf |
23:48:50 | * | lf-araujo joined #nim |
23:51:38 | * | Jesin quit (Quit: Leaving) |
23:52:30 | FromGitter | <zetashift> "lots of authors" lol |
23:53:49 | * | Jesin joined #nim |
23:57:21 | * | Jesin quit (Excess Flood) |
23:57:41 | * | lf-araujo quit (Remote host closed the connection) |
23:57:44 | * | Jesin joined #nim |