<< 01-08-2019 >>

00:08:42*nullnullnull joined #nim
00:19:43FromGitter<kayabaNerve> @alehander42 I did solve it by derefing later. It's in the commit I put for a base. My MWE is an assert but full code is a crash.
00:32:46FromGitter<alehander42> yes, exactly
00:32:48FromGitter<alehander42> hm i think
00:33:05FromGitter<alehander42> btw i write await <fun>(..) where fun is returning Future[void]
00:33:29FromGitter<alehander42> and nim is like "yielded nil, are you awaiting nil?"
00:33:37FromGitter<alehander42> i am not sure why its excepting me to discard it
00:33:39FromGitter<alehander42> but ok
00:35:24*laaron joined #nim
01:18:58*laaron quit (Remote host closed the connection)
01:22:49*laaron joined #nim
01:24:10*krux02 quit (Remote host closed the connection)
02:19:12*laaron quit (Remote host closed the connection)
02:22:23*laaron joined #nim
02:28:51*NimBot joined #nim
02:39:33*batok quit (Remote host closed the connection)
03:05:14*abm quit (Quit: Leaving)
03:38:02*fjellfras joined #nim
03:41:23FromGitter<zacharycarter> is newruntime ready? or is work still being done on it?
04:08:57*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
04:13:22*laaron joined #nim
04:27:09*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
04:27:44*laaron joined #nim
04:30:29*chimez joined #nim
04:36:19*nsf joined #nim
04:54:21*chimez quit (Quit: chimez)
04:57:56rayman22201@zacharycarter it's still super experimental. You should totally use it and report bugs though.
05:17:56*nif quit (Quit: ...)
05:18:05*nif joined #nim
05:26:53FromGitter<zacharycarter> I need to look at the write up on it again, I know it basically is similar to C++'s shared and unique pointers. What happens to code you rely on that wasn't coded for the new runtime? Does that have to be rewritten?
05:30:46*solitudesf joined #nim
05:43:10*dddddd quit (Remote host closed the connection)
05:56:56*carkh joined #nim
05:57:18carkhhi, is there a way to ask nim where it thinks my nimblePath is ?
05:57:46*laaron quit (Remote host closed the connection)
05:58:39carkhnim dump would make it i guess ?
06:02:52*laaron joined #nim
06:09:07*r3c quit (Ping timeout: 260 seconds)
06:11:50*jjido joined #nim
06:15:36FromGitter<gogolxdong> How to get a data structure variable from nim file and update its content and rewrite it in the nim file?
06:16:18carkhI don't get it when doing "nimble build" in my project directory i see the command : Command: "F:\home\bin\nim-0.20.2\bin\nim.exe" c --noBabelPath --path:"C:\Users\carkh\.nimble\pkgs\zip-0.2.1" -o:... it all seems right to me, but the zipfiles module is not found
06:48:31*dgreen quit (Remote host closed the connection)
06:49:07FromGitter<mratsim> @carkh, did you run finish.exe? it should have updated your environment variable
06:49:38FromGitter<mratsim> @zacharycarter it just works (TM)
06:51:09FromGitter<mratsim> Well for know the owned ref mechanism is still using the GC for reference counting and it will gradually be moved to statically proven.
06:51:24FromGitter<mratsim> details are here: https://github.com/nim-lang/RFCs/issues/144
06:51:53FromGitter<mratsim> if you don't use the "owned" annotation, you use the old scheme
06:53:38*krux02 joined #nim
06:58:05*nif quit (Quit: ...)
06:58:14*nif joined #nim
06:59:44carkh@mratsim looks like the trouble is that the zip library will not compile at all, i'm evaluating other avenues
07:00:00*gmpreussner quit (Quit: kthxbye)
07:00:08FromGitter<gogolxdong> It's tricky ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d428df87a151629e101fcb3]
07:01:46FromGitter<alehander42> rayman22201
07:02:14FromGitter<alehander42> i guess the gc can simulate malloc and free for its similar internal "alloc" and "free"
07:02:26FromGitter<alehander42> or to somehow make valgrind overload those
07:04:34*gmpreussner joined #nim
07:08:00*rockcavera quit (Remote host closed the connection)
07:08:43*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:09:44solitudesfcarkh, does it build fine with just `nim c`?
07:10:07FromGitter<mratsim> --useMalloc will make the GC request and release memory like C, instead of mmap-ing and managing a free list of memory blocks internally
07:10:14carkhnope, but i might be onto something, will report back =)
07:10:58FromGitter<mratsim> @gogolxdong the nuclear option would be to use "staticExec" and your shell "echo" :P
07:12:13FromGitter<mratsim> but self modifying source code will probably be quite surprising 6 months from now
07:13:35*rockcavera joined #nim
07:17:10FromGitter<alehander42> @mratsim oh nice, so why cant that be used for valgrind
07:17:57FromGitter<alehander42> hm is it possible
07:18:02FromGitter<alehander42> that json is slowing down
07:18:05FromGitter<alehander42> compilation
07:18:28FromGitter<alehander42> i have a generic function which calls `to` for many types
07:18:42FromGitter<alehander42> and i wondered for many reasons, why might my speed have slowed down
07:18:46FromGitter<alehander42> and now i thought of it
07:19:55carkhaaha! progress ! now i get to the linker... "C:\Users\carkh\nimcache\bleh_d\libzip_all.c.o:libzip_all.c:(.text+0x117): undefined reference to `zError'" and a bunch more like this ...maybe because i'm on windows ?
07:20:22carkhthe trick was to "import zip/zipfiles" at least to get to this point
07:21:29carkhthough when i clone the zip repository and "nimble test" it all passes ><
07:22:04carkherr no it doesn't
07:24:09*Cthalupa quit (Ping timeout: 258 seconds)
07:24:34*Cthalupa joined #nim
07:30:01carkhyes works fine on linux =(
07:30:46carkhim' probably missing zlib.h
07:32:22carkhnope it's in the nim distribution... man it's hard to zip a file with nim =)
07:34:11FromGitter<alehander42> guys nvm
07:34:33FromGitter<alehander42> forgot my reading binaries
07:34:36FromGitter<alehander42> running for a lot of time
07:34:44FromGitter<alehander42> and literally now takes 2-3 seconds
07:34:46FromGitter<alehander42> instead of 20
07:34:56FromGitter<alehander42> i've blocked my machine cpu and didnt realize it
07:35:07FromGitter<alehander42> json is fast
07:35:25FromGitter<alehander42> json compilation
07:36:30FromGitter<gogolxdong> Indeed, I'm using table in a source file as a database.
07:38:19FromGitter<gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d4296eb41d5cd61b593078a]
07:38:38FromGitter<gogolxdong> and helper.nim ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d4296fe45da450fec858ac9]
07:41:52*laaron- joined #nim
07:43:17FromGitter<gogolxdong> It would be easier if Nim could do `var helper = staticExec(news["test"] = (date: getDateStr(), img: "test");echo news)` , like Lambda of AWS.
07:45:24*laaron quit (Ping timeout: 260 seconds)
07:49:01FromGitter<alehander42> you can do that!
07:49:11FromGitter<alehander42> write staticExecInline
07:49:25FromGitter<alehander42> which writes the macro argument repr to a temp nim file
07:49:58FromGitter<alehander42> and compiles it the way you want to
07:50:05FromGitter<alehander42> but i dont understand
07:50:30FromGitter<alehander42> helper returns the result of the compilation now
07:50:39FromGitter<alehander42> you dont want this: you need to add ./helper
07:50:43FromGitter<alehander42> or something like this
07:51:24FromGitter<alehander42> whatever you decide
07:51:54FromGitter<alehander42> hm which means you can write evaluate
07:52:33FromGitter<alehander42> evaluate(var b = 10; b + 10) would be a macro which just autocompiles and runs the expr
07:52:58FromGitter<alehander42> but probably easier to run it in the vm somehow
07:53:06FromGitter<alehander42> anyway ignore the last 2-3 , not relevant!
07:53:09FromGitter<alehander42> probably ?
07:59:20*carkh quit (Remote host closed the connection)
08:00:27*laaron- quit (Quit: ZNC 1.7.1 - https://znc.in)
08:01:26*laaron joined #nim
08:04:36*gokr joined #nim
08:14:49*floppydh joined #nim
08:17:45FromGitter<mratsim> @alehander42 you can use Valgrind if you use --useMalloc at the same time
08:22:07FromGitter<alehander42> btw is gprof
08:22:11FromGitter<alehander42> good for nim stuff
08:22:34FromGitter<alehander42> i am finally moving a lot of our project to the C backend (from the JavaScript backend)
08:22:43FromGitter<alehander42> so finally would be able to use more stuff
08:25:15*laaron quit (Remote host closed the connection)
08:27:12*laaron joined #nim
08:30:16*filcuc joined #nim
08:30:54filcucIs it possible to have multiple cfg files for a single project?
08:31:13filcucthe idea is to have multiple cfg for specifying cross compiler paths
08:34:53krux02I am not sure if you can specify a config file on the command line, currently it does not look like it.
08:35:16krux02but you can create a custom cfg file for a nim root file
08:36:25krux02so you can have for examples these files: mainWindows.nim mainWindows.nim.cfg mainLinux.nim mainLinux.nim.cfg etc
08:37:32*Vladar joined #nim
08:39:39*sz0 joined #nim
08:39:57FromGitter<mratsim> @alehander42, perf works, Apple Instruments, Intel VTune. I suppose OProfile and gprof would also work
08:40:18FromGitter<mratsim> compile with debugging symbols like --debugger:native so that you have Nim code for reference
08:42:34filcuckrux02: ok but i'll have to put my "main" function in a separate common nim file, correct?
08:48:45FromGitter<alehander42> ok, do i need to pass `-pg` as well
08:51:11krux02filcuc, if I understand what you are saying correctly, then yes.
09:00:12FromGitter<mratsim> @alehander42 what is `-pg`? Never used that
09:05:34*rockcavera quit (Remote host closed the connection)
09:07:40FromGitter<gogolxdong> compiles kind of works as the purpose of evaluate except it's transient.
09:08:38FromGitter<gogolxdong> found `template eval` had been deprecated.
09:09:49FromGitter<gogolxdong> If we can make compiles to work as an execuation.
09:09:53FromGitter<alehander42> but mate
09:10:02FromGitter<alehander42> i told you: you can write your own macro
09:10:07FromGitter<alehander42> that does the thing that you want to do
09:10:37dom96krux02, Zevv: was this supposed to be merged? https://github.com/nim-lang/RFCs/pull/156 I thought we were meant to discuss it
09:10:50FromGitter<alehander42> if its mostly getting output from nim programs
09:11:48FromGitter<gogolxdong> I'm trying to avoid an additional file.
09:11:59FromGitter<alehander42> now, if it's getting actual nim values/data structures , not just raw string output .. then sorry, i misunderstood: you can kinda do that but its hard
09:12:48FromGitter<alehander42> ok, but why do you use a nim file like that
09:12:51FromGitter<alehander42> its strange!
09:13:00FromGitter<alehander42> can you describe shortly what are you trying to do
09:13:50*fjellfras quit (Remote host closed the connection)
09:14:06FromGitter<alehander42> @krux02 : "but expected one of: <function signature>"
09:14:14*fjellfras joined #nim
09:14:20FromGitter<alehander42> is there a flag to make this print the signature location ?
09:15:22FromGitter<alehander42> the compiler knows it, i want to make it tell it to me instead of me searching manually
09:16:21FromGitter<gogolxdong> I'm using OrderedTable as a database, with low frequency update, like three or four updates per month.
09:17:27FromGitter<mratsim> why not just using Nim json module, AFAIK it works at compile-time
09:18:02FromGitter<mratsim> I don't think marshal works at compile-time though due to streams
09:18:44krux02alehander42 I don't think there is a way to print the signature location.
09:19:16FromGitter<gogolxdong> Let me try.
09:21:48FromGitter<alehander42> @gogolxdong but are you updating it manually
09:21:57FromGitter<alehander42> please, use a json file
09:22:06FromGitter<alehander42> and just generate the table from it
09:22:20FromGitter<alehander42> a nim file is really not a great way to save any kind of info
09:22:30FromGitter<alehander42> i mean in a database-like way
09:22:44FromGitter<alehander42> krux02 do you think it makes sense to add such a way
09:28:48krux02yes I do
09:28:56*JustASlacker joined #nim
09:29:17krux02And I actually like reviewing pull requests that try to improve existing parts of the language, such as error messages.
09:30:21FromGitter<alehander42> well, imo most pr-s do try to improve existing parts of the language
09:30:26FromGitter<alehander42> but lets not go into that
09:30:30FromGitter<alehander42> btw while on the topic
09:30:38FromGitter<alehander42> i have two more ideas about PR-s:
09:31:42FromGitter<alehander42> make waitFor in {.async.} a compile error and make discard <future> a compile error (currently those are just forbbiden .. in the docs, which is not good for a typed language)
09:31:51FromGitter<alehander42> but i guess they might be more breaking?
09:33:13*hoijui joined #nim
09:33:43FromGitter<gogolxdong> `Error: cannot evaluate at compile time: news`
09:35:44FromGitter<alehander42> @gogolxdong this is not a good way to do this: you need to not use a nim file
09:37:06FromGitter<alehander42> its an interesting idea, but much easier is to # load json # change the news field to the right one # save json
09:38:09FromGitter<alehander42> and then load that json file in api.nim on compile time and generate the table
09:38:16FromGitter<alehander42> much much easier
09:38:56FromGitter<alehander42> the other thing is a cool idea, but not really working for typed langs imo
09:47:32*gokr quit (Quit: Konversation terminated!)
09:48:06*gokr joined #nim
09:48:57*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
09:49:17*laaron joined #nim
10:12:17*abm joined #nim
10:15:03*gokr quit (Quit: Konversation terminated!)
10:39:44FromGitter<gogolxdong> `invalid type for const: JsonNode `, const OrderedTable works.
10:46:41FromGitter<gogolxdong> but cannot assign, `var news* {.compiletime.}` works
10:54:16*xace quit (Ping timeout: 272 seconds)
10:59:58*fjellfras quit (Ping timeout: 272 seconds)
11:08:41*nif quit (Quit: ...)
11:08:51*nif_ joined #nim
11:12:21*laaron quit (Remote host closed the connection)
11:14:00*laaron joined #nim
11:25:25*fjellfras joined #nim
11:34:20FromGitter<gogolxdong> doesn't work out unless the whole websocket server works at compile time .
11:34:52FromGitter<gogolxdong> I think it has to use a regular database.
11:37:30*dddddd joined #nim
11:42:40lqdev[m]yay, another one of those: `/home/daknus/Coding/Nim/rapid/src/rapid/world/tilemap.nim(56, 23) Error: type mismatch: got <proc (x: float, y: float, t: Tile): RAABounds{.closure.}> but expected 'proc (x: float, y: float, tile: Tile): RAABounds{.closure, noSideEffect, gcsafe, locks: 0.}'`
11:43:09lqdev[m]and I know this isn't a duplicate type
11:43:25lqdev[m]I think this is a generics thing this time
11:46:04*fjellfras quit (Quit: Leaving)
11:50:46*xace joined #nim
12:03:21*stefanos82 joined #nim
12:05:15FromGitter<Riderfighter> Hello everyone!
12:05:25lqdev[m]hi, Riderfighter
12:06:09FromGitter<alehander42> @gogolxdong oh
12:06:15FromGitter<alehander42> maybe yeah db
12:06:27*xace quit (Ping timeout: 248 seconds)
12:07:21FromGitter<Riderfighter> what are you working on lqdev? Is it still related to your vm, a tilemap seems like something related to a game :P
12:08:00lqdev[m]@Riderfighter not working on rod now, today's the first day of lowrezjam and I'm working on a game
12:09:34FromGitter<Riderfighter> That's awesome, what type of game are you working towards?
12:10:22lqdev[m]I adopted the factory theme with my team, put simply, the game is gonna be a factory tycoon
12:10:46FromGitter<Riderfighter> That's awesome, I hope you win !
12:12:19*xace joined #nim
12:15:03*hoijui quit (Ping timeout: 264 seconds)
12:34:57*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
12:38:07FromGitter<mratsim> @lqdev, na it's another {.noSideEffect, gcsafe, locks: 0.} pragma needed for higher order functions
12:38:39FromGitter<mratsim> if you have a minimal example, add it as a bug because it's a regular problem but I have no small example and it's very annoying
12:39:21*laaron joined #nim
12:45:12*neowinx joined #nim
13:00:53*chimez joined #nim
13:10:56*chimez quit (Quit: chimez)
13:31:35*nsf quit (Quit: WeeChat 2.4)
13:38:26*laaron quit (Remote host closed the connection)
13:41:00*laaron joined #nim
13:44:27krux02mratsim: when you encounter regular problems, those are very important issues reports.
13:47:14*hoijui joined #nim
14:02:32*laaron quit (Remote host closed the connection)
14:02:58shashlickhas anymore seen tables not work correctly at all on 64-bit
14:03:03shashlicksame code works on 32-bit
14:03:20shashlicki've added stuff to a table and it still shows up as empty
14:04:04FromGitter<alehander42> have you init-ed it
14:04:10FromGitter<alehander42> is it possible you use older nim ?
14:04:19shashlickthis is 0.20.2 and devel
14:05:43*laaron joined #nim
14:09:38*laaron quit (Remote host closed the connection)
14:14:43*laaron joined #nim
14:18:26*rockcavera joined #nim
14:18:44*MarderIII joined #nim
14:21:57*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
14:22:56*laaron joined #nim
14:29:56FromGitter<alehander42> hm if bin/nim is missing, csources should be rebuilt
14:32:52*laaron quit (Remote host closed the connection)
14:34:37FromGitter<Riderfighter> Welp I fell down the awesome rabbit hole that is cryptography haha
14:34:38*laaron joined #nim
14:52:36*MarderIII quit (Quit: Leaving)
15:01:57FromGitter<Riderfighter> !eval echo "test"
15:01:59NimBottest
15:02:05FromGitter<Riderfighter> !eval echo ((3 - 26) mod 29) mod 29
15:02:07NimBot-23
15:02:13FromGitter<Riderfighter> welp that's not right :L
15:02:32*JustASlacker quit (Ping timeout: 272 seconds)
15:03:12FromGitter<alehander42> hm
15:03:18FromGitter<Riderfighter> its supposed to be 6
15:03:38FromGitter<alehander42> its intended
15:03:38FromGitter<Riderfighter> I was just making sure that it wasn't just my laptop being weird with the mod operator
15:03:40FromGitter<alehander42> as in the docs
15:03:47FromGitter<alehander42> there are examples like -
15:05:00FromGitter<alehander42> a bit confusing to me too
15:05:14FromGitter<alehander42> but it seems that python maybe does the same from math docs
15:06:09FromGitter<Riderfighter> Python2/3 evaluates the expression correctly so I'm unsure why it wouldn't in nim
15:06:27*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
15:06:51*laaron joined #nim
15:08:06FromGitter<Riderfighter> Well I know why it wouldn't, they aren't the same :)
15:10:03FromGitter<Riderfighter> ok it seems that the command bc on ubuntu also evaluates "((3 - 26) % 29) % 29" to -23, I'm not delusional
15:15:25FromGitter<alehander42> try `%%` now :P
15:15:48*laaron quit (Quit: ZNC 1.7.1 - https://znc.in)
15:16:41*laaron joined #nim
15:17:24FromGitter<Riderfighter> im actually kind of confused as to why that expression isn't equal to 6 with nim :L
15:18:15*floppydh quit (Quit: WeeChat 2.5)
15:19:22*filcuc_ joined #nim
15:19:24*filcuc quit (Remote host closed the connection)
15:20:10FromGitter<Riderfighter> w/e it seems that js/go/nim all evaluate that to -23 except for python and my pen and paper haha
15:21:37FromGitter<alehander42> its a complicated thing: rem and mod
15:21:45FromGitter<alehander42> seem often different, try haskell as well
15:27:12FromGitter<Riderfighter> I'm trying everything I can right now haha
15:29:01*laaron quit (Remote host closed the connection)
15:33:33FromGitter<Riderfighter> so I can't actually try haskell, the site to download it is timing out for me
15:34:27FromGitter<alehander42> you can use online repl-s
15:34:29FromGitter<alehander42> for many of those
15:34:52Zevvyou can't print the output of an expression in haskel. printing has side effects.
15:35:01Zevvyou can only *calculate* it :)
15:37:19FromGitter<Riderfighter> @alehander42 idk why but like every site except wikipedia and github is timing out for me, I'll try and repl later though
15:37:55FromGitter<brentp> is there a cost to using varargs over requiring a seq?
15:38:33*sz0 quit (Quit: Connection closed for inactivity)
15:41:09FromGitter<Riderfighter> ok I found a solution to my issue
15:41:54FromGitter<Riderfighter> the math module contains `floorMod` which behaves exactly like "%" does in python
15:42:42FromGitter<Riderfighter> !eval import math; floorMod(floorMod((3 - 26), 29), 29)
15:42:44NimBotCompile failed: /usercode/in.nim(1, 22) Error: expression 'floorMod(floorMod(-23, 29), 29)' is of type 'int' and has to be discarded
15:42:51FromGitter<Riderfighter> welp
15:43:10FromGitter<Riderfighter> I forgot echo
15:43:11disruptekare you sure you understand what modulus is?
15:43:35FromGitter<Riderfighter> disruptek: I thought I did, I'm revisiting it though to make sure I correctly understand it
15:43:56*filcuc_ quit (Quit: Konversation terminated!)
15:46:17FromGitter<Riderfighter> To my current understanding it finds the remainder of one number after division from another, I guess I just need to revisit it
15:49:05disruptekmaybe you're confusing the rank of the number with the order of operations; x mod 29 is <= 28.
15:51:07FromGitter<Riderfighter> yeah, I just realized that the expression will be correct if its done as "29 mod ((3 - 26) mod 29)"
15:52:41*uvegbot joined #nim
15:53:25FromGitter<Riderfighter> It was definitely an order of operations error, I'm just too used to how the python modulo operator works
15:58:21FromGitter<mratsim> @brentp, if you pass a seq there is no difference, but if you pass an actually varargs, Nim will construct an array behind the scene and assign each arg to the corresponding array element and then call the function with that array as argument.
15:59:00FromGitter<mratsim> easiest way to check is compileing with -d:release and checking the C code while passing seq, array or actual varargs
16:01:40*xace quit (Ping timeout: 244 seconds)
16:06:56disruptekwhat are some good runtime performance profilers for linux?
16:07:33disruptekit's weird that i have to ask that, right?
16:07:42FromGitter<mratsim> For my use case: profiling SIMD and parallelism, I'm happy with Intel VTune
16:07:57*xace joined #nim
16:08:11FromGitter<mratsim> I want to play with Coz: https://github.com/plasma-umass/coz
16:08:22disrupteki just need something visual.
16:08:41FromGitter<mratsim> I to profile library call (like why is Xorg so slow when scrolling) I used OProfile
16:08:46FromGitter<mratsim> and*
16:09:13FromGitter<mratsim> Then Intel VTune (or Apple Instruments) are the best I think
16:09:27disruptekman, i am loving the linux desktop experience. i'd been gone for too long.
16:09:42lqdev[m]what DE?
16:10:13disruptekjust running it as my development environment.
16:10:23lqdev[m]aah
16:10:24*dddw joined #nim
16:10:37disrupteki took a break for about 10 years to run os x.
16:10:38lqdev[m]yeah it's way better than windows
16:10:49lqdev[m]dunno about os x
16:11:16disrupteki still ran it on servers, etc; i just didn't run a desktop, which changes everything.
16:11:22FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710161952.png)
16:11:22FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710161142.png)
16:11:22FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710162123.png)
16:11:22FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710162017.png)
16:11:22FromGitter<mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710162031.png)
16:11:27dddw!eval for 0..10: echo "test;
16:11:30NimBotCompile failed: /usercode/in.nim(1, 5) Error: identifier expected, but got '0'
16:11:32FromGitter<mratsim> example of profiling nimbus
16:11:39FromGitter<mratsim> with VTune
16:11:51dddw!eval for i in 0..10: echo "test"
16:11:54NimBottest↵test↵test↵test↵test↵test↵test↵test↵test↵test↵test
16:11:59*dddw quit (Remote host closed the connection)
16:13:49disruptekugh. i feel like i want a docker image if i'm gonna have to run some random binary from intel.
16:14:28*nsf joined #nim
16:15:04FromGitter<mratsim> It's Python + GTK calling a .so
16:15:37*xace quit (Ping timeout: 244 seconds)
16:15:53FromGitter<mratsim> I don't think there is a phone home as the license needs to be on the filesystem
16:16:18disruptekwow, coz looks really neat.
16:16:20FromGitter<mratsim> Download through here for a free 1 year license: https://software.intel.com/en-us/system-studio
16:19:40disruptekcoz looks next-generation.
16:23:27FromGitter<mratsim> It's also one of the best tech presentation I saw
16:26:12*leorize quit (Ping timeout: 260 seconds)
16:26:28*xace joined #nim
16:32:35*xace quit (Ping timeout: 248 seconds)
16:35:41shashlickhow do you get the actual storage size of a ref object
16:35:48shashlicksizeof just returns pointer size
16:36:15lqdev[m]separate the object and ref object types?
16:36:28lqdev[m]that's how I did it, at least
16:37:15dom96sizeof(obj[])?
16:38:06*xace joined #nim
16:38:14shashlickit works!
16:44:40shashlickhow do you convert a template param into a nimnode
16:44:46shashlickor is that only possible in macros
16:45:52*xace quit (Ping timeout: 245 seconds)
16:48:40FromGitter<brentp> @shashlick: https://github.com/brentp/libbigwig-nim was very easy to write this with nimbigwig. I'll be using this in a few proejcts now.
16:51:00FromGitter<mratsim> @shashlick, yes only macro converts into NimNode
16:51:47FromGitter<Riderfighter> You know what's kind of neat to know, the value returned by nim's mod operator is based on the dividen while python's is based on the divisor
16:52:35FromGitter<Riderfighter> Well not based on, but rather has the same sign
16:52:41disruptekwhoa, running coz in production... nifty. 😈
16:53:13FromGitter<Riderfighter> what are you working on Divisor?
16:53:19FromGitter<Riderfighter> not Divisor I mean disruptek
16:53:31FromGitter<Riderfighter> whoops had that copied from my intense research session :P
16:53:50disruptekhttps://www.youtube.com/watch?v=jE0V-p1odPg
16:58:17shashlick@brentp nice work!
16:58:29shashlickdoes anyone know how to debug GCASSERT
17:05:23*Trustable joined #nim
17:07:04*xace joined #nim
17:12:57*abm quit (Ping timeout: 245 seconds)
17:12:59FromGitter<mratsim> I just check the Nim source code and find which line triggers the asserts
17:18:30*clyybber joined #nim
17:18:49*lritter joined #nim
17:31:02krux02mratsim: what type of bug are you hunting?
17:31:27FromGitter<mratsim> It's shashlick who's hunting
17:31:47FromGitter<mratsim> Right now I'm trying to explore parallel solutions for Nim
17:31:55FromGitter<mratsim> not trying to, actually exploring*
17:32:27FromGitter<mratsim> this is sad though :/ https://github.com/nim-lang/Nim/issues/11844
17:36:12FromGitter<zacharycarter> is there a way to init a seq of ref objects without iterating over the sequence?
17:36:50shashlick@krux02 - i have a crash in feud, the text editor i'm working on
17:37:06shashlickwith --d:useGcAssert, it asserts on a new(T) call
17:37:09*JustASlacker joined #nim
17:37:30shashlicknot new(T), but after successful new(T), when I take obj.field = xyz
17:38:03shashlickso somehow i'm trashing the heap
17:38:32shashlickif you have some time, i'd really appreciate some eyes
17:39:52clyybbermratsim: I can't reproduce that issue
17:40:05clyybberDamn, Coz is really amazing
17:40:22FromGitter<mratsim> and the header is so small
17:40:23disrupteki haven't made it work yet. :-/
17:40:44FromGitter<mratsim> this is the header: https://github.com/mratsim/weave/blob/master/e04_channel_based_work_stealing/primitives/coz.h
17:40:52*ng0 joined #nim
17:41:11FromGitter<mratsim> and my wrapper (didn't try to bench yet but it compiles) https://github.com/mratsim/weave/blob/master/e04_channel_based_work_stealing/primitives/coz.nim
17:41:46FromGitter<zacharycarter> I didn't mean init a seq I meant init the objects the sequence holds
17:42:15clyybbermratsim: Oh, I missed --threads
17:42:39FromGitter<mratsim> there is no way, @zacharycarter but you can use newSeqWith from sequtils
17:43:03FromGitter<zacharycarter> okay thanks
17:47:50FromDiscord_<Generic> is it possible to generate ids without holes with macrocache?
17:49:39FromDiscord_<Generic> I previously used a compiletime table which associates a type with an id
17:50:13FromDiscord_<Generic> if a type wasn't already in the table it would be added, with the current table length as the id
17:50:14*leorize joined #nim
17:53:25*xace quit (Ping timeout: 246 seconds)
17:54:07FromGitter<zacharycarter> cool - I now have this first example: https://floooh.github.io/sokol-html5/clear-sapp.html - working with the nim sokol port
17:54:18FromGitter<zacharycarter> only on windows / d3d11 right now - but it's a start
17:54:52*xace joined #nim
17:55:07FromGitter<zacharycarter> https://github.com/zacharycarter/z
18:00:57FromGitter<zetashift> why d3d11?
18:01:30FromGitter<zacharycarter> well - I'll add opengl 3, metal, gles, etc...
18:02:14lqdev[m]more importantly
18:02:17*lqdev[m] uploaded an image: image.png (8KB) < https://matrix.org/_matrix/media/v1/download/matrix.org/ogWrlhkcWpsAleJHosNlrOym >
18:02:21lqdev[m]WHY_ARE_YOU_SCREAMING?
18:02:57FromGitter<zacharycarter> haha
18:03:05FromGitter<zacharycarter> just at you ;P
18:03:29FromGitter<zacharycarter> I'm on windows so I'm starting with d3d11 - I think it makes sense
18:04:40FromGitter<zacharycarter> dx12 / vulkan are very complicated and I don't think they older APIs will be totally phased out for another decade or so
18:06:43*JustASlacker quit (Ping timeout: 246 seconds)
18:08:02shashlicki'm ready to give up - nim just doesn't have the tools to debug crazy mem problems
18:08:23FromGitter<awr1> microsoft still supports D3D11 intending it as a "less low-level but still fairly low level GPU API"
18:08:36FromGitter<awr1> they've been updating it in tandem with d3d12
18:09:53FromGitter<zacharycarter> Eventually I will try to add dx12 and vulkan to the mix, but I'd rather get support for the last generation apis added first
18:10:47FromGitter<zacharycarter> Doesn't valgrind work with Nim?
18:11:05FromGitter<awr1> yeah but valgrind doesn't work on win32 last i checked
18:11:28FromGitter<awr1> depending on how sophisticated you want to go you might prefer an intermediate library like sokol_gfx
18:11:28FromGitter<zacharycarter> That it does not
18:11:44FromGitter<zacharycarter> We get Dr. Memory or some bullshit
18:11:54krux02zacharycarter: I don't think directX will die out for the next century. Simply because many games depend on it. And people care to support them.
18:12:20FromGitter<zacharycarter> Well not direct but dx11 vs dx12
18:12:23krux02Even when it is officially dead, like Glide3D dead, there will be someone who implements it.
18:12:45FromGitter<zacharycarter> Also, I think the cross platform windowing code is more exciting
18:13:04FromGitter<awr1> meh
18:13:11FromGitter<zacharycarter> Soon I won't need sdl2 or glfw3 for that, just this Nim module
18:13:55*xace quit (Ping timeout: 248 seconds)
18:13:58FromGitter<awr1> i guess, i've done cross-platform windowing (well, on all but MacOS) many times and it's just annoying
18:13:59krux02I don't understand, what is so bad about sdl2 or glfw3? Those are a few of those libraries that actually work very well cross platform.
18:14:09FromGitter<awr1> nobody cares if you bundle SDL2 with your game
18:14:26FromGitter<awr1> if you use it as just a platform layer
18:14:44*xace joined #nim
18:15:03FromGitter<zacharycarter> If you want to make things for the web, like with wasm, they are quite large
18:15:39FromGitter<awr1> emscripten was more or less designed to work with SDL2
18:15:53FromGitter<awr1> but i guess the cool thing nowadays is using clang wasm
18:15:59FromGitter<zacharycarter> It does work but you still have to download sdl2
18:16:37FromGitter<zacharycarter> And users of your library or game have to have it installed
18:16:48krux02I still think the web is not a good platform for games.
18:16:56FromGitter<awr1> i can sympathize with that, although steam literally comes with SDL2
18:17:12FromGitter<zacharycarter> Well it's not a great one, but it still is one
18:17:42krux02yes it is one, but downloading the game every time you want to play it just doesn't sound right to me.
18:18:22disruptekthat's probably the easiest platform idiosynchracy to rectify.
18:18:25krux02Also I don't see it possible yet, to write light weight games for the web. And the web is one of the few platforms, where leightweight actually still matters.
18:18:58krux02you want kilobyte sized executable and stream all the assets.
18:19:14FromGitter<awr1> for me i guess the issue is, "what if i want to make a single-exe game without any fuss (or statically linking SDL2, for that matter)?"
18:19:27shashlickis the GC memory connected with allocShared memory in any way?
18:19:28FromGitter<awr1> so then it might be more ideal to "do everything yourself
18:20:07krux02disruptek, the web is far from the easiest platforms. I would rather think it is one of the hardest platforms to develop for. At least if you have hard performance constraints.
18:20:15FromGitter<zacharycarter> Shashlick: allocShared allocates on the shared heap which the GC doesn't know about
18:20:47disruptekstreaming doesn't get much easier than it is on the web. code, assets, it's all the same.
18:20:58FromGitter<zacharycarter> Of course if you reference gc'd memory in something allocated on the shared heap, that's another story
18:22:33krux02disruptek, sorry that I disagree, but the entire web stack is almost completely useless for games. And yet you have to learn it all, otherwise you won't get anything done.
18:22:38FromGitter<awr1> on the topic of game development and platforms, in the back of my head i sorta have this idea of buying an xbox one and pursuing adding C++/WinRT codegen support to nim so official xbox one games can be produced with nim
18:23:33krux02awr1: Don't you need a dev kit for that?
18:23:41disruptekthat's not my claim. my claim is that streaming an app is pretty well baked into the platform, so it makes a poor example of WHY the web is wrong for games.
18:23:55FromGitter<awr1> not anymore
18:25:07FromGitter<awr1> microsoft put out some updates a few years ago so that bog standard xbox ones can be turned into microsoft sanctioned devkits
18:25:08FromGitter<awr1> https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/devkit-activation
18:25:31*dgreen joined #nim
18:26:16krux02streaming wasn't meant as a reason why the web is bad for games. The web is bad for games, because it is a constantly changing platform, with no performance guarantees at all, a lot of useless technology that you have to learn and then avoid, and it puts a lot of stuff in your way to get control of the hardware.
18:26:34disruptekof course.
18:28:05krux02and streaming is something that games need to implement anyway, no matter if you stream from a disc or a server. The logic is the same.
18:28:16FromGitter<Varriount> krux02: I'm sad that the age of Flash is over. So many great games were made...
18:28:20*jjido joined #nim
18:28:21FromGitter<awr1> i don't know for certain but i'm guessing at this point they're having all xbox one devs use C++/WinRT, even for xbox one exclus
18:28:25krux02the web isn't something that helps here with anything.
18:28:36FromGitter<awr1> Interactive Buddy Nim Remake
18:29:06krux02Varriount: yes, there were some very entertaining flash games.
18:29:07FromGitter<Varriount> awr1: Aw yeeeeaaaahhhh
18:29:19krux02But also flash, it all run so poorly compared to native games.
18:29:44FromGitter<Varriount> Eh, it did well enough with 2d stuff
18:30:14krux02I hope someday the internet will become this amazing place again where diversive people make diversive interesting games, that don't run so poorly as thos flash games did back in the day.
18:30:38FromGitter<Varriount> Did they run poorly for you?
18:30:47krux02yes
18:30:59krux02but I am on Linux, maybe it was because of that.
18:31:01FromGitter<Varriount> I never experienced a slow Flash game.
18:31:09FromGitter<awr1> flash's implementation is weird to me
18:31:27krux02I always got the shitty implementation of flash because adobee didn't care.
18:31:27FromGitter<awr1> actionscript became a ecmascript clone
18:31:37FromGitter<zacharycarter> Flash was terrible
18:31:55FromGitter<zacharycarter> Does no one else have scars from Scaleform?
18:31:56FromGitter<awr1> also a lot of AAA games (used to) use a custom thirdparty GPU-accelerated implementation of flash to power their UIs
18:32:02FromGitter<awr1> lol jinx
18:32:08krux02BTW, that is the reason why flash died. It had poor implementations and the people who maintained the browser could not fix it.
18:32:29krux02awr1: I heared about that.
18:32:36FromGitter<zacharycarter> Well it also had tons of security vulnerabilities
18:32:43krux02but I guess I did not play those games.
18:32:44FromGitter<Varriount> Well, and smart phones and app stores didn't help either
18:32:57FromGitter<zacharycarter> I used Scaleform quite a bit, trust me, it was bad
18:33:10FromGitter<zacharycarter> I used it this year actually
18:33:26FromGitter<zacharycarter> But also a few times previously
18:33:45krux02What I really miss are the flash videos.
18:33:51krux02They were great quality.
18:34:02FromGitter<Varriount> @zacharycarter I always wondered about that - why was it so popular with large studios?
18:34:04krux02youtube was shit, flash videos where the shit
18:34:26FromGitter<Varriount> krux02: Newgrounds and Miniclip
18:34:45krux02yes
18:35:47FromGitter<awr1> yeah but flash + its authorship utility was completely proprietary in a cross-platform landscape, plus the security vulns and the "content restricted to applet thing" and adobe's poor response to the smartphone trend past 2007
18:35:52FromGitter<awr1> all a recipe for disaster
18:36:36FromGitter<awr1> https://www.newgrounds.com/portal/view/28240 greatest quality flash animation of all time
18:36:59FromGitter<zacharycarter> @Varriount probably because there are almost no decent cross platform UI solutions
18:37:29FromGitter<zacharycarter> So flash middleware probably didn't seem so bad
18:37:46FromGitter<awr1> the complete package for the flash creation tool probably seemed convenient
18:38:06FromGitter<awr1> made it easy to design vector graphics
18:38:16FromGitter<awr1> that could scale for a lot of displays
18:38:28FromGitter<awr1> that's why it was probably desirable as a UI solution
18:38:56krux02I think flash would have had a brighter future if Adobe had not bought it.
18:39:24krux02I think at Macromedia people cared for the technology.
18:39:41krux02but that is just speculation.
18:40:18FromGitter<zacharycarter> I think https://github.com/jdryg/vg-renderer is a link I will port to use with the gfx lib I'm working on
18:40:25FromGitter<zacharycarter> Lib*
18:40:42krux02zacharycarter: the best games don't have a UI beyond "Press START to play"
18:40:50FromGitter<zacharycarter> And I'll use that for UI
18:40:59FromGitter<zacharycarter> Heh, that might be true
18:41:28FromGitter<awr1> compare this all to java/jvm, which survived in the non-enterprise space due to: A) minecraft B) runescape and C) android
18:41:53FromGitter<zacharycarter> Or I could throw in the towel on this lib and just go back to using bgfx
18:42:12FromGitter<zacharycarter> But I'm kind of enjoying working on it
18:42:34krux02well if development itself keeps you happy, then that is another thing.
18:42:41krux02But I want to arrive at some point.
18:42:52krux02I don't want to develop forever at something.
18:44:03FromGitter<mratsim> I think Nim is either a forever thing or it will die.
18:44:32FromGitter<mratsim> just like Latin vs English vs SMS :P
18:45:46krux02mratsim: well I can't tell if Nim will live forever.
18:45:52*xace quit (Ping timeout: 245 seconds)
18:46:09FromGitter<awr1> i still kinda wonder why android chose java
18:46:25krux02If it does live forever, I want to remove it's cruft first, because otherwise I will have to get bothered by it for a long time.
18:46:48krux02awr1: it looked good at the time
18:46:52FromGitter<awr1> the best i can come up with is it "made more sense" in 2006 or so and there was more potential for a diverse ISA share for handhelds
18:46:58krux02probably they didn't think too much about it.
18:47:25krux02to me as a software developer it doesn't make sense at all to use Java on mobile devices.
18:47:52krux02A platform where you are very limited in memory: a programming language that usually wastes a lot of memory.
18:47:55kungtotteBut people were already doing it. Nokia made Java a big thing on their early smartphones
18:48:06FromGitter<awr1> but since everything moved to AArch i guess they probably rationalized it as "look, we can JIT to optimize for uarch differences" which i suppose is fair
18:48:15kungtotteThat might also have been part of it, to leverage the experience of existing phone developers
18:48:43krux02jit optimization doesn't fix the memory overhead
18:48:57krux02it just makes it worse
18:49:12krux02because the jvm has to store more stuff
18:49:37krux02kungtotte: I think that is the main reason.
18:49:49FromGitter<awr1> i ain't gonna try to apologize for the jvm lol
18:50:13disruptekproduct differentiation, too.
18:50:33krux02The memory overhead and the lack to be ablet to optimize it is the main reason I moved away from the JVM.
18:51:15FromGitter<zacharycarter> If Java had user defined types it might be viable for 3d game dev
18:52:40FromGitter<zacharycarter> But with almost everything being heap allocated, the GC is too troublesome
18:54:12krux02yes
18:54:13FromGitter<zacharycarter> Although using the ndk on Android sucks a lot harder than using the jdk
18:54:22krux02C# seems to have a shift right now
18:54:41krux02they try to have fewer pointer indirections and heap allocations.
18:54:56krux02but I never did C# and I never really cared about it.
18:56:31FromGitter<zacharycarter> I think the CLR and C# are better than Java
18:56:59FromGitter<zacharycarter> But I still don't love it
18:57:09FromGitter<zetashift> I LOVE F# but just wish the tooling got a bit more love
18:57:29FromGitter<zetashift> also the ecosystem is maze right now with .NET framework, .NET standard/Core and Mono
18:57:59*xace joined #nim
18:59:18FromGitter<mratsim> you can learn lots of thing from the CLR repo, for example this was a very interesting read: https://github.com/dotnet/coreclr/issues/11979
19:00:37FromGitter<zetashift> the things they do with Span<T> are pretty nice
19:01:05FromGitter<zetashift> And JVM is adding value types too right?
19:01:26FromGitter<zacharycarter> They've been saying that for years
19:01:46FromGitter<mratsim> wait what? no way
19:02:05FromGitter<mratsim> I'd rather believe in go generics :D
19:02:19FromGitter<zacharycarter> Haha
19:05:35*Vladar quit (Remote host closed the connection)
19:10:05*stefanos82 quit (Quit: Quitting for now...)
19:11:47lqdev[m]how can I make musl-gcc look in the same include paths as gcc does?
19:17:58rayman22201Believe it or not, Java was originally designed as an embedded language. The reason Oracle bought it from Sun was because it was being used to write software for lots of network equipment in the 90's.
19:26:55rayman22201@lqdev[m] either add the paths by hand with the -I flag, or set the CPATH env variable. But the whole point of MUSL is to not use those headers?
19:28:12lqdev[m]rayman22201: I don't care about the libc headers, I care about the ones other libraries use (eg. `<X11/Xlib.h>`)
19:30:25lqdev[m]problem is, if I pass -L/usr/include to musl-gcc it will also use gcc's libc headers which is not what I want
19:30:34rayman22201It's transitive though. If you want to use X11, you need a version of X11 that is compiled against MUSL. otherwise, even though your code does not depend on libc, the X11 code still does, therefore your code also still does.
19:31:03lqdev[m]crap, I didn't consider that
19:31:15lqdev[m]I guess I'll just compile on ubuntu 16.04 to get an older libc
19:33:22rayman22201transitivity can really bite. Sorry :/
19:34:01lqdev[m]no problem, I'm glad you told me
19:51:17*abm joined #nim
19:56:03*nsf quit (Quit: WeeChat 2.4)
19:58:49*Cthalupa quit (Ping timeout: 244 seconds)
20:08:52*r3c joined #nim
20:17:08*neowinx quit (Remote host closed the connection)
20:43:27*Trustable quit (Remote host closed the connection)
20:54:08dom96https://gist.github.com/dom96/f01932f418e8b82a66a73b76724e2601 :/
21:32:22*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:42:24*adeohluwa joined #nim
21:42:55*adeohluwa quit (Remote host closed the connection)
21:54:16*jjido joined #nim
21:58:46lqdev[m]so many problems with windows, when one thing fails on one machine, ten other things fail on another one
21:59:45lqdev[m]this time I'm getting `gcc.exe: error: CreateProcess: No such file or directory` when building nimterop
21:59:53lqdev[m]toast.exe to be exact…
22:00:01lqdev[m]that exec is a pain
22:00:51shashlickWhat's the stack trace
22:01:20lqdev[m]there is no stack trace
22:02:01shashlickAre you using mingw
22:02:23lqdev[m]yes, regular mingw
22:02:25lqdev[m]not mingw-w64 this time
22:02:33shashlickOk I've not tested with that
22:02:34lqdev[m]version 8.2.0
22:02:50lqdev[m]I'll try installing mingw-w64 and report back
22:04:15*hoijui quit (Ping timeout: 264 seconds)
22:04:56lqdev[m]what was your gcc -v output?
22:05:20lqdev[m]I need that to install the correct version
22:05:52*solitudesf quit (Ping timeout: 245 seconds)
22:07:04shashlickSorry in the road, can you check logs from yesterday
22:07:24lqdev[m]sure
22:18:24*clyybber quit (Quit: WeeChat 2.5)
22:19:38*arecaceae quit (Remote host closed the connection)
22:20:04*arecaceae joined #nim
22:21:28FromGitter<adokitkat> Hello guys. Please can you help me? Is there any way to find out if async socket "proc connect()" has established connection or not? It just returns Future[void] either way...
22:25:19FromGitter<adokitkat> My program crashes when I call "asyncCheck socket.recvLine()" for a socket where "asyncCheck socket.connect(serverAddress, port.Port)" did not established a connection i.e. random IP, but it works when i connect to my server which listens.
22:25:50FromGitter<adokitkat> I tried to catch an exception but it doesnt work.
22:29:39*MD87_ joined #nim
22:29:49*l1x_ joined #nim
22:30:00*r4vi_ joined #nim
22:30:07*odc_ joined #nim
22:32:50*golechwi2 joined #nim
22:34:47lqdev[m]shashlick: I installed the version you had, toast.exe now compiles just fine
22:34:56lqdev[m]I wonder if taudio will
22:35:25shashlickwondering why mingw doesn't work
22:35:39lqdev[m]seems like a bug in their compiler
22:36:06*vqrs joined #nim
22:36:48*Cthalupa joined #nim
22:37:18*vqrs_ quit (*.net *.split)
22:37:18*golechwi1 quit (*.net *.split)
22:37:18*r4vi quit (*.net *.split)
22:37:18*l1x quit (*.net *.split)
22:37:18*odc quit (*.net *.split)
22:37:18*MD87 quit (*.net *.split)
22:37:21*r4vi_ is now known as r4vi
22:37:22*odc_ is now known as odc
22:37:23*l1x_ is now known as l1x
22:37:23*MD87_ is now known as MD87
22:42:32lqdev[m]shashlick: what does that mean? http://ix.io/1Qjb
22:42:38lqdev[m]seems that toast fails for some reason
22:43:49shashlickdo you have #head?
22:44:05lqdev[m]of nimterop?
22:44:11lqdev[m]or ogg?
22:44:15shashlickya
22:44:26shashlickchecking code but not sure about line numbers
22:44:31lqdev[m]I literally just ran nim c -r tests/taudio, so I guess I do
22:44:44*hoijui joined #nim
22:44:49lqdev[m]also this is nimterop #head
22:45:44lqdev[m]I think I know what this is
22:45:57shashlickok basically toast.exe didn't return successfully, see the command line printed earlier and run it standalone
22:45:58lqdev[m]give me one sec
22:47:41lqdev[m]it's probably my fault, I ^C'd out of compilation when nimterop was git pull'ing
22:47:51lqdev[m]I removed the git directories
22:49:18lqdev[m]nope, same thing
22:49:39shashlickrun the toast command standalone
22:49:55lqdev[m]I don't see a command line printed before the stack trace
22:50:09shashlickdo you have cDebug
22:50:17lqdev[m]nope, I'm gonna add that
22:51:15*hoijui quit (Quit: Leaving)
22:51:26lqdev[m]I still don't see any command
22:52:26lqdev[m]there's just `# Importing <path to header file>` and the stack trace right after that
22:53:26shashlicki think toast is crashing for whatever reason so you may want to add an echo cmd in getToast
22:53:26*snifftek quit (Remote host closed the connection)
22:53:40lqdev[m]right
22:53:43shashlickdoes toast -h even work
22:55:23lqdev[m]nope
22:55:33lqdev[m]broken build, I guess?
22:56:16shashlickya, i need to make it a static build since i've been switching between 32 and 64-bit nim/gcc and toast needs some dll which goes missing
22:56:39shashlickprbably cause you switched from mingw to mingw_w64
22:57:23lqdev[m]I'll reinstall
23:00:38lqdev[m]aaaand another 30 minutes spent on building toast.exe, since windows is slow and I'm running in a VM
23:00:52shashlickoh wow
23:02:12lqdev[m]it's not even the fact I'm running the thing on a hard drive, the drive is hardly doing anything
23:02:16lqdev[m]the VM is the bottleneck
23:05:34lqdev[m]wait, I just realized it's my poor internet connection
23:05:54lqdev[m]because downloading treesitter failed.
23:08:10lqdev[m]I really have to call my ISP about this damn speed, I'm fed up with 100kB/s download.
23:20:06r3cwhy after adding proc `=destroy`*(x: var myType) = echo "destroy myType" in the code, the program uses more memoty instead less?
23:20:24r3c*memory
23:24:43shashlickis it possible that a loadLib() symAddr() could change at runtime? my symAddr becomes nil after working for some time
23:28:40*abm quit (Read error: Connection reset by peer)
23:29:47*abm joined #nim
23:35:27*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:46:24*lritter quit (Quit: Leaving)
23:51:52*ng0 quit (Quit: Alexa, when is the end of world?)