<< 08-01-2025 >>

00:12:29FromDiscord<Robyn [She/Her]> Ngl sorta tempted to make a program that can calculate the most optimal positioning of items and the most optimal moves to do...
00:12:43FromDiscord<Robyn [She/Her]> It'd probably involve reading the memory of the program tho
01:04:43FromDiscord<System64 ~ Flandre Scarlet> In reply to @michael.lenz. "Add ir support!": IR? wdym by IR?↵I still added some presets https://media.discordapp.net/attachments/371759389889003532/1326355876549759007/2025-01-08_00-46-56.mp4?ex=677f20ab&is=677dcf2b&hm=4ac82d516c1ec6bff7fbc96902de8a449e49a7bf91c68c8cc31cce87a89fb378&
01:18:47FromDiscord<Robyn [She/Her]> are there tools to decompile EXE files?
01:19:04FromDiscord<Robyn [She/Her]> Actually this game is made with Unity, hmmm
01:22:49FromDiscord<Elegantbeef> Yes and yes
01:22:58FromDiscord<Elegantbeef> ilspy for Unity if it's a C# build
01:23:04FromDiscord<Elegantbeef> ghidra if it's native
01:23:36FromDiscord<Robyn [She/Her]> ilspy?
01:23:42FromDiscord<bostonboston> or dotPeek
01:23:53FromDiscord<Robyn [She/Her]> dotPeek? no clue about either
01:24:19FromDiscord<Elegantbeef> Of course not why else would you ask
01:24:36FromDiscord<bostonboston> ILSpy is an opensource .net decompiler and dotPeek is JetBrains .net decompiler
01:29:32FromDiscord<bostonboston> I wish JetBrains would opensource their nim plugin
01:40:42FromDiscord<michaelb.eth> I wish Stephen Wolfram would open source Mathematica
01:41:14FromDiscord<Elegantbeef> I read that as mathematics and was going to write a shitpost
01:41:16FromDiscord<that_dude.> In reply to @battery.acid.bubblegum "are there tools to": I've used dnspy for decompiling and modifying unity games, but that only works when they don't use IL2CPP.
01:44:18FromDiscord<Robyn [She/Her]> In reply to @bostonboston "ILSpy is an opensource": Hm which one would you say has better quality?
01:44:41FromDiscord<bostonboston> I dont have the experience to answer that
01:45:34FromDiscord<Robyn [She/Her]> fair enough
01:46:14FromDiscord<Robyn [She/Her]> tbh im just hoping i can gleam enough info about the program's source to be able to read the memory and make a program in Nim to calculate the best options for a build
02:46:07*rockcavera quit (Remote host closed the connection)
02:48:07*SchweinDeBurg quit (Quit: WeeChat 4.6.0-dev)
02:59:10*SchweinDeBurg joined #nim
03:19:54FromDiscord<Robyn [She/Her]> To create continuations, all i gotta do is break up a function by control flow statements, right?
03:19:56FromDiscord<Robyn [She/Her]> hmm
03:21:12*xet7_ joined #nim
03:23:51FromDiscord<Elegantbeef> Are you manually doing it?
03:24:39*xet7 quit (Ping timeout: 265 seconds)
03:30:28FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Are you manually doing": Gonna make a macro after, but yeah for now I am
03:30:50FromDiscord<Elegantbeef> CPS is too lame?
03:31:20FromDiscord<Robyn [She/Her]> Nah, I wanna try making my own little thing out of boredom so I can better understand how the library works
03:35:11FromDiscord<Robyn [She/Her]> oh yeah what do `likely` and `unlikely` even do for compiled code?
03:35:22FromDiscord<Elegantbeef> Branch prediction
03:35:48*xet7_ quit (Remote host closed the connection)
03:36:36FromDiscord<Robyn [She/Her]> How does branch prediction work exactly? Just restructure how an if statement is ordered?
03:37:12FromDiscord<Elegantbeef> Speculative computing says at a branch do both then choose the right one later
03:38:04FromDiscord<Elegantbeef> Those mark which branch is the expected path
03:45:55FromDiscord<Robyn [She/Her]> ah
03:46:24FromDiscord<Robyn [She/Her]> `/data/data/com.termux/files/home/Nim/conts/main.nim(10, 1) Error: signature for '=dup' must be proc[T: object](x: T): T`: `proc `=dup`[T: ContinuationObj](x: T): T {.error.}`
03:46:33FromDiscord<Robyn [She/Her]> tf is the problem
03:46:57FromDiscord<Elegantbeef> Stop using the generic
03:47:33FromDiscord<Robyn [She/Her]> yeah did that and it worked
03:56:45FromDiscord<Robyn [She/Her]> https://play.nim-lang.org/#pasty=itCdvdXj huh, seg fault...
03:57:13FromDiscord<Elegantbeef> `sink Continuation` 😄
03:57:29FromDiscord<Robyn [She/Her]> Why would that be an issue? Nim doesn't like sink and refs?
03:57:47FromDiscord<Elegantbeef> You cannot sink a ref cause they're not single ownership
03:58:00FromDiscord<Robyn [She/Her]> aah
03:59:45FromDiscord<Robyn [She/Her]> yay my code works
04:00:18FromDiscord<Elegantbeef> It's a noop
04:00:19FromDiscord<Elegantbeef> Why do you even have that destructor?
04:00:58FromDiscord<Elegantbeef> Does it really?
04:02:26FromDiscord<Elegantbeef> https://play.nim-lang.org/#pasty=CaniDgVu well this fixes all the bugs and removes redundant code
04:08:05FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Why do you even": shrug, copied it from the cps lib but they have much more stuff sooo
04:09:32FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "https://play.nim-lang.org/#pasty=CaniDgVu well this": what did you change?
04:11:03FromDiscord<Robyn [She/Her]> c.next being null indicates the continuation ran without errors, c being null means it was aborted for some reason
04:11:15FromDiscord<Robyn [She/Her]> tho i do need an enum for it
04:14:56FromDiscord<Elegantbeef> Cleaned up \`\`tampoline`removed`result = c\`
04:14:59FromDiscord<Elegantbeef> trampoline even
04:15:14FromDiscord<Elegantbeef> used `if not(x of CountCont)` cause it's a runtime check
04:18:48FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "used `if not(x of": ah yeah i changed that locally
04:19:01FromDiscord<Robyn [She/Her]> i realised my mistake when i ran the code before
05:15:04*krux02 quit (Remote host closed the connection)
06:12:05FromDiscord<lainlaylie> Am I alone in thinking we should generally reject typo-only PRs from non-contributors? All of these accounts look like bots
06:15:21*Jjp137 quit (Ping timeout: 252 seconds)
06:18:15FromDiscord<Elegantbeef> If it's user facing it should be fine, but if it's internal probably shouldn't be
06:25:47*Jjp137 joined #nim
06:36:48FromDiscord<michael.lenz.> In reply to @sys64 "IR? wdym by IR?": Impulse response. It will reproduce curve of nonlinear characteristics for harmonics. So it will be possible to capture real hardware characteristics and apply them in software
07:47:32PMunch@lainlaylie, they might be accounts who just want to look active in order to be able to sneak malicious things in later or in another repo
08:20:20FromDiscord<System64 ~ Flandre Scarlet> In reply to @michael.lenz. "Impulse response. It will": You mean lowpass/highpass filters? It's planned
08:25:08FromDiscord<lainlaylie> In reply to @PMunch "<@305785071489515540>, they might be": I agree
08:32:56FromDiscord<michael.lenz.> In reply to @sys64 "You mean lowpass/highpass filters?": https://en.m.wikipedia.org/wiki/Impulse_response
08:56:21*Jjp137 quit (Ping timeout: 248 seconds)
09:22:26*Zevv joined #nim
09:40:54FromDiscord<meta_leap> so calling `system.quit` in a `.nimble` file results in this error, for learning purposes I'd like to understand why? https://media.discordapp.net/attachments/371759389889003532/1326485775054802965/image.png?ex=677f99a5&is=677e4825&hm=cff3f157b4e929f6370644c580f5873fe34d7da697a52ecaab203f6be40932dd&
09:41:39FromDiscord<meta_leap> (edit) "so calling `system.quit` in a `.nimble` file results in this error, for learning purposes I'd like to understand why? ... https://media.discordapp.net/attachments/371759389889003532/1326485775054802965/image.png?ex=677f99a5&is=677e4825&hm=cff3f157b4e929f6370644c580f5873fe34d7da697a52ecaab203f6be40932dd&" added "(of course it'll be quit(1) afterwards)"
09:55:24FromDiscord<janakali> @meta_leap .nimble is a package config file. You can't put arbitrary code inside because nimble expects it to have some structure. If you need - create a `config.nims` file in same directory and put everything there.
09:56:38FromDiscord<meta_leap> In reply to @janakali "<@1131867449021702255> .nimble is a": I had no idea, because nimble docs advertise how it's "just a nims script so you can put additional logic in there"
09:56:55FromDiscord<meta_leap> (edit) "In reply to @janakali "<@1131867449021702255> .nimble is a": I had no idea, because nimble docs advertise how it's "just a nims script ... soto" added "under the hood," | "under the hood,so you can put additional logic in there" ... " added "to paraphrase"
09:57:15FromDiscord<meta_leap> (edit) "In reply to @janakali "<@1131867449021702255> .nimble is a": I had no idea, because nimble docs advertise how it's "just a nims script under the hood, so you can put additional logic in there" to paraphrase ... " added "(and it works, too =)"
09:57:23FromDiscord<meta_leap> (edit) "In reply to @janakali "<@1131867449021702255> .nimble is a": ... I" added "thx"
10:18:02*beholders_eye joined #nim
10:31:09FromDiscord<System64 ~ Flandre Scarlet> In reply to @michael.lenz. "https://en.m.wikipedia.org/wiki/Impulse_response": Do you think it will be hard to implement?
11:01:03FromDiscord<janakali> sent a code paste, see https://play.nim-lang.org/#pasty=KopPcXCd
11:01:34FromDiscord<michael.lenz.> In reply to @sys64 "Do you think it": There should be code examples online. Many audio plug-ins use IR's to "model" the gear.
11:02:19FromDiscord<meta_leap> In reply to @janakali "Well, technically you can": noted & thx, will clean it up then =)
11:03:38*valms19901 joined #nim
12:20:40FromDiscord<shalokshalom> Has Nim incremental compilation now?
12:21:06FromDiscord<shalokshalom> There is one issue discussion its implementation, and it got partly solved and then closed 4 years ago
12:25:29FromDiscord<meta_leap> In reply to @shalokshalom "There is one issue": link? curious myself
12:26:28FromDiscord<shalokshalom> https://github.com/jmgomez/NimForUE?tab=readme-ov-file#why-nim
12:26:39FromDiscord<shalokshalom> This one still speaks about it as an upcoming feature
12:27:09FromDiscord<janakali> @shalokshalom it's in the 2025 RoadMap https://github.com/nim-lang/RFCs/issues/556
12:30:00FromDiscord<shalokshalom> ok, thanks
12:30:36FromDiscord<shalokshalom> oh, version 3 finally goes for the rewrites
12:30:56FromDiscord<shalokshalom> Gives the whole Nimskull thing the bitter taste I always expected
12:31:34FromDiscord<shalokshalom> I question if it was worth splitting the community for that being postponed
13:09:30FromDiscord<meta_leap> sent a long message, see https://pasty.ee/nkoMqrDH
13:10:03FromDiscord<meta_leap> (edit) "https://pasty.ee/XkCMKrNN" => "https://pasty.ee/FenAxIgR"
13:10:29FromDiscord<meta_leap> (edit) "https://pasty.ee/tJVjnacl" => "https://pasty.ee/ffejvoLq"
13:10:39FromDiscord<meta_leap> (edit) "https://pasty.ee/zmhqAuiq" => "https://pasty.ee/SGBZaLui"
13:14:45*xaltsc quit (Quit: WeeChat 4.5.1)
13:34:22FromDiscord<michael.lenz.> There’s nothing like gc_compact() right?
13:35:21Amun-RaGC_fullCollect()
13:35:27FromDiscord<michael.lenz.> Osx does not have musl, and anythink like malloc_trim() unfortunately
13:36:19FromDiscord<michael.lenz.> In reply to @Amun-Ra "GC_fullCollect()": I tried this, not returning freed heap to os
13:38:05Amun-Rawhat's your gc?
13:38:31Amun-Rathat's a noop on gc=malloc iirc
13:38:59Amun-RaI mean orc*
13:39:10Amun-Ra!orc
13:39:59Amun-Raand collect might not free anything to the os
13:40:23Amun-Rait may mark memory free for later use (I haven't peeked at the sources)
13:41:22Amun-RaI remember reading something like that
13:43:54FromDiscord<michael.lenz.> In reply to @Amun-Ra "I remember reading something": I had this issue previously. I set to use malloc with orc in nim conf
13:45:05FromDiscord<michael.lenz.> So seems no chances to compact heap on osx. Heap can grow, so it looks like leak, while is not a leak at all
13:49:02FromDiscord<michael.lenz.> In reply to @Amun-Ra "and collect might not": Good that musl alocator does it automatically on free()
14:13:39*beholders_eye quit (Ping timeout: 276 seconds)
14:15:21*beholders_eye joined #nim
15:21:45*PMunch quit (Quit: Leaving)
15:34:51*kotrcka joined #nim
16:00:26*krux02 joined #nim
17:07:47FromDiscord<michael.lenz.> In reply to @Amun-Ra "and collect might not": Definitely not releases to Os, but with use of malloc_zone_pressure_relief(NULL, 0) on osx and -d:malloc, keeps residual heap at 150 meg with refc and 192meg max with orc in my case. When GC does collect it drops around 112 meg
17:12:50FromDiscord<michael.lenz.> I don't know if others have problems with this, but there is definitely a need for gc_compact for long running processes.
17:16:24*pbsds30 joined #nim
17:16:40*ntat joined #nim
17:19:25*pbsds3 quit (Ping timeout: 260 seconds)
17:19:25*pbsds30 is now known as pbsds3
17:36:27*beholders_eye quit (Ping timeout: 276 seconds)
17:37:48FromDiscord<meta_leap> sent a long message, see https://pasty.ee/WcNeBPft
17:41:19*Zevv left #nim (#nim)
17:46:02FromDiscord<michael.lenz.> If I understand it right, you are trying to have static executable by linking the code with already built static lib? And who made libWickedEngine_Linux.a? was it created in nim also?
17:47:53FromDiscord<meta_leap> In reply to @michael.lenz. "If I understand it": nah that's a cpp one, then built [with cmake](https://github.com/turanszkij/WickedEngine/?tab=readme-ov-file#linux) and installed
17:47:58FromDiscord<meta_leap> (edit) removed "then"
17:49:14FromDiscord<meta_leap> (edit) "In reply to @michael.lenz. "If I understand it": nah that's a cpp one, built [with cmake](https://github.com/turanszkij/WickedEngine/?tab=readme-ov-file#linux) and installed ... " added "(it strictly doesnt support dyn-linking sadly, despite some leftover cmake fragments indicating it would)"
17:49:32FromDiscord<meta_leap> (edit) "In reply to @michael.lenz. "If I understand it": nah that's a cpp one, built [with cmake](https://github.com/turanszkij/WickedEngine/?tab=readme-ov-file#linux) and installed (it strictly doesnt support dyn-linking sadly, despite some leftover cmake fragments indicating ... itonce" added "that" | "would)" => "once tried or planned to)"
17:50:19FromDiscord<michael.lenz.> check if the symbols were exported: nm -D ./libWickedEngine_Linux.a
17:51:22FromDiscord<michael.lenz.> In reply to @meta_leap "nah that's a cpp": probably you mean static
17:52:02FromDiscord<meta_leap> In reply to @michael.lenz. "probably you mean static": I said & meant: only supports static linking, doesnt support dyn-linking =)
17:52:38FromDiscord<meta_leap> In reply to @michael.lenz. "check if the symbols": no symbols — so why does meson succeed with my c++ version.. because everything gets `#include`d?
17:52:55FromDiscord<meta_leap> (edit) "`#include`d?" => "`#include`d and thus declared, I guess?"
17:53:06FromDiscord<meta_leap> (edit) "In reply to @michael.lenz. "check if the symbols": ... noindeed" added "thx!" | "thx!no symbols ... —" added "indeed"
17:53:31FromDiscord<meta_leap> (edit) "In reply to @michael.lenz. "check if the symbols": thx! no symbols indeed — so why does meson succeed with my c++ version.. because everything gets `#include`d and thus declared, I guess? ... " added "(or if we're talking "debug symbols": it's a release build =)"
17:53:38FromDiscord<michael.lenz.> Wow, this is the first time I've heard this. I know that glibc forbids static linking of some functions.
17:54:11FromDiscord<michael.lenz.> If there are no symbols, this seems to be a problem.
17:55:13FromDiscord<meta_leap> In reply to @michael.lenz. "Wow, this is the": they have some header-only code that seems to cause bugs with-dynlinking-only, and sadly dont care for the massively-more-rapid debug-build times dynlinking would afford =/
17:57:44FromDiscord<michael.lenz.> you have to export the functions with expected names, like extern declspec(dllexport) void hi();
17:59:18FromDiscord<michael.lenz.> https://stackoverflow.com/questions/496664/c-dynamic-shared-library-on-linux
18:18:59*pbsds33 joined #nim
18:21:57*pbsds3 quit (Ping timeout: 276 seconds)
18:21:57*pbsds33 is now known as pbsds3
18:27:05FromDiscord<meta_leap> In reply to @michael.lenz. "you have to export": thx! but this all reads like it's about & applies to dynlinked libs? (also no mention of declspec or dllexport =) — in my case, like i said, lib is an `.a` and to be statically linked (if `link` can do that, dunno)
18:27:44*kotrcka quit (Remote host closed the connection)
18:28:14FromDiscord<meta_leap> (edit) "In reply to @michael.lenz. "you have to export": thx! but this all reads like it's about & applies to dynlinked libs? (also no mention of declspec or dllexport =) — in my case, like i said, lib is an `.a` and to be statically linked (if `link` can do that, dunno)" => "sent a long message, see https://pasty.ee/woFflEnm"
18:29:30Amun-Rameta_leap: there's no declspec nor dllexport needed on linux
18:30:19FromDiscord<meta_leap> In reply to @Amun-Ra "<@1131867449021702255>: there's no declspec": yeah that "dll" part had me confused
18:31:41Amun-Rawhat symbols are missing during the linking?
18:32:57FromDiscord<michael.lenz.> I don't remember exactly but symbols should be visible with nm -D
18:33:33FromDiscord<demotomohiro> In reply to @michael.lenz. "check if the symbols": It seems `nm -D` only works for dynamic objects: https://sourceware.org/binutils/docs/binutils/nm.html
18:34:49FromDiscord<michael.lenz.> https://media.discordapp.net/attachments/371759389889003532/1326620140128829554/image.png?ex=678016c8&is=677ec548&hm=1b965314c2e2f1ca5818fe091562dc5970e8cf42c93290170e78a4b9e672c71e&
18:34:57Amun-Raany identifiers with file scope will have external linkage in .so
18:36:11FromDiscord<michael.lenz.> also this readelf -a
18:36:30FromDiscord<meta_leap> sent a long message, see https://pasty.ee/VjiqUCug
18:37:30Amun-Rameta_leap: that's what I see: https://pasty.ee/VjiqUCug ;)
18:37:31FromDiscord<meta_leap> (edit) "https://pasty.ee/QDaOrEOF" => "https://pasty.ee/mnNDxoyk"
18:38:19FromDiscord<meta_leap> In reply to @Amun-Ra "<@1131867449021702255>: that's what I": ah you're bridged, ok just a moment..
18:39:50FromDiscord<demotomohiro> In reply to @meta_leap "all of them 😁": It looks like you need to link lua library.
18:41:10FromDiscord<demotomohiro> In reply to @meta_leap "they have some header-only": Nim can call C/C++ functions in header-only code using header pragma.
18:41:46FromDiscord<meta_leap> In reply to @Amun-Ra "<@1131867449021702255>: that's what I": here as gist (3 files) https://gist.github.com/metaleap/e0a37d836353534fa8bd3e63ba526959
18:42:09FromDiscord<michael.lenz.> In reply to @demotomohiro "Nim can call C/C++": yeah, this is better
18:42:25*beholders_eye joined #nim
18:42:39Amun-Rademotomohiro was faster
18:42:41FromDiscord<meta_leap> In reply to @demotomohiro "Nim can call C/C++": oh its not even directly-lib-user-called code but somehow still causes bugs with-dynlinked-only (double existence of some static global or some such, dont exactly recall)
18:42:47Amun-Rayou need to link lua library and SDL2
18:43:20Amun-Raadd them after libWickedEngine_Linux.a
18:43:43Amun-Ra(and probably some other I can't see yet)
18:44:30FromDiscord<meta_leap> In reply to @Amun-Ra "you need to link": thx will try! so outa curiosity, the `.nimble` already has `sdl2` dep, would that take care of the sdl2 linking requirement? well I'll find out I guess
18:44:49FromDiscord<Elegantbeef> No cause you're linking not using dynlib
18:44:56FromDiscord<Elegantbeef> The sdl libs link using dlopen not `-l`
18:45:26FromDiscord<demotomohiro> If lua is installed on your machine, passL pragma like `{.passl: -llua}` adds `-llua` option to the linker: https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-passl-pragma
18:51:15FromDiscord<meta_leap> In reply to @demotomohiro "If lua is installed": superb, thx all! wonder how meson figured that out (in the c++ proj) without me putting it in the build file but I guess some automagic header intel
18:54:51FromDiscord<meta_leap> now this is odd: `/usr/bin/ld: cannot find -lSDL: No such file or directory` — that one's even among the docs' manual's snippets. got all the sdl2 dev deps installed system-wide (else couldnt have built WickedEngine to begin with)
18:55:27*xet7 joined #nim
18:55:53FromDiscord<meta_leap> (edit) "even among" => "[even among](https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-passl-pragma)"
18:56:09FromDiscord<michael.lenz.> In reply to @demotomohiro "Nim can call C/C++": I remember how I used similar to this:↵↵proc Tcl_Eval(interp: pTcl_Interp, script: cstring): int {.cdecl, importc:"Tcl_Eval",↵dynlib:"libtcl(|8.5|8.4|8.3).so.(1|0)".}
19:00:21FromDiscord<demotomohiro> In reply to @meta_leap "superb, thx all! wonder": You might need to use `-lSDL2` instead of `-lSDL`.
19:00:57FromDiscord<Elegantbeef> That is what pkg-config says
19:02:42FromDiscord<meta_leap> that's the solution indeed. now I'm getting more missing libs, all the stuff wicked has "paste-included" in their repo... stbi , basisu , lodepng ... you get the idea. there's no sys-wide installs of these and it's all embedded in Wicked as original code from those repos/libs .. fuuunky
19:02:58FromDiscord<meta_leap> (edit) "missing libs," => ""missing libs" but they arent actual libs:"
19:03:31FromDiscord<meta_leap> and still "undefined reference to `lua_newuserdata`" despite `-llua`
19:03:43FromDiscord<demotomohiro> There is example code in https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-passl-pragma that uses passl pragma with gorge.↵`{.passl: gorge("pkg-config --libs sdl2").}` might better.
19:03:49FromDiscord<meta_leap> (edit) "and still "undefined reference to `lua_newuserdata`" ... despite" added "etc"
19:04:05Amun-Rayou need to include every lib the engine relies on
19:04:25FromDiscord<meta_leap> In reply to @demotomohiro "There is example code": thx, that passl for SDL2 worked tho! just all the other stuff popped up now 😁
19:05:18FromDiscord<meta_leap> In reply to @Amun-Ra "you need to include": but those arent actual lib dependencies. this is "repo-own code" as far as any compiler knows. it's all pasted in there and so part of WickedEngine, the source base and also it's `.a`
19:05:34FromDiscord<meta_leap> (edit) "In reply to @Amun-Ra "you need to include": but those arent actual lib dependencies. this is "repo-own code" ... ascopy-pasted" added "inside it," | "inside it,as far as any compiler knows. ... it's" added "copy-pasted in."
19:05:49FromDiscord<meta_leap> (edit) "WickedEngine, the" => "WickedEngine's" | "WickedEngine'ssource ... base" added "code"
19:05:56FromDiscord<meta_leap> (edit) "it's" => "its"
19:06:14FromDiscord<meta_leap> (edit) "in there" => "inside that one lib"
19:06:39FromDiscord<meta_leap> like [so](https://github.com/turanszkij/WickedEngine/tree/master/WickedEngine/Utility)
19:07:31FromDiscord<meta_leap> (edit) "like [so](https://github.com/turanszkij/WickedEngine/tree/master/WickedEngine/Utility) ... " added "and [so](https://github.com/turanszkij/WickedEngine/tree/master/WickedEngine/Jolt) and [even so](https://github.com/turanszkij/WickedEngine/tree/master/WickedEngine/LUA)"
19:07:57FromDiscord<meta_leap> (edit) "like [so](https://github.com/turanszkij/WickedEngine/tree/master/WickedEngine/Utility) and [so](https://github.com/turanszkij/WickedEngine/tree/master/WickedEngine/Jolt) and [even so](https://github.com/turanszkij/WickedEngine/tree/master/WickedEngine/LUA) ... " added "— practically everything-except-SDL2 =)"
19:08:05*beholders_eye quit (Read error: Connection reset by peer)
19:08:39FromDiscord<whorf> sent a code paste, see https://play.nim-lang.org/#pasty=ZNNbzwRr
19:11:42*beholders_eye joined #nim
19:13:07FromDiscord<Elegantbeef> Make `store[T: Parent](val: T)`
19:21:31*valms19901 quit (Quit: Leaving.)
19:26:09FromDiscord<whorf> sent a code paste, see https://play.nim-lang.org/#pasty=tckmdTTP
19:26:50FromDiscord<Elegantbeef> Right cause it's type erased to `Parent`
19:27:05FromDiscord<Elegantbeef> OOP does not serialise well
19:27:59FromDiscord<whorf> so is this not possible?↵might start using templates for more of this stuff then
19:28:14FromDiscord<Elegantbeef> If you have a `Child` inside a `Parent` type nope
19:30:34FromDiscord<Elegantbeef> But you can do `proc save[T: Parent](val: T)`
19:30:35FromDiscord<Elegantbeef> Assuming you do not have a type erasure
19:42:17FromDiscord<meta_leap> sent a code paste, see https://play.nim-lang.org/#pasty=CAHgWzgi
19:42:57FromDiscord<meta_leap> (edit) "https://play.nim-lang.org/#pasty=JwUiJxIF" => "https://play.nim-lang.org/#pasty=HmBhAyOy"
19:43:24FromDiscord<mratsim> @_araq I don't remember on which channel but I remember you asking me to ping you when my compile-time assembler supports ARM, and it's done: https://github.com/mratsim/constantine/pull/513
19:49:13FromDiscord<meta_leap> In reply to @meta_leap "just noticed sth with": so I removed `{.link: "/usr/local/lib/WickedEngine/libWickedEngine_Linux.a".}` and added to `nim cpp` the `--passL:/usr/local/lib/WickedEngine/libWickedEngine_Linux.a` and presto, builds & runs (without lib use yet, but still)!↵↵lesson learned about static linking
19:49:18FromDiscord<meta_leap> (edit) "In reply to @meta_leap "just noticed sth with": so I removed `{.link: "/usr/local/lib/WickedEngine/libWickedEngine_Linux.a".}` and added to `nim cpp` the `--passL:/usr/local/lib/WickedEngine/libWickedEngine_Linux.a` and presto, builds & runs (without lib use yet, but still)!↵↵lesson learned about static linking ... " added "in nim"
19:57:00*beholders_eye quit (Ping timeout: 244 seconds)
20:06:43*pbsds3 quit (Quit: The Lounge - https://thelounge.chat)
20:08:23*pbsds3 joined #nim
20:28:02*beholders_eye joined #nim
20:40:17FromDiscord<meta_leap> sent a code paste, see https://play.nim-lang.org/#pasty=qmAUMSDe
20:40:54FromDiscord<meta_leap> (edit) "https://play.nim-lang.org/#pasty=cJFZCAbZ" => "https://play.nim-lang.org/#pasty=nBElrONG"
20:41:27FromDiscord<meta_leap> (edit) "https://play.nim-lang.org/#pasty=RiRFhirb" => "https://play.nim-lang.org/#pasty=VlEQbUuC"
20:49:05FromDiscord<demotomohiro> In reply to @meta_leap "so whether I do": You can import C/C++ types or functions in header file using header pragma: https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-header-pragma
20:50:40FromDiscord<demotomohiro> When you use header pragma, Nim compiler automatically adds `#include <xyz.h>` to the generated C/C++ file.
20:54:59*xet7 quit (Remote host closed the connection)