<< 18-09-2024 >>

00:15:40*rstrz quit (Ping timeout: 260 seconds)
00:43:27*xutaxkamay quit (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
00:44:19*xutaxkamay joined #nim
00:45:57*rstrz joined #nim
00:51:04*rstrz quit (Ping timeout: 260 seconds)
01:09:03*rstrz joined #nim
01:23:03*rstrz quit (Ping timeout: 246 seconds)
01:54:52*rstrz joined #nim
02:22:54*rstrz quit (Ping timeout: 245 seconds)
02:36:36*rstrz joined #nim
02:49:30*rstrz quit (Ping timeout: 246 seconds)
02:49:43*rstrz joined #nim
03:12:34*rockcavera quit (Remote host closed the connection)
03:26:10*rstrz quit (Ping timeout: 252 seconds)
03:33:19*rstrz joined #nim
03:40:57*rstrz quit (Ping timeout: 246 seconds)
03:43:32*rstrz joined #nim
03:46:27*SchweinDeBurg joined #nim
03:52:37*rstrz quit (Read error: Connection reset by peer)
03:57:27*rstrz joined #nim
04:05:54*SchweinDeBurg quit (Ping timeout: 260 seconds)
04:07:39*SchweinDeBurg joined #nim
04:53:35*ntat joined #nim
05:05:53FromDiscord<goerge_lsd> trying to use allographer after a long time, I can't get the basic examples to compile, like nothing gets imported. `Error: undeclared identifier: 'dbOpen'`
05:06:16FromDiscord<goerge_lsd> how do I begin to debug this ? I have `import allographer/[connection, schema_builder, query_builder]`
05:06:34*rstrz quit (Ping timeout: 260 seconds)
05:27:25*rstrz joined #nim
06:32:30*rstrz quit (Ping timeout: 260 seconds)
06:49:34*ntat quit (Quit: Leaving)
06:55:32*mfg joined #nim
06:58:08*PMunch_ joined #nim
07:00:40*PMunch quit (Ping timeout: 252 seconds)
07:16:06*rstrz joined #nim
07:45:14FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=ZJpmdnxv
07:50:10FromDiscord<Phil> Actually I guess it might make more sense to allow the user to define a `module.mocksettings.nim` where all the `mock('./someOtherModule')` statements could be written in.↵Running the test-suite then would first, look at the `mockSettings.nim`, create "fake"-modules in a ` ./mocks/` dir accordingly and a nimble.paths file or sth
08:25:03*redj quit (Remote host closed the connection)
08:26:25*redj joined #nim
08:32:46FromDiscord<Elegantbeef> @Phil generics have entered the chat
08:33:20FromDiscord<Phil> In reply to @Elegantbeef "<@180601887916163073> generics have entered": ... replace the generic definition with a generic mock proc
08:33:42FromDiscord<Phil> The idea is at compile-time generating a mock module just before you run the test
08:34:00FromDiscord<Phil> Which means parse the module, figure out available symbols, generate mock versions of those symbols
08:39:17*rstrz quit (Ping timeout: 252 seconds)
08:46:42FromDiscord<Elegantbeef> Well have fun with that
08:47:25FromDiscord<Phil> Ah, fuckdamn, yeah you can't mock generics fundamentally because you can't do `var x = proc[T](x: T) = echo "Potato"`
08:47:34FromDiscord<Elegantbeef> Though generics do throw a wrench into `theirProc = ...`
08:48:44FromDiscord<Phil> I swear, no propper unit testing in nim is annoying to shit
08:48:49FromDiscord<Elegantbeef> Probably easier to just use runtime procedure replacements
08:49:06FromDiscord<Phil> (edit) "to" => "as"
08:49:54FromDiscord<Phil> "Oh just do integration tests" isn't helpful when typically you use unit-tests as a way to catch regressions
08:49:59FromDiscord<Elegantbeef> That requires copying Nim's name mangling of course
08:50:24*rstrz joined #nim
08:50:31FromDiscord<Phil> Integration tests also just aren't fast enough to run periodically in any even remotely efficient manner
08:51:19FromDiscord<Elegantbeef> Excuse me whilst I put my nose up towards ex situ testing
08:51:45FromDiscord<Elegantbeef> If it's good enough for spaceflights it's good enough for me
08:54:54*rstrz quit (Ping timeout: 246 seconds)
08:56:31*PMunch_ is now known as PMunch
09:08:22*rstrz joined #nim
09:14:58*xet7 joined #nim
09:22:50*rstrz quit (Ping timeout: 260 seconds)
09:34:35*rstrz joined #nim
09:52:12*Guest82 joined #nim
09:52:59*rstrz quit (Ping timeout: 260 seconds)
10:06:48*rstrz joined #nim
10:22:57*beholders_eye joined #nim
10:30:26*rstrz quit (Ping timeout: 272 seconds)
10:44:32*rstrz joined #nim
10:57:51*rstrz quit (Ping timeout: 265 seconds)
11:09:14*rstrz joined #nim
11:09:24*beholders_eye quit (Ping timeout: 260 seconds)
11:25:27FromDiscord<nimaoth> sent a code paste, see https://play.nim-lang.org/#pasty=QZfDDURM
11:28:42*rstrz quit (Ping timeout: 272 seconds)
11:31:18*lucasta joined #nim
11:41:04*rstrz joined #nim
11:55:19*rstrz quit (Ping timeout: 264 seconds)
12:04:20*rstrz joined #nim
12:22:29*rstrz quit (Ping timeout: 245 seconds)
12:36:16*rstrz joined #nim
12:47:18*ryuukk quit (Remote host closed the connection)
12:49:03*rstrz quit (Ping timeout: 246 seconds)
12:49:44*ryuukk joined #nim
13:03:13*rstrz joined #nim
13:13:38*ntat joined #nim
13:13:56*attah quit (Ping timeout: 252 seconds)
13:14:45*attah joined #nim
13:25:53*rstrz quit (Ping timeout: 272 seconds)
13:30:09*rstrz joined #nim
13:44:17FromDiscord<requiresupport> possible to create a macro that executes something for every variable initialized with var? trying to do my own clean up
13:51:36*mfg quit (Ping timeout: 276 seconds)
14:54:17*ryuukk quit (Remote host closed the connection)
14:56:27*ryuukk joined #nim
15:20:07FromDiscord<thearthurm> coming back to nim after working on some other projects and oh my gosh
15:20:21FromDiscord<thearthurm> i forgot how gorgeous this language is
15:24:09FromDiscord<abraham> Function injection tends to be a great way to do mocks for unit testing. It's reminiscent of the strategy pattern.
15:24:50FromDiscord<abraham> You can inject a mock function or strategy and carbunkle.
15:25:04FromDiscord<fabric.input_output> that's dependency injection
15:26:17FromDiscord<abraham> Yep. No need for a whole DI framework, though. Just pass the function in as a argument to the function that uses it, or into the object's constructor proc.
15:26:45FromDiscord<abraham> And default to the real function that you want to use when nothing gets passed in.
15:27:53FromDiscord<fabric.input_output> never used a framework for that sort of thing
15:28:25FromDiscord<fabric.input_output> you could also pass a generic argument and have a function that works on that type
15:28:41FromDiscord<fabric.input_output> and when testing defining some type and function for that
15:29:49FromDiscord<abraham> Element needs a "lightbulb" emoji. \:)↵(@fabric.input_output)
15:30:49FromDiscord<fabric.input_output> concepts ftw
15:31:13FromDiscord<fabric.input_output> would be nice if nim had better type inference and named generic params
15:31:52FromDiscord<xkonti> sent a code paste, see https://play.nim-lang.org/#pasty=JfogkDRE
15:41:26*fallback quit (*.net *.split)
15:41:26*def- quit (*.net *.split)
15:41:27*nisstyre quit (*.net *.split)
15:41:54FromDiscord<vindaar> sent a code paste, see https://play.nim-lang.org/#pasty=KKnjQgaq
15:42:12FromDiscord<ovenpasta> In reply to @requiresupport "possible to create a": what about something like this?
15:42:52FromDiscord<ovenpasta> (edit) "In reply to @requiresupport "possible to create a": what about something like this?" => "sent a code paste, see https://play.nim-lang.org/#pasty=kwjumWAd"
15:43:11*fallback joined #nim
15:43:11*def- joined #nim
15:43:11*nisstyre joined #nim
15:47:42Guest82hey pasty not in the link above? "Unable to load pasty.ee paste, file too large, or download is too slow"
15:49:19*Guest82 is now known as ovenpasta
15:55:20strogon14ovenpasta: works here
15:56:26ovenpastastrogon14 oh now I see, the link in irc web client was picking an extra "
16:08:00*fallback quit (Read error: Connection reset by peer)
16:18:47*fallback joined #nim
16:25:00FromDiscord<requiresupport> In reply to @ovenpasta "what about something like": nice will test it out, thanks so much
16:39:43*lucasta quit (Remote host closed the connection)
17:03:56FromDiscord<xkonti> In reply to @vindaar "you can simply use": This looks great! Instead of having procs for creating null/none I can just have a `const` with preassigned value to not needing to put `()` at the end.↵↵Fun fact: lonely word `null` always evaluates to `void` rather than calling the proc / getting the const value. I would need to rename it to `nullValue` or something 😮
17:07:05*coldfeet joined #nim
17:35:54*beholders_eye joined #nim
17:36:24*SchweinDeBurg quit (Quit: WeeChat 4.5.0-dev)
17:36:43*cnx quit (Remote host closed the connection)
17:37:32*cnx joined #nim
17:38:36*jjido joined #nim
17:39:01FromDiscord<Unisoft> I want to make an interactive command...↵`How can i read an input until input is empty?`
17:40:42FromDiscord<Unisoft> sent a code paste, see https://play.nim-lang.org/#pasty=noEeQfna
17:41:15FromDiscord<Unisoft> sent a code paste, see https://play.nim-lang.org/#pasty=VJgDQOuK
17:41:29FromDiscord<Unisoft> sent a code paste, see https://play.nim-lang.org/#pasty=noBwggHF
17:41:43FromDiscord<Unisoft> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1286018655305334797): I want to make an interactive command...↵`How can i read an input until input it's empty?`
17:42:00FromDiscord<Unisoft> sent a code paste, see https://play.nim-lang.org/#pasty=wekSdXPT
17:42:26FromDiscord<Unisoft> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1286018655305334797): I want to make an interactive command...↵`How can i read an input until input got empty?`
17:44:06FromDiscord<Unisoft> First example\: while doesn't allow to define a variable inside, just like python↵Second example\: Does stdin has such function??
17:44:19FromDiscord<Unisoft> sent a code paste, see https://play.nim-lang.org/#pasty=tCklxRTP
17:44:32FromDiscord<Unisoft> First example\: while doesn't allow to define a variable inside, just like python↵Second example\: Does stdin has such functions??
17:49:33FromDiscord<odexine> nim's `=` does not function like in C
17:51:12FromDiscord<odexine> `while not stdin.endOfFile`
17:51:13Amun-Rasomething like this: https://play.nim-lang.org/#pasty=oQaqOJzo
17:52:50FromDiscord<odexine> sent a code paste, see https://play.nim-lang.org/#pasty=IbZeVmsN
17:54:02Amun-Rathat's better
17:54:28FromDiscord<Unisoft> Thanks, it works↵(@odexine)
17:55:27FromDiscord<Unisoft> I will check this one as well, to learn more about nim on examples i need↵(<@709044657232936960_=41mun-=52a=5b=49=52=43=5d>)
18:23:18FromDiscord<Unisoft> sent a code paste, see https://play.nim-lang.org/#pasty=DGsKcUTA
18:28:47FromDiscord<Unisoft> Thanks, nim is awesome, it's like C but works like Python and can work with commands like bash it's just something 😍
18:42:16*major0 joined #nim
18:42:38FromDiscord<odexine> sent a code paste, see https://play.nim-lang.org/#pasty=KPBmdqfS
18:52:58*beholders_eye quit (Read error: Connection reset by peer)
18:53:29*beholders_eye joined #nim
19:04:33*oprypin quit (Quit: Bye)
19:04:54*oprypin joined #nim
19:05:54*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
19:24:12*ntat quit (Quit: Leaving)
19:46:33*beholders_eye quit (Read error: Connection reset by peer)
19:52:42*beholders_eye joined #nim
20:00:12*rstrz quit (Ping timeout: 252 seconds)
20:01:14*rstrz joined #nim
20:21:39FromDiscord<goerge_lsd> can someone install `allographer` with nimble and see if they can compile the first example here: https://github.com/itsumura-h/nim-allographer
20:21:54FromDiscord<goerge_lsd> can't figure out why i am getting undeclared identified for procs, types
20:25:01FromDiscord<user2m> sent a long message, see https://pasty.ee/xZPihxdM
20:26:23FromDiscord<goerge_lsd> for build issues with that library you should open an issue on their github, if you followed the instructions and they don't work
20:29:54FromDiscord<user2m> In reply to @goerge_lsd "for build issues with": fair enough just not comfortable enough with my c/c++ knowledge to know if the issue is me or the instructions
20:32:16FromDiscord<spotlightkid> Often the issue is just the combination of open source libraries and Windows.
20:32:39FromDiscord<spotlightkid> Windows out-of-the-box just lacks so many tools, that developers working mainly on Linux/macOS take for granted
20:33:01FromDiscord<user2m> In reply to @spotlightkid "Often the issue is": yeah that's what I'm reading now, but I'm using wsl / mingw to build these and still having issues
20:33:25FromDiscord<spotlightkid> And there is no package manager out-of-the-box, that allows you to install the build dependencies of the software you are trying to build with one command as their is on Linux distros.
20:33:47FromDiscord<spotlightkid> And there is no package manager out-of-the-box, that allows you to install the build dependencies of the software you are trying to build with one command as there is on Linux distros.
20:33:56FromDiscord<goerge_lsd> windows is for games with kernel level anti cheat, for anything else, use linux
20:34:37FromDiscord<user2m> In reply to @goerge_lsd "windows is for games": does wsl count?
20:34:39FromDiscord<spotlightkid> For completeness sake\: you can also interface with shared libraries by loading them dynamically at run-time. See the documentation here\: https://nim-lang.org/docs/manual.html#foreign-function-interface-dynlib-pragma-for-import
20:35:15FromDiscord<spotlightkid> Of course the user still needs to have a the library you are loading installed (or you need to ship it too).
20:35:22FromDiscord<goerge_lsd> I am going to try to build that thing here in linux see if it works
20:35:43FromDiscord<goerge_lsd> it's quite convoluted
20:36:46FromDiscord<goerge_lsd> you'd be done in 5 seconds using arch: https://aur.archlinux.org/packages/libsoundio
20:36:52FromDiscord<user2m> In reply to @goerge_lsd "it's quite convoluted": honestly glad I'm not the only one
20:36:59FromDiscord<spotlightkid> @goerge_lsd\: looks to me like a normal cmake-based build.
20:37:14FromDiscord<goerge_lsd> you have to install ruby lol, some python lib
20:37:56FromDiscord<user2m> ok so if I'm going to get a linux desktop I should use arch as the distro? is that the best for programming? or nix? sorry for the noob questions I only hear these terms in pssing
20:38:31*coldfeet quit (Remote host closed the connection)
20:38:40FromDiscord<goerge_lsd> if you are new to linux, i'd suggest an arch based distro with installer and tweaks etc, highly recommend this: https://cachyos.org/download/
20:40:06FromDiscord<spotlightkid> @goerge_lsd\: no python or ruby mentioned her in the build dependencies\: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=libsoundio
20:40:22FromDiscord<spotlightkid> @goerge_lsd\: no python or ruby mentioned here in the build dependencies\: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=libsoundio
20:40:42FromDiscord<goerge_lsd> installing that mxe thingie complained of a few missing things, including ruby and python-mako or something
20:40:54FromDiscord<spotlightkid> that's for windows
20:41:16FromDiscord<goerge_lsd> sent a code paste, see https://play.nim-lang.org/#pasty=fAFaNBps
20:41:34FromDiscord<goerge_lsd> well that was the requirement, to build for windows
20:41:58FromDiscord<goerge_lsd> although it's cross compile instructions apparently
20:43:32FromDiscord<spotlightkid> Honestly, if trying to compile on Windows, i would check if it works with MSYS first.
20:44:00FromDiscord<user2m> just to confirm I can compile libsoundio for linux, write my code then cross compile the app for windows / macos? I'm trying to build a desktop app that heavily utilizes sound with realtime constarints and libsoundio seemed to satisfy that. again apologies for the basic questions I build webapps 😂
20:45:21FromDiscord<spotlightkid> But audio I/O libraries are notriously difficult to get right in a cross-platform manner. The audio systems of Linux, Windows and macOS are all very different.
20:46:43FromDiscord<spotlightkid> And some abstraction layers, like e.g. RtAudio, go about it in a wrong way, imho, and hide the platform-details too much, so that they do not work as well as apps using the platform-specific APIs directly.
20:48:04FromDiscord<spotlightkid> @user2m\: if you want to write realtime-safe audio apps, I suggest using the platform APIs directly, i.e. JACK (not Pulse or Pipewire) on Linux, CoreAudio on macOS and godknowswhat on Windows.
20:49:12FromDiscord<spotlightkid> But tbh, I'm not very familiar with soundio. maybe it does things better than other similar libs.
20:49:22FromDiscord<spotlightkid> Apropos\: https://nimble.directory/pkg/jacket
20:51:31FromDiscord<spotlightkid> And depending on what you want to do, maybe you should rather write a DAW plugin instead? Then you won't have to worry about low-level audio I/O (but a lot of other things instead 🤪).
20:52:32*rockcavera joined #nim
20:52:51FromDiscord<spotlightkid> > just to confirm I can compile libsoundio for linux, write my code then cross compile the app for windows / macos?↵> You still would need to compile libsoundio for windows as well. You could try to cross-compile that too, but that seems even harder.
20:53:13FromDiscord<spotlightkid> > just to confirm I can compile libsoundio for linux, write my code then cross compile the app for windows / macos?↵You still would need to compile libsoundio for windows as well. You could try to cross-compile that too, but that seems even harder.
20:57:06FromDiscord<goerge_lsd> probably a lot less hard than actual writing an app using it
20:57:26*ovenpasta quit (Quit: Client closed)
20:57:26FromDiscord<goerge_lsd> I failed to do it, probably instructions are a bit outdated
20:57:26FromDiscord<spotlightkid> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1286066228888338557): @user2m\: if you want to write realtime-safe audio apps, I suggest using the platform APIs directly, i.e. ALSO or JACK (not Pulse or Pipewire) on Linux, CoreAudio on macOS and godknowswhat on Windows.
20:58:58FromDiscord<spotlightkid> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1286066228888338557): @user2m\: if you want to write realtime-safe audio apps, I suggest using the platform APIs directly, i.e. ALSA or JACK (not Pulse or Pipewire) on Linux, CoreAudio on macOS and godknowswhat on Windows.
21:05:23FromDiscord<spotlightkid> sent a long message, see https://pasty.ee/TnYdOMPe
21:07:12FromDiscord<spotlightkid> http://www.rossbencina.com/code/real-time-audio-programming-101-time-waits-for-nothing
21:07:34FromDiscord<spotlightkid> sent a long message, see https://pasty.ee/YVLcKdQJ
21:14:01FromDiscord<goerge_lsd> sent a code paste, see https://play.nim-lang.org/#pasty=RhNZILmM
21:14:13FromDiscord<goerge_lsd> (edit) "https://play.nim-lang.org/#pasty=NhaogacW" => "https://play.nim-lang.org/#pasty=FkPhjLuD"
21:16:47FromDiscord<spotlightkid> Some packages import nim as a module
21:17:16FromDiscord<goerge_lsd> this whole nimble/choosenim construction is kinda buggy
21:17:48FromDiscord<goerge_lsd> i was already on nim stable, i did choosenim stable just to be sure, doesn't say anything, but i can hear cpu fan spinning..
21:18:14FromDiscord<goerge_lsd> wasn't it supposed to download a precompiled copy anyway >
21:18:31FromDiscord<spotlightkid> which OS/Arch?
21:19:56FromDiscord<spotlightkid> Is your current choosenim the one from https://github.com/nim-lang/choosenim ? I.e. Version \>= 0.8.5
21:20:00FromDiscord<goerge_lsd> linux/x86-64
21:20:26FromDiscord<goerge_lsd> hm no, it's 0.8.4-2
21:22:08FromDiscord<spotlightkid> That doesn't work anymore.
21:22:45FromDiscord<spotlightkid> sent a code paste, see https://play.nim-lang.org/#pasty=DZOEGTwx
21:24:08FromDiscord<goerge_lsd> I had `choosenim-bin`, which wasn't updated..
21:24:41FromDiscord<spotlightkid> Yes, that's still the version from https://github.com/dom96/choosenim/
21:25:05FromDiscord<spotlightkid> The switch was fairly recently.
21:25:33FromDiscord<spotlightkid> And not announced prominently enough, IMO.
21:25:57FromDiscord<eaterofsnacks> is there a way to use a case statement with tuples?
21:26:01FromDiscord<goerge_lsd> choosenim-bin says 0.8.4 as pkg version, --version says 0.8.5
21:26:30FromDiscord<spotlightkid> See also https://forum.nim-lang.org/t/12350#76628
21:27:18FromDiscord<spotlightkid> The version doesn't really matter if it's from the wrong repo. ;-)
21:27:55FromDiscord<spotlightkid> Some URLs on nim-lang.org have changed (or whatthey return) so the dom96 version does not work anymore.
21:28:17FromDiscord<spotlightkid> Some URLs on nim-lang.org have changed (or what they return) so the dom96 version does not work anymore.
21:29:49FromDiscord<spotlightkid> The transition is not being managed very well, if you ask me.
21:30:18FromDiscord<goerge_lsd> the 0.8.6 one also says 0.8.5 with --version, bleh
21:31:36FromDiscord<spotlightkid> Reported that already today ;)↵https://github.com/nim-lang/choosenim/issues/30
21:32:42FromDiscord<spotlightkid> I could patch the AUR package, but I try to refrain from fixing problems upstream should fix.
21:44:05FromDiscord<goerge_lsd> also, is this what we're supposed to use instead of nimasem now ? https://github.com/nim-lang/vscode-nim
21:45:11FromDiscord<spotlightkid> yes.
21:45:36FromDiscord<goerge_lsd> but this does not appear in extension list using vscodium
21:46:08FromDiscord<spotlightkid> But note that using the binaries, which choosenim installs still cause pronlems in combination with the vscode extension and nimlangserver.
21:46:41FromDiscord<spotlightkid> you need to download the zip from the github release.↵(@goerge_lsd)
21:47:10FromDiscord<spotlightkid> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1286080845878267936): But note that using the binaries, which choosenim installs still cause pronlems in combination with the vscode extension and nimlangserver.↵https://github.com/nim-lang/choosenim/issues/13
21:47:37FromDiscord<spotlightkid> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1286080845878267936): But note that using the binaries, which choosenim installs still cause problems in combination with the vscode extension and nimlangserver.↵https://github.com/nim-lang/choosenim/issues/13
21:47:59FromDiscord<goerge_lsd> uh, i'll wait a bit then before switching
21:51:44FromDiscord<spotlightkid> the vscode extension or choosenim? the issue exists regardless of whether you have the old or new version of both.
21:54:15FromDiscord<goerge_lsd> vscode extension
21:58:12FromDiscord<spotlightkid> I think the nim-lang version still has important improvements. But I don't use VS code very often and don't care much about auto-complete.
21:58:49FromDiscord<spotlightkid> You don't get auto-update of the extension if you install it manually, though, I think.
21:59:54*major0 quit (Quit: major0)
22:00:10*major0 joined #nim
22:23:22*beholders_eye quit (Read error: Connection reset by peer)
22:29:31*beholders_eye joined #nim
22:30:37FromDiscord<Prestige> Were `method`s disabled or am I running into a compiler bug? lol
22:37:07FromDiscord<Elegantbeef> They're still here
22:37:58*xet7 quit (Quit: Leaving)
22:41:48FromDiscord<Elegantbeef> @Prestige are you trying to use multi methods by anychance?
22:48:00FromDiscord<Prestige> Is that not the same as a method?
22:48:43FromDiscord<Prestige> I just have a parent object with a method that returns a float, tried accessing it from a child, and it says that variable doesn't exist
22:49:21FromDiscord<Elegantbeef> Did you export the base method
22:49:29FromDiscord<Elegantbeef> Did you also annotate it base
22:49:35FromDiscord<Prestige> Yeah
22:49:48FromDiscord<Prestige> sent a code paste, see https://play.nim-lang.org/#pasty=czJBdRZw
22:49:59FromDiscord<Prestige> location is private/not exported, though
22:50:24FromDiscord<Elegantbeef> The error is?
22:51:00FromDiscord<Prestige> `Error: undeclared field: 'x' for type camera.Camera`
22:51:15FromDiscord<Prestige> and.. `type Camera = ref object of Entity`
22:51:59FromDiscord<Elegantbeef> Entity is a ref object?
22:52:22FromDiscord<Prestige> Yes
22:52:47FromDiscord<Prestige> It's a ref object of `Node` and `Node = ref object of RootObj`
22:52:55FromDiscord<Elegantbeef> The callsite has the `x` in scope?
22:53:37FromDiscord<Prestige> it has a reference to a camera object, and I'm just trying to use `camera.x`
22:54:04FromDiscord<Elegantbeef> But does it have the module with `x` imported?
22:54:23FromDiscord<Prestige> Hmm it doesn't looks like importing camera fixed it...weird
22:54:33FromDiscord<Prestige> it was an object that had a camera property
22:54:38FromDiscord<Prestige> that I could access
22:56:10FromDiscord<Elegantbeef> For some added context about multi methods they're when you attempt to dispatch on more than the first parameter's runtime type
22:56:36FromDiscord<Elegantbeef> So like `intesect(Rectangle, Circle)` `intersect(Circle, Triangle)` and so forth
22:57:07FromDiscord<Elegantbeef> They're locked behind a flag, but are just not a fun time
22:57:23FromDiscord<Prestige> Interesting, thanks