00:08:42 | * | nullnullnull joined #nim |
00:19:43 | FromGitter | <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:46 | FromGitter | <alehander42> yes, exactly |
00:32:48 | FromGitter | <alehander42> hm i think |
00:33:05 | FromGitter | <alehander42> btw i write await <fun>(..) where fun is returning Future[void] |
00:33:29 | FromGitter | <alehander42> and nim is like "yielded nil, are you awaiting nil?" |
00:33:37 | FromGitter | <alehander42> i am not sure why its excepting me to discard it |
00:33:39 | FromGitter | <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:23 | FromGitter | <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:56 | rayman22201 | @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:53 | FromGitter | <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:18 | carkh | hi, 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:39 | carkh | nim 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:36 | FromGitter | <gogolxdong> How to get a data structure variable from nim file and update its content and rewrite it in the nim file? |
06:16:18 | carkh | I 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:07 | FromGitter | <mratsim> @carkh, did you run finish.exe? it should have updated your environment variable |
06:49:38 | FromGitter | <mratsim> @zacharycarter it just works (TM) |
06:51:09 | FromGitter | <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:24 | FromGitter | <mratsim> details are here: https://github.com/nim-lang/RFCs/issues/144 |
06:51:53 | FromGitter | <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:44 | carkh | @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:08 | FromGitter | <gogolxdong> It's tricky ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d428df87a151629e101fcb3] |
07:01:46 | FromGitter | <alehander42> rayman22201 |
07:02:14 | FromGitter | <alehander42> i guess the gc can simulate malloc and free for its similar internal "alloc" and "free" |
07:02:26 | FromGitter | <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:44 | solitudesf | carkh, does it build fine with just `nim c`? |
07:10:07 | FromGitter | <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:14 | carkh | nope, but i might be onto something, will report back =) |
07:10:58 | FromGitter | <mratsim> @gogolxdong the nuclear option would be to use "staticExec" and your shell "echo" :P |
07:12:13 | FromGitter | <mratsim> but self modifying source code will probably be quite surprising 6 months from now |
07:13:35 | * | rockcavera joined #nim |
07:17:10 | FromGitter | <alehander42> @mratsim oh nice, so why cant that be used for valgrind |
07:17:57 | FromGitter | <alehander42> hm is it possible |
07:18:02 | FromGitter | <alehander42> that json is slowing down |
07:18:05 | FromGitter | <alehander42> compilation |
07:18:28 | FromGitter | <alehander42> i have a generic function which calls `to` for many types |
07:18:42 | FromGitter | <alehander42> and i wondered for many reasons, why might my speed have slowed down |
07:18:46 | FromGitter | <alehander42> and now i thought of it |
07:19:55 | carkh | aaha! 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:22 | carkh | the trick was to "import zip/zipfiles" at least to get to this point |
07:21:29 | carkh | though when i clone the zip repository and "nimble test" it all passes >< |
07:22:04 | carkh | err no it doesn't |
07:24:09 | * | Cthalupa quit (Ping timeout: 258 seconds) |
07:24:34 | * | Cthalupa joined #nim |
07:30:01 | carkh | yes works fine on linux =( |
07:30:46 | carkh | im' probably missing zlib.h |
07:32:22 | carkh | nope it's in the nim distribution... man it's hard to zip a file with nim =) |
07:34:11 | FromGitter | <alehander42> guys nvm |
07:34:33 | FromGitter | <alehander42> forgot my reading binaries |
07:34:36 | FromGitter | <alehander42> running for a lot of time |
07:34:44 | FromGitter | <alehander42> and literally now takes 2-3 seconds |
07:34:46 | FromGitter | <alehander42> instead of 20 |
07:34:56 | FromGitter | <alehander42> i've blocked my machine cpu and didnt realize it |
07:35:07 | FromGitter | <alehander42> json is fast |
07:35:25 | FromGitter | <alehander42> json compilation |
07:36:30 | FromGitter | <gogolxdong> Indeed, I'm using table in a source file as a database. |
07:38:19 | FromGitter | <gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d4296eb41d5cd61b593078a] |
07:38:38 | FromGitter | <gogolxdong> and helper.nim ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5d4296fe45da450fec858ac9] |
07:41:52 | * | laaron- joined #nim |
07:43:17 | FromGitter | <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:01 | FromGitter | <alehander42> you can do that! |
07:49:11 | FromGitter | <alehander42> write staticExecInline |
07:49:25 | FromGitter | <alehander42> which writes the macro argument repr to a temp nim file |
07:49:58 | FromGitter | <alehander42> and compiles it the way you want to |
07:50:05 | FromGitter | <alehander42> but i dont understand |
07:50:30 | FromGitter | <alehander42> helper returns the result of the compilation now |
07:50:39 | FromGitter | <alehander42> you dont want this: you need to add ./helper |
07:50:43 | FromGitter | <alehander42> or something like this |
07:51:24 | FromGitter | <alehander42> whatever you decide |
07:51:54 | FromGitter | <alehander42> hm which means you can write evaluate |
07:52:33 | FromGitter | <alehander42> evaluate(var b = 10; b + 10) would be a macro which just autocompiles and runs the expr |
07:52:58 | FromGitter | <alehander42> but probably easier to run it in the vm somehow |
07:53:06 | FromGitter | <alehander42> anyway ignore the last 2-3 , not relevant! |
07:53:09 | FromGitter | <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:45 | FromGitter | <mratsim> @alehander42 you can use Valgrind if you use --useMalloc at the same time |
08:22:07 | FromGitter | <alehander42> btw is gprof |
08:22:11 | FromGitter | <alehander42> good for nim stuff |
08:22:34 | FromGitter | <alehander42> i am finally moving a lot of our project to the C backend (from the JavaScript backend) |
08:22:43 | FromGitter | <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:54 | filcuc | Is it possible to have multiple cfg files for a single project? |
08:31:13 | filcuc | the idea is to have multiple cfg for specifying cross compiler paths |
08:34:53 | krux02 | I am not sure if you can specify a config file on the command line, currently it does not look like it. |
08:35:16 | krux02 | but you can create a custom cfg file for a nim root file |
08:36:25 | krux02 | so 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:57 | FromGitter | <mratsim> @alehander42, perf works, Apple Instruments, Intel VTune. I suppose OProfile and gprof would also work |
08:40:18 | FromGitter | <mratsim> compile with debugging symbols like --debugger:native so that you have Nim code for reference |
08:42:34 | filcuc | krux02: ok but i'll have to put my "main" function in a separate common nim file, correct? |
08:48:45 | FromGitter | <alehander42> ok, do i need to pass `-pg` as well |
08:51:11 | krux02 | filcuc, if I understand what you are saying correctly, then yes. |
09:00:12 | FromGitter | <mratsim> @alehander42 what is `-pg`? Never used that |
09:05:34 | * | rockcavera quit (Remote host closed the connection) |
09:07:40 | FromGitter | <gogolxdong> compiles kind of works as the purpose of evaluate except it's transient. |
09:08:38 | FromGitter | <gogolxdong> found `template eval` had been deprecated. |
09:09:49 | FromGitter | <gogolxdong> If we can make compiles to work as an execuation. |
09:09:53 | FromGitter | <alehander42> but mate |
09:10:02 | FromGitter | <alehander42> i told you: you can write your own macro |
09:10:07 | FromGitter | <alehander42> that does the thing that you want to do |
09:10:37 | dom96 | krux02, 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:50 | FromGitter | <alehander42> if its mostly getting output from nim programs |
09:11:48 | FromGitter | <gogolxdong> I'm trying to avoid an additional file. |
09:11:59 | FromGitter | <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:48 | FromGitter | <alehander42> ok, but why do you use a nim file like that |
09:12:51 | FromGitter | <alehander42> its strange! |
09:13:00 | FromGitter | <alehander42> can you describe shortly what are you trying to do |
09:13:50 | * | fjellfras quit (Remote host closed the connection) |
09:14:06 | FromGitter | <alehander42> @krux02 : "but expected one of: <function signature>" |
09:14:14 | * | fjellfras joined #nim |
09:14:20 | FromGitter | <alehander42> is there a flag to make this print the signature location ? |
09:15:22 | FromGitter | <alehander42> the compiler knows it, i want to make it tell it to me instead of me searching manually |
09:16:21 | FromGitter | <gogolxdong> I'm using OrderedTable as a database, with low frequency update, like three or four updates per month. |
09:17:27 | FromGitter | <mratsim> why not just using Nim json module, AFAIK it works at compile-time |
09:18:02 | FromGitter | <mratsim> I don't think marshal works at compile-time though due to streams |
09:18:44 | krux02 | alehander42 I don't think there is a way to print the signature location. |
09:19:16 | FromGitter | <gogolxdong> Let me try. |
09:21:48 | FromGitter | <alehander42> @gogolxdong but are you updating it manually |
09:21:57 | FromGitter | <alehander42> please, use a json file |
09:22:06 | FromGitter | <alehander42> and just generate the table from it |
09:22:20 | FromGitter | <alehander42> a nim file is really not a great way to save any kind of info |
09:22:30 | FromGitter | <alehander42> i mean in a database-like way |
09:22:44 | FromGitter | <alehander42> krux02 do you think it makes sense to add such a way |
09:28:48 | krux02 | yes I do |
09:28:56 | * | JustASlacker joined #nim |
09:29:17 | krux02 | And I actually like reviewing pull requests that try to improve existing parts of the language, such as error messages. |
09:30:21 | FromGitter | <alehander42> well, imo most pr-s do try to improve existing parts of the language |
09:30:26 | FromGitter | <alehander42> but lets not go into that |
09:30:30 | FromGitter | <alehander42> btw while on the topic |
09:30:38 | FromGitter | <alehander42> i have two more ideas about PR-s: |
09:31:42 | FromGitter | <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:51 | FromGitter | <alehander42> but i guess they might be more breaking? |
09:33:13 | * | hoijui joined #nim |
09:33:43 | FromGitter | <gogolxdong> `Error: cannot evaluate at compile time: news` |
09:35:44 | FromGitter | <alehander42> @gogolxdong this is not a good way to do this: you need to not use a nim file |
09:37:06 | FromGitter | <alehander42> its an interesting idea, but much easier is to # load json # change the news field to the right one # save json |
09:38:09 | FromGitter | <alehander42> and then load that json file in api.nim on compile time and generate the table |
09:38:16 | FromGitter | <alehander42> much much easier |
09:38:56 | FromGitter | <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:44 | FromGitter | <gogolxdong> `invalid type for const: JsonNode `, const OrderedTable works. |
10:46:41 | FromGitter | <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:20 | FromGitter | <gogolxdong> doesn't work out unless the whole websocket server works at compile time . |
11:34:52 | FromGitter | <gogolxdong> I think it has to use a regular database. |
11:37:30 | * | dddddd joined #nim |
11:42:40 | lqdev[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:09 | lqdev[m] | and I know this isn't a duplicate type |
11:43:25 | lqdev[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:15 | FromGitter | <Riderfighter> Hello everyone! |
12:05:25 | lqdev[m] | hi, Riderfighter |
12:06:09 | FromGitter | <alehander42> @gogolxdong oh |
12:06:15 | FromGitter | <alehander42> maybe yeah db |
12:06:27 | * | xace quit (Ping timeout: 248 seconds) |
12:07:21 | FromGitter | <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:00 | lqdev[m] | @Riderfighter not working on rod now, today's the first day of lowrezjam and I'm working on a game |
12:09:34 | FromGitter | <Riderfighter> That's awesome, what type of game are you working towards? |
12:10:22 | lqdev[m] | I adopted the factory theme with my team, put simply, the game is gonna be a factory tycoon |
12:10:46 | FromGitter | <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:07 | FromGitter | <mratsim> @lqdev, na it's another {.noSideEffect, gcsafe, locks: 0.} pragma needed for higher order functions |
12:38:39 | FromGitter | <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:27 | krux02 | mratsim: 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:58 | shashlick | has anymore seen tables not work correctly at all on 64-bit |
14:03:03 | shashlick | same code works on 32-bit |
14:03:20 | shashlick | i've added stuff to a table and it still shows up as empty |
14:04:04 | FromGitter | <alehander42> have you init-ed it |
14:04:10 | FromGitter | <alehander42> is it possible you use older nim ? |
14:04:19 | shashlick | this 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:56 | FromGitter | <alehander42> hm if bin/nim is missing, csources should be rebuilt |
14:32:52 | * | laaron quit (Remote host closed the connection) |
14:34:37 | FromGitter | <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:57 | FromGitter | <Riderfighter> !eval echo "test" |
15:01:59 | NimBot | test |
15:02:05 | FromGitter | <Riderfighter> !eval echo ((3 - 26) mod 29) mod 29 |
15:02:07 | NimBot | -23 |
15:02:13 | FromGitter | <Riderfighter> welp that's not right :L |
15:02:32 | * | JustASlacker quit (Ping timeout: 272 seconds) |
15:03:12 | FromGitter | <alehander42> hm |
15:03:18 | FromGitter | <Riderfighter> its supposed to be 6 |
15:03:38 | FromGitter | <alehander42> its intended |
15:03:38 | FromGitter | <Riderfighter> I was just making sure that it wasn't just my laptop being weird with the mod operator |
15:03:40 | FromGitter | <alehander42> as in the docs |
15:03:47 | FromGitter | <alehander42> there are examples like - |
15:05:00 | FromGitter | <alehander42> a bit confusing to me too |
15:05:14 | FromGitter | <alehander42> but it seems that python maybe does the same from math docs |
15:06:09 | FromGitter | <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:06 | FromGitter | <Riderfighter> Well I know why it wouldn't, they aren't the same :) |
15:10:03 | FromGitter | <Riderfighter> ok it seems that the command bc on ubuntu also evaluates "((3 - 26) % 29) % 29" to -23, I'm not delusional |
15:15:25 | FromGitter | <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:24 | FromGitter | <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:10 | FromGitter | <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:37 | FromGitter | <alehander42> its a complicated thing: rem and mod |
15:21:45 | FromGitter | <alehander42> seem often different, try haskell as well |
15:27:12 | FromGitter | <Riderfighter> I'm trying everything I can right now haha |
15:29:01 | * | laaron quit (Remote host closed the connection) |
15:33:33 | FromGitter | <Riderfighter> so I can't actually try haskell, the site to download it is timing out for me |
15:34:27 | FromGitter | <alehander42> you can use online repl-s |
15:34:29 | FromGitter | <alehander42> for many of those |
15:34:52 | Zevv | you can't print the output of an expression in haskel. printing has side effects. |
15:35:01 | Zevv | you can only *calculate* it :) |
15:37:19 | FromGitter | <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:55 | FromGitter | <brentp> is there a cost to using varargs over requiring a seq? |
15:38:33 | * | sz0 quit (Quit: Connection closed for inactivity) |
15:41:09 | FromGitter | <Riderfighter> ok I found a solution to my issue |
15:41:54 | FromGitter | <Riderfighter> the math module contains `floorMod` which behaves exactly like "%" does in python |
15:42:42 | FromGitter | <Riderfighter> !eval import math; floorMod(floorMod((3 - 26), 29), 29) |
15:42:44 | NimBot | Compile failed: /usercode/in.nim(1, 22) Error: expression 'floorMod(floorMod(-23, 29), 29)' is of type 'int' and has to be discarded |
15:42:51 | FromGitter | <Riderfighter> welp |
15:43:10 | FromGitter | <Riderfighter> I forgot echo |
15:43:11 | disruptek | are you sure you understand what modulus is? |
15:43:35 | FromGitter | <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:17 | FromGitter | <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:05 | disruptek | maybe you're confusing the rank of the number with the order of operations; x mod 29 is <= 28. |
15:51:07 | FromGitter | <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:25 | FromGitter | <Riderfighter> It was definitely an order of operations error, I'm just too used to how the python modulo operator works |
15:58:21 | FromGitter | <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:00 | FromGitter | <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:56 | disruptek | what are some good runtime performance profilers for linux? |
16:07:33 | disruptek | it's weird that i have to ask that, right? |
16:07:42 | FromGitter | <mratsim> For my use case: profiling SIMD and parallelism, I'm happy with Intel VTune |
16:07:57 | * | xace joined #nim |
16:08:11 | FromGitter | <mratsim> I want to play with Coz: https://github.com/plasma-umass/coz |
16:08:22 | disruptek | i just need something visual. |
16:08:41 | FromGitter | <mratsim> I to profile library call (like why is Xorg so slow when scrolling) I used OProfile |
16:08:46 | FromGitter | <mratsim> and* |
16:09:13 | FromGitter | <mratsim> Then Intel VTune (or Apple Instruments) are the best I think |
16:09:27 | disruptek | man, i am loving the linux desktop experience. i'd been gone for too long. |
16:09:42 | lqdev[m] | what DE? |
16:10:13 | disruptek | just running it as my development environment. |
16:10:23 | lqdev[m] | aah |
16:10:24 | * | dddw joined #nim |
16:10:37 | disruptek | i took a break for about 10 years to run os x. |
16:10:38 | lqdev[m] | yeah it's way better than windows |
16:10:49 | lqdev[m] | dunno about os x |
16:11:16 | disruptek | i still ran it on servers, etc; i just didn't run a desktop, which changes everything. |
16:11:22 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710161952.png) |
16:11:22 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710161142.png) |
16:11:22 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710162123.png) |
16:11:22 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710162017.png) |
16:11:22 | FromGitter | <mratsim> (https://files.gitter.im/nim-lang/Nim/E0kI/DeepinScreenshot_select-area_20190710162031.png) |
16:11:27 | dddw | !eval for 0..10: echo "test; |
16:11:30 | NimBot | Compile failed: /usercode/in.nim(1, 5) Error: identifier expected, but got '0' |
16:11:32 | FromGitter | <mratsim> example of profiling nimbus |
16:11:39 | FromGitter | <mratsim> with VTune |
16:11:51 | dddw | !eval for i in 0..10: echo "test" |
16:11:54 | NimBot | test↵test↵test↵test↵test↵test↵test↵test↵test↵test↵test |
16:11:59 | * | dddw quit (Remote host closed the connection) |
16:13:49 | disruptek | ugh. 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:04 | FromGitter | <mratsim> It's Python + GTK calling a .so |
16:15:37 | * | xace quit (Ping timeout: 244 seconds) |
16:15:53 | FromGitter | <mratsim> I don't think there is a phone home as the license needs to be on the filesystem |
16:16:18 | disruptek | wow, coz looks really neat. |
16:16:20 | FromGitter | <mratsim> Download through here for a free 1 year license: https://software.intel.com/en-us/system-studio |
16:19:40 | disruptek | coz looks next-generation. |
16:23:27 | FromGitter | <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:41 | shashlick | how do you get the actual storage size of a ref object |
16:35:48 | shashlick | sizeof just returns pointer size |
16:36:15 | lqdev[m] | separate the object and ref object types? |
16:36:28 | lqdev[m] | that's how I did it, at least |
16:37:15 | dom96 | sizeof(obj[])? |
16:38:06 | * | xace joined #nim |
16:38:14 | shashlick | it works! |
16:44:40 | shashlick | how do you convert a template param into a nimnode |
16:44:46 | shashlick | or is that only possible in macros |
16:45:52 | * | xace quit (Ping timeout: 245 seconds) |
16:48:40 | FromGitter | <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:00 | FromGitter | <mratsim> @shashlick, yes only macro converts into NimNode |
16:51:47 | FromGitter | <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:35 | FromGitter | <Riderfighter> Well not based on, but rather has the same sign |
16:52:41 | disruptek | whoa, running coz in production... nifty. 😈 |
16:53:13 | FromGitter | <Riderfighter> what are you working on Divisor? |
16:53:19 | FromGitter | <Riderfighter> not Divisor I mean disruptek |
16:53:31 | FromGitter | <Riderfighter> whoops had that copied from my intense research session :P |
16:53:50 | disruptek | https://www.youtube.com/watch?v=jE0V-p1odPg |
16:58:17 | shashlick | @brentp nice work! |
16:58:29 | shashlick | does 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:59 | FromGitter | <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:02 | krux02 | mratsim: what type of bug are you hunting? |
17:31:27 | FromGitter | <mratsim> It's shashlick who's hunting |
17:31:47 | FromGitter | <mratsim> Right now I'm trying to explore parallel solutions for Nim |
17:31:55 | FromGitter | <mratsim> not trying to, actually exploring* |
17:32:27 | FromGitter | <mratsim> this is sad though :/ https://github.com/nim-lang/Nim/issues/11844 |
17:36:12 | FromGitter | <zacharycarter> is there a way to init a seq of ref objects without iterating over the sequence? |
17:36:50 | shashlick | @krux02 - i have a crash in feud, the text editor i'm working on |
17:37:06 | shashlick | with --d:useGcAssert, it asserts on a new(T) call |
17:37:09 | * | JustASlacker joined #nim |
17:37:30 | shashlick | not new(T), but after successful new(T), when I take obj.field = xyz |
17:38:03 | shashlick | so somehow i'm trashing the heap |
17:38:32 | shashlick | if you have some time, i'd really appreciate some eyes |
17:39:52 | clyybber | mratsim: I can't reproduce that issue |
17:40:05 | clyybber | Damn, Coz is really amazing |
17:40:22 | FromGitter | <mratsim> and the header is so small |
17:40:23 | disruptek | i haven't made it work yet. :-/ |
17:40:44 | FromGitter | <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:11 | FromGitter | <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:46 | FromGitter | <zacharycarter> I didn't mean init a seq I meant init the objects the sequence holds |
17:42:15 | clyybber | mratsim: Oh, I missed --threads |
17:42:39 | FromGitter | <mratsim> there is no way, @zacharycarter but you can use newSeqWith from sequtils |
17:43:03 | FromGitter | <zacharycarter> okay thanks |
17:47:50 | FromDiscord_ | <Generic> is it possible to generate ids without holes with macrocache? |
17:49:39 | FromDiscord_ | <Generic> I previously used a compiletime table which associates a type with an id |
17:50:13 | FromDiscord_ | <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:07 | FromGitter | <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:18 | FromGitter | <zacharycarter> only on windows / d3d11 right now - but it's a start |
17:54:52 | * | xace joined #nim |
17:55:07 | FromGitter | <zacharycarter> https://github.com/zacharycarter/z |
18:00:57 | FromGitter | <zetashift> why d3d11? |
18:01:30 | FromGitter | <zacharycarter> well - I'll add opengl 3, metal, gles, etc... |
18:02:14 | lqdev[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:21 | lqdev[m] | WHY_ARE_YOU_SCREAMING? |
18:02:57 | FromGitter | <zacharycarter> haha |
18:03:05 | FromGitter | <zacharycarter> just at you ;P |
18:03:29 | FromGitter | <zacharycarter> I'm on windows so I'm starting with d3d11 - I think it makes sense |
18:04:40 | FromGitter | <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:02 | shashlick | i'm ready to give up - nim just doesn't have the tools to debug crazy mem problems |
18:08:23 | FromGitter | <awr1> microsoft still supports D3D11 intending it as a "less low-level but still fairly low level GPU API" |
18:08:36 | FromGitter | <awr1> they've been updating it in tandem with d3d12 |
18:09:53 | FromGitter | <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:47 | FromGitter | <zacharycarter> Doesn't valgrind work with Nim? |
18:11:05 | FromGitter | <awr1> yeah but valgrind doesn't work on win32 last i checked |
18:11:28 | FromGitter | <awr1> depending on how sophisticated you want to go you might prefer an intermediate library like sokol_gfx |
18:11:28 | FromGitter | <zacharycarter> That it does not |
18:11:44 | FromGitter | <zacharycarter> We get Dr. Memory or some bullshit |
18:11:54 | krux02 | zacharycarter: 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:20 | FromGitter | <zacharycarter> Well not direct but dx11 vs dx12 |
18:12:23 | krux02 | Even when it is officially dead, like Glide3D dead, there will be someone who implements it. |
18:12:45 | FromGitter | <zacharycarter> Also, I think the cross platform windowing code is more exciting |
18:13:04 | FromGitter | <awr1> meh |
18:13:11 | FromGitter | <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:58 | FromGitter | <awr1> i guess, i've done cross-platform windowing (well, on all but MacOS) many times and it's just annoying |
18:13:59 | krux02 | I 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:09 | FromGitter | <awr1> nobody cares if you bundle SDL2 with your game |
18:14:26 | FromGitter | <awr1> if you use it as just a platform layer |
18:14:44 | * | xace joined #nim |
18:15:03 | FromGitter | <zacharycarter> If you want to make things for the web, like with wasm, they are quite large |
18:15:39 | FromGitter | <awr1> emscripten was more or less designed to work with SDL2 |
18:15:53 | FromGitter | <awr1> but i guess the cool thing nowadays is using clang wasm |
18:15:59 | FromGitter | <zacharycarter> It does work but you still have to download sdl2 |
18:16:37 | FromGitter | <zacharycarter> And users of your library or game have to have it installed |
18:16:48 | krux02 | I still think the web is not a good platform for games. |
18:16:56 | FromGitter | <awr1> i can sympathize with that, although steam literally comes with SDL2 |
18:17:12 | FromGitter | <zacharycarter> Well it's not a great one, but it still is one |
18:17:42 | krux02 | yes it is one, but downloading the game every time you want to play it just doesn't sound right to me. |
18:18:22 | disruptek | that's probably the easiest platform idiosynchracy to rectify. |
18:18:25 | krux02 | Also 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:58 | krux02 | you want kilobyte sized executable and stream all the assets. |
18:19:14 | FromGitter | <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:27 | shashlick | is the GC memory connected with allocShared memory in any way? |
18:19:28 | FromGitter | <awr1> so then it might be more ideal to "do everything yourself |
18:20:07 | krux02 | disruptek, 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:15 | FromGitter | <zacharycarter> Shashlick: allocShared allocates on the shared heap which the GC doesn't know about |
18:20:47 | disruptek | streaming doesn't get much easier than it is on the web. code, assets, it's all the same. |
18:20:58 | FromGitter | <zacharycarter> Of course if you reference gc'd memory in something allocated on the shared heap, that's another story |
18:22:33 | krux02 | disruptek, 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:38 | FromGitter | <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:33 | krux02 | awr1: Don't you need a dev kit for that? |
18:23:41 | disruptek | that'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:55 | FromGitter | <awr1> not anymore |
18:25:07 | FromGitter | <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:08 | FromGitter | <awr1> https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/devkit-activation |
18:25:31 | * | dgreen joined #nim |
18:26:16 | krux02 | streaming 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:34 | disruptek | of course. |
18:28:05 | krux02 | and 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:16 | FromGitter | <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:21 | FromGitter | <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:25 | krux02 | the web isn't something that helps here with anything. |
18:28:36 | FromGitter | <awr1> Interactive Buddy Nim Remake |
18:29:06 | krux02 | Varriount: yes, there were some very entertaining flash games. |
18:29:07 | FromGitter | <Varriount> awr1: Aw yeeeeaaaahhhh |
18:29:19 | krux02 | But also flash, it all run so poorly compared to native games. |
18:29:44 | FromGitter | <Varriount> Eh, it did well enough with 2d stuff |
18:30:14 | krux02 | I 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:38 | FromGitter | <Varriount> Did they run poorly for you? |
18:30:47 | krux02 | yes |
18:30:59 | krux02 | but I am on Linux, maybe it was because of that. |
18:31:01 | FromGitter | <Varriount> I never experienced a slow Flash game. |
18:31:09 | FromGitter | <awr1> flash's implementation is weird to me |
18:31:27 | krux02 | I always got the shitty implementation of flash because adobee didn't care. |
18:31:27 | FromGitter | <awr1> actionscript became a ecmascript clone |
18:31:37 | FromGitter | <zacharycarter> Flash was terrible |
18:31:55 | FromGitter | <zacharycarter> Does no one else have scars from Scaleform? |
18:31:56 | FromGitter | <awr1> also a lot of AAA games (used to) use a custom thirdparty GPU-accelerated implementation of flash to power their UIs |
18:32:02 | FromGitter | <awr1> lol jinx |
18:32:08 | krux02 | BTW, that is the reason why flash died. It had poor implementations and the people who maintained the browser could not fix it. |
18:32:29 | krux02 | awr1: I heared about that. |
18:32:36 | FromGitter | <zacharycarter> Well it also had tons of security vulnerabilities |
18:32:43 | krux02 | but I guess I did not play those games. |
18:32:44 | FromGitter | <Varriount> Well, and smart phones and app stores didn't help either |
18:32:57 | FromGitter | <zacharycarter> I used Scaleform quite a bit, trust me, it was bad |
18:33:10 | FromGitter | <zacharycarter> I used it this year actually |
18:33:26 | FromGitter | <zacharycarter> But also a few times previously |
18:33:45 | krux02 | What I really miss are the flash videos. |
18:33:51 | krux02 | They were great quality. |
18:34:02 | FromGitter | <Varriount> @zacharycarter I always wondered about that - why was it so popular with large studios? |
18:34:04 | krux02 | youtube was shit, flash videos where the shit |
18:34:26 | FromGitter | <Varriount> krux02: Newgrounds and Miniclip |
18:34:45 | krux02 | yes |
18:35:47 | FromGitter | <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:52 | FromGitter | <awr1> all a recipe for disaster |
18:36:36 | FromGitter | <awr1> https://www.newgrounds.com/portal/view/28240 greatest quality flash animation of all time |
18:36:59 | FromGitter | <zacharycarter> @Varriount probably because there are almost no decent cross platform UI solutions |
18:37:29 | FromGitter | <zacharycarter> So flash middleware probably didn't seem so bad |
18:37:46 | FromGitter | <awr1> the complete package for the flash creation tool probably seemed convenient |
18:38:06 | FromGitter | <awr1> made it easy to design vector graphics |
18:38:16 | FromGitter | <awr1> that could scale for a lot of displays |
18:38:28 | FromGitter | <awr1> that's why it was probably desirable as a UI solution |
18:38:56 | krux02 | I think flash would have had a brighter future if Adobe had not bought it. |
18:39:24 | krux02 | I think at Macromedia people cared for the technology. |
18:39:41 | krux02 | but that is just speculation. |
18:40:18 | FromGitter | <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:25 | FromGitter | <zacharycarter> Lib* |
18:40:42 | krux02 | zacharycarter: the best games don't have a UI beyond "Press START to play" |
18:40:50 | FromGitter | <zacharycarter> And I'll use that for UI |
18:40:59 | FromGitter | <zacharycarter> Heh, that might be true |
18:41:28 | FromGitter | <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:53 | FromGitter | <zacharycarter> Or I could throw in the towel on this lib and just go back to using bgfx |
18:42:12 | FromGitter | <zacharycarter> But I'm kind of enjoying working on it |
18:42:34 | krux02 | well if development itself keeps you happy, then that is another thing. |
18:42:41 | krux02 | But I want to arrive at some point. |
18:42:52 | krux02 | I don't want to develop forever at something. |
18:44:03 | FromGitter | <mratsim> I think Nim is either a forever thing or it will die. |
18:44:32 | FromGitter | <mratsim> just like Latin vs English vs SMS :P |
18:45:46 | krux02 | mratsim: well I can't tell if Nim will live forever. |
18:45:52 | * | xace quit (Ping timeout: 245 seconds) |
18:46:09 | FromGitter | <awr1> i still kinda wonder why android chose java |
18:46:25 | krux02 | If 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:48 | krux02 | awr1: it looked good at the time |
18:46:52 | FromGitter | <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:58 | krux02 | probably they didn't think too much about it. |
18:47:25 | krux02 | to me as a software developer it doesn't make sense at all to use Java on mobile devices. |
18:47:52 | krux02 | A platform where you are very limited in memory: a programming language that usually wastes a lot of memory. |
18:47:55 | kungtotte | But people were already doing it. Nokia made Java a big thing on their early smartphones |
18:48:06 | FromGitter | <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:15 | kungtotte | That might also have been part of it, to leverage the experience of existing phone developers |
18:48:43 | krux02 | jit optimization doesn't fix the memory overhead |
18:48:57 | krux02 | it just makes it worse |
18:49:12 | krux02 | because the jvm has to store more stuff |
18:49:37 | krux02 | kungtotte: I think that is the main reason. |
18:49:49 | FromGitter | <awr1> i ain't gonna try to apologize for the jvm lol |
18:50:13 | disruptek | product differentiation, too. |
18:50:33 | krux02 | The memory overhead and the lack to be ablet to optimize it is the main reason I moved away from the JVM. |
18:51:15 | FromGitter | <zacharycarter> If Java had user defined types it might be viable for 3d game dev |
18:52:40 | FromGitter | <zacharycarter> But with almost everything being heap allocated, the GC is too troublesome |
18:54:12 | krux02 | yes |
18:54:13 | FromGitter | <zacharycarter> Although using the ndk on Android sucks a lot harder than using the jdk |
18:54:22 | krux02 | C# seems to have a shift right now |
18:54:41 | krux02 | they try to have fewer pointer indirections and heap allocations. |
18:54:56 | krux02 | but I never did C# and I never really cared about it. |
18:56:31 | FromGitter | <zacharycarter> I think the CLR and C# are better than Java |
18:56:59 | FromGitter | <zacharycarter> But I still don't love it |
18:57:09 | FromGitter | <zetashift> I LOVE F# but just wish the tooling got a bit more love |
18:57:29 | FromGitter | <zetashift> also the ecosystem is maze right now with .NET framework, .NET standard/Core and Mono |
18:57:59 | * | xace joined #nim |
18:59:18 | FromGitter | <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:37 | FromGitter | <zetashift> the things they do with Span<T> are pretty nice |
19:01:05 | FromGitter | <zetashift> And JVM is adding value types too right? |
19:01:26 | FromGitter | <zacharycarter> They've been saying that for years |
19:01:46 | FromGitter | <mratsim> wait what? no way |
19:02:05 | FromGitter | <mratsim> I'd rather believe in go generics :D |
19:02:19 | FromGitter | <zacharycarter> Haha |
19:05:35 | * | Vladar quit (Remote host closed the connection) |
19:10:05 | * | stefanos82 quit (Quit: Quitting for now...) |
19:11:47 | lqdev[m] | how can I make musl-gcc look in the same include paths as gcc does? |
19:17:58 | rayman22201 | Believe 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:55 | rayman22201 | @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:12 | lqdev[m] | rayman22201: I don't care about the libc headers, I care about the ones other libraries use (eg. `<X11/Xlib.h>`) |
19:30:25 | lqdev[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:34 | rayman22201 | It'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:03 | lqdev[m] | crap, I didn't consider that |
19:31:15 | lqdev[m] | I guess I'll just compile on ubuntu 16.04 to get an older libc |
19:33:22 | rayman22201 | transitivity can really bite. Sorry :/ |
19:34:01 | lqdev[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:08 | dom96 | https://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:46 | lqdev[m] | so many problems with windows, when one thing fails on one machine, ten other things fail on another one |
21:59:45 | lqdev[m] | this time I'm getting `gcc.exe: error: CreateProcess: No such file or directory` when building nimterop |
21:59:53 | lqdev[m] | toast.exe to be exact… |
22:00:01 | lqdev[m] | that exec is a pain |
22:00:51 | shashlick | What's the stack trace |
22:01:20 | lqdev[m] | there is no stack trace |
22:02:01 | shashlick | Are you using mingw |
22:02:23 | lqdev[m] | yes, regular mingw |
22:02:25 | lqdev[m] | not mingw-w64 this time |
22:02:33 | shashlick | Ok I've not tested with that |
22:02:34 | lqdev[m] | version 8.2.0 |
22:02:50 | lqdev[m] | I'll try installing mingw-w64 and report back |
22:04:15 | * | hoijui quit (Ping timeout: 264 seconds) |
22:04:56 | lqdev[m] | what was your gcc -v output? |
22:05:20 | lqdev[m] | I need that to install the correct version |
22:05:52 | * | solitudesf quit (Ping timeout: 245 seconds) |
22:07:04 | shashlick | Sorry in the road, can you check logs from yesterday |
22:07:24 | lqdev[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:28 | FromGitter | <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:19 | FromGitter | <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:50 | FromGitter | <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:47 | lqdev[m] | shashlick: I installed the version you had, toast.exe now compiles just fine |
22:34:56 | lqdev[m] | I wonder if taudio will |
22:35:25 | shashlick | wondering why mingw doesn't work |
22:35:39 | lqdev[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:32 | lqdev[m] | shashlick: what does that mean? http://ix.io/1Qjb |
22:42:38 | lqdev[m] | seems that toast fails for some reason |
22:43:49 | shashlick | do you have #head? |
22:44:05 | lqdev[m] | of nimterop? |
22:44:11 | lqdev[m] | or ogg? |
22:44:15 | shashlick | ya |
22:44:26 | shashlick | checking code but not sure about line numbers |
22:44:31 | lqdev[m] | I literally just ran nim c -r tests/taudio, so I guess I do |
22:44:44 | * | hoijui joined #nim |
22:44:49 | lqdev[m] | also this is nimterop #head |
22:45:44 | lqdev[m] | I think I know what this is |
22:45:57 | shashlick | ok basically toast.exe didn't return successfully, see the command line printed earlier and run it standalone |
22:45:58 | lqdev[m] | give me one sec |
22:47:41 | lqdev[m] | it's probably my fault, I ^C'd out of compilation when nimterop was git pull'ing |
22:47:51 | lqdev[m] | I removed the git directories |
22:49:18 | lqdev[m] | nope, same thing |
22:49:39 | shashlick | run the toast command standalone |
22:49:55 | lqdev[m] | I don't see a command line printed before the stack trace |
22:50:09 | shashlick | do you have cDebug |
22:50:17 | lqdev[m] | nope, I'm gonna add that |
22:51:15 | * | hoijui quit (Quit: Leaving) |
22:51:26 | lqdev[m] | I still don't see any command |
22:52:26 | lqdev[m] | there's just `# Importing <path to header file>` and the stack trace right after that |
22:53:26 | shashlick | i 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:40 | lqdev[m] | right |
22:53:43 | shashlick | does toast -h even work |
22:55:23 | lqdev[m] | nope |
22:55:33 | lqdev[m] | broken build, I guess? |
22:56:16 | shashlick | ya, 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:39 | shashlick | prbably cause you switched from mingw to mingw_w64 |
22:57:23 | lqdev[m] | I'll reinstall |
23:00:38 | lqdev[m] | aaaand another 30 minutes spent on building toast.exe, since windows is slow and I'm running in a VM |
23:00:52 | shashlick | oh wow |
23:02:12 | lqdev[m] | it's not even the fact I'm running the thing on a hard drive, the drive is hardly doing anything |
23:02:16 | lqdev[m] | the VM is the bottleneck |
23:05:34 | lqdev[m] | wait, I just realized it's my poor internet connection |
23:05:54 | lqdev[m] | because downloading treesitter failed. |
23:08:10 | lqdev[m] | I really have to call my ISP about this damn speed, I'm fed up with 100kB/s download. |
23:20:06 | r3c | why after adding proc `=destroy`*(x: var myType) = echo "destroy myType" in the code, the program uses more memoty instead less? |
23:20:24 | r3c | *memory |
23:24:43 | shashlick | is 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?) |