00:00:30 | * | rockcavera quit (Remote host closed the connection) |
00:00:55 | * | rockcavera joined #nim |
00:00:55 | * | rockcavera quit (Changing host) |
00:00:55 | * | rockcavera joined #nim |
00:03:32 | Pyautogui | Question: The playground is not working for me. Did I miss something? It's showing a "Cloudflare Always Online snapshot", while saying it's offline. |
00:03:51 | FromDiscord | <Elegantbeef> Seems it's having troubles atm |
00:03:56 | FromDiscord | <Elegantbeef> Pmunch you around?! |
00:05:13 | FromDiscord | <Elegantbeef> Anyone have something they want to submit to TMWN? Last call! |
00:05:24 | FromDiscord | <Elegantbeef> (TMWN = This Month With Nim) |
00:53:20 | FromDiscord | <Jakes1403> What's that? |
00:53:49 | Pyautogui | A blog series, I think: https://nim-lang.org/blog.html. |
00:56:56 | FromDiscord | <Jakes1403> Oh cool |
00:57:33 | FromDiscord | <Jakes1403> If I had something finished I would put it out. Does a closed source steam game count? |
00:58:45 | Pyautogui | https://www.goodboygalaxy.com/ is closed source, and I think it got a place in August. |
00:59:33 | kinkinkijkin | if i had anything nearing production-readiness i would submit it |
01:00:33 | FromDiscord | <Elegantbeef> Yea closed source doesnt really matter it's just to showcase libraries,blogs, projects that use nim due to a forum post sometime last year |
01:02:24 | FromDiscord | <Jakes1403> Maybe next month I will try lol. My game is called Indirection, it has a store page on Steam. Still in the process of rewriting it in Nim |
01:02:43 | FromDiscord | <impbox [ftsf]> yay more nim games |
01:02:59 | FromDiscord | <Elegantbeef> Yay more nim users i've evangelized 😛 |
01:03:15 | Pyautogui | Agreed! I loved the demo for GoodBoy Galazy. |
01:03:15 | FromDiscord | <Jakes1403> ElegantBeef actually got me into Nim |
01:03:48 | kinkinkijkin | im writing a nim game engine, occasionally |
01:03:59 | FromDiscord | <Elegantbeef> arent we all |
01:04:34 | FromDiscord | <Jakes1403> I'm using Godot atm.↵Used to make my own engines but wanted to focus more on actually having something to release |
01:04:50 | FromDiscord | <Jakes1403> With C++ of all things |
01:05:07 | kinkinkijkin | im also currently involved in a project making a demotool |
01:05:21 | kinkinkijkin | as in im heading the project and should have my ide open but im playing minecraft instead |
01:05:45 | Pyautogui | That should be a meme. 100%. |
01:06:19 | FromDiscord | <Jakes1403> Nim has definitely helped me increase the speed that my low level stuff gets made |
01:07:31 | kinkinkijkin | this is really funny because it's designed firstly as a tooling and systems language, and most of what i do with it is tooling |
01:07:35 | kinkinkijkin | afair |
01:08:58 | FromDiscord | <treeform> @juan_carlos Hey I am trying to run your benchmarks vs puppy, but I am getting this error: `undeclared identifier: 'SslError'`. We have done a ton of changes to puppy and I want to see if it will pass your tests now. |
01:11:36 | FromDiscord | <juan_carlos> What, which benchmark |
01:12:20 | FromDiscord | <treeform> harpoon's ones |
01:14:18 | FromDiscord | <treeform> Its defined here 2 years ago: https://github.com/nim-lang/Nim/blame/0d3af5454b66dfe4a8a7017030708a890207c658/lib/pure/net.nim#L110 |
01:14:24 | FromDiscord | <juan_carlos> Are they annoying?, I can delete it, I did not remember I pushed that. |
01:14:25 | FromDiscord | <treeform> I don't get how its not working |
01:14:58 | FromDiscord | <treeform> you have import std/net which should give SslError |
01:15:05 | FromDiscord | <treeform> but some how nim just forgets about it? |
01:15:08 | FromDiscord | <juan_carlos> That was done during early dev as tinkering with code. |
01:16:30 | FromDiscord | <treeform> do the benchmarks run for you? |
01:17:04 | FromDiscord | <juan_carlos> I see it in devel https://github.com/nim-lang/Nim/blob/devel/lib/pure/net.nim#L110 |
01:17:23 | FromDiscord | <treeform> oh I think I just needed to add --d:ssl sorry |
01:17:40 | FromDiscord | <juan_carlos> No idea, have you `-d:ssl` ?. |
01:19:06 | FromDiscord | <juan_carlos> Send PR deleting the bench if you want, I do not care, I just made to tinker and to learn benchy. |
01:21:44 | FromDiscord | <treeform> I just noticed you used puppy and it gave you errors. |
01:21:51 | FromDiscord | <treeform> We have fixed puppy so your benchmarks now run fine. |
01:22:05 | FromDiscord | <treeform> puppy is the slowest though 😦 |
01:25:48 | FromDiscord | <juan_carlos> Good that is not a bug in Nim. puppy is better. |
01:31:53 | * | neurocyte01328 joined #nim |
01:31:53 | * | neurocyte01328 quit (Changing host) |
01:31:53 | * | neurocyte01328 joined #nim |
01:33:47 | * | neurocyte0132 quit (Ping timeout: 240 seconds) |
01:33:47 | * | neurocyte01328 is now known as neurocyte0132 |
01:37:34 | FromDiscord | <statvoltron> sent a long message, see http://ix.io/3AsV |
01:40:52 | FromDiscord | <Elegantbeef> Why does it matter that treesitter doesnt run on JS? Arent you just going to be outputting JS, or do you want to embed the compiler into browser? |
01:44:17 | FromDiscord | <statvoltron> I'm writing an interpreter and I'd like the interpreter to run in the browser so I need the parser to run in the browser as well. |
01:44:51 | FromDiscord | <statvoltron> Its just a simple sort of calculator language |
01:46:41 | FromDiscord | <Elegantbeef> `std/jsffi` and `std/asyncjs` will help you there, though i'd probably say the easiest thing is to build it for wasm and write some JS interop |
01:46:41 | * | Pyautogui quit (Ping timeout: 252 seconds) |
01:48:52 | FromDiscord | <acek7> how is everyone? |
01:50:14 | FromDiscord | <statvoltron> I'm a bit confused. Right now I am building the tree-sitter grammar for wasm. The trick now is figuring out to use that wasm grammar from nim. I was trying to write some js interop and then call that js from nim using `{.importc.}` but I'm tripped up by the libraries use of async. Is there a better way to call wasm from nim? |
01:51:19 | FromDiscord | <Elegantbeef> I've never build for wasm but if you build the nim binary and the treesitter library for wasm(assumiiing it can) it should work without any changing afaik |
01:51:30 | FromDiscord | <Elegantbeef> I could be wrong in this assumption |
01:59:48 | FromDiscord | <Elegantbeef> Looking into it more idk if what i said is possible with treesitter, so i'll just go into the shush corner |
02:03:28 | FromDiscord | <statvoltron> I appreciate the help anyway. I have very little idea what I'm doing here. Perhaps to clarify a bit, tree-sitter compiles a grammar to c which can either then be used in c or compiled to wasm. I'm trying to implement the interpreter for the language in nim. Right now in nim I can use `nimtreesitter` (https://github.com/genotrance/nimtreesitter) to use the c version of my grammar in nim. But if I js compile the resulting nim libr |
02:05:17 | FromDiscord | <Elegantbeef> Yea i dont know much about wasm, so my idea would be to compiler the nim code as wasm aswell, but dont know if that'd make it usable |
02:06:06 | FromDiscord | <Elegantbeef> Given that you can use sdl2/opengl with wasm i figure it's possible |
02:12:16 | FromDiscord | <statvoltron> I'll give it a shot, compiling `nlvm` now. I guess to generalize the question a bit, let's say you were building some library in nim that uses some external c library. How would you go about compiling that thing for the web? |
02:14:45 | FromDiscord | <Elegantbeef> I guess this would be how https://emscripten.org/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html#implement-a-c-api-in-javascript |
02:14:59 | FromDiscord | <Elegantbeef> Like i said i havent done WASM so hopefully someone with a brain comes into answer this |
02:26:30 | FromDiscord | <Jakes1403> In speaking of that, is Nim appropriate for programming language development? |
02:27:01 | FromDiscord | <Jakes1403> I haven't heard of many projects that use Nim for that, so not sure |
02:34:30 | * | Guest6586 joined #nim |
02:34:40 | * | arkurious quit (Quit: Leaving) |
02:35:15 | * | Guest6586 quit (Client Quit) |
02:44:09 | FromDiscord | <Elegantbeef> I'd say so https://gist.github.com/haxscramper/3562fa8fee4726d7a30a013a37977df6 |
02:44:39 | FromDiscord | <Elegantbeef> It's self hosted on top of it so \:P |
03:22:07 | * | Pyautogui joined #nim |
03:31:35 | FromDiscord | <Gumber> In reply to @Jakes1403 "In speaking of that,": there's a #langdev community channel |
03:53:07 | * | rockcavera quit (Remote host closed the connection) |
04:06:01 | * | supakeen quit (Quit: WeeChat 3.3) |
04:06:31 | * | supakeen joined #nim |
04:13:50 | FromDiscord | <NullCode> is it possible to create nested `proc`s |
04:14:02 | FromDiscord | <NullCode> like nested `def func()` in python |
04:14:17 | FromDiscord | <NullCode> just to have a local func |
04:14:22 | FromDiscord | <NullCode> (edit) "func" => "proc" |
04:14:25 | FromDiscord | <NullCode> or is that useless |
04:16:32 | FromDiscord | <Elegantbeef> You can |
04:19:37 | * | Pyautogui quit (Ping timeout: 250 seconds) |
06:04:29 | * | Onionhammer1 joined #nim |
06:05:21 | * | dom96_ joined #nim |
06:05:22 | * | flynn joined #nim |
06:05:42 | * | lucerne9 joined #nim |
06:05:51 | * | Mister_Magister_ joined #nim |
06:06:14 | * | koltrast_ joined #nim |
06:09:08 | * | mst_ joined #nim |
06:11:24 | * | Zevv_ joined #nim |
06:11:44 | * | def-- joined #nim |
06:13:10 | * | redj_ joined #nim |
06:14:18 | * | def- quit (*.net *.split) |
06:14:18 | * | dom96 quit (*.net *.split) |
06:14:18 | * | Zevv quit (*.net *.split) |
06:14:18 | * | Mister_Magister quit (*.net *.split) |
06:14:18 | * | Onionhammer quit (*.net *.split) |
06:14:18 | * | flynn1 quit (*.net *.split) |
06:14:18 | * | lucerne quit (*.net *.split) |
06:14:18 | * | koltrast quit (*.net *.split) |
06:14:18 | * | redj quit (*.net *.split) |
06:14:18 | * | mst quit (*.net *.split) |
06:14:18 | * | cornfeedhobo quit (*.net *.split) |
06:14:19 | * | def-- is now known as def- |
06:14:19 | * | Mister_Magister_ is now known as Mister_Magister |
06:14:19 | * | Onionhammer1 is now known as Onionhammer |
06:14:19 | * | lucerne9 is now known as lucerne |
06:21:39 | * | cornfeedhobo joined #nim |
06:26:06 | * | Gustavo6046 quit (Quit: ZNC 1.8.2 - https://znc.in) |
06:26:21 | * | Gustavo6046 joined #nim |
06:31:53 | FromDiscord | <impbox [ftsf]> and it's not useless |
06:37:04 | FromDiscord | <Rika> its somewhat useful |
06:45:26 | * | PMunch joined #nim |
07:16:40 | * | Vladar joined #nim |
07:22:15 | * | NimBot joined #nim |
07:23:45 | * | Vladar_ joined #nim |
07:25:39 | * | Vladar_ quit (Client Quit) |
07:26:19 | * | nixfreak_nim[m]1 joined #nim |
07:27:02 | * | Vladar quit (Ping timeout: 252 seconds) |
07:27:02 | * | nixfreak_nim[m] quit (Ping timeout: 252 seconds) |
07:30:17 | * | neurocyte0132 quit (Ping timeout: 250 seconds) |
07:34:06 | * | jjido joined #nim |
07:34:42 | * | mal``` quit (Ping timeout: 252 seconds) |
07:35:10 | * | mal`` joined #nim |
07:45:20 | * | redj_ quit (Ping timeout: 250 seconds) |
07:45:43 | * | redj joined #nim |
08:17:12 | * | max22- joined #nim |
08:23:35 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
08:25:52 | * | pch_ joined #nim |
08:26:30 | * | kinkinkijkin quit (Remote host closed the connection) |
08:42:29 | * | lain quit (Ping timeout: 252 seconds) |
08:42:29 | * | jfinkhaeuser quit (Ping timeout: 252 seconds) |
08:42:40 | * | jfinkhaeuser joined #nim |
08:43:17 | * | lain joined #nim |
08:43:28 | * | GreaseMonkey quit (Read error: Connection reset by peer) |
08:44:35 | * | greaser|q joined #nim |
09:05:54 | * | pch__ joined #nim |
09:07:40 | * | redj quit (Ping timeout: 252 seconds) |
09:10:04 | * | redj joined #nim |
09:14:39 | * | pch_ quit (Ping timeout: 252 seconds) |
09:15:51 | * | neurocyte0132 joined #nim |
09:15:51 | * | neurocyte0132 quit (Changing host) |
09:15:51 | * | neurocyte0132 joined #nim |
09:26:29 | FromDiscord | <dom96> Hey PMunch, is there anything we can do to make the playground more reliable? It feels like it's down quite often :/ |
09:26:42 | PMunch | Is it down again? |
09:27:47 | FromDiscord | <dom96> yes |
09:28:06 | FromDiscord | <dom96> Pyautogui reported it above |
09:28:51 | PMunch | Ah, I wasn't on when they did |
09:28:59 | FromDiscord | <whisperdev> Is there any way how to ship a single exe with the libcrypto/libssl libs and cacert.pem? |
09:29:23 | PMunch | Part of it is that the server keeps running out of storage |
09:29:29 | PMunch | But that's not what happened this time |
09:30:19 | FromDiscord | <dom96> can we clear the storage periodically? |
09:34:51 | FromDiscord | <arnetheduck> In reply to @whisperdev "Is there any way": we use bearssl for our needs, which allows us to create fully standalone binaries that don't depend on libcrypto/libssl - see https://github.com/status-im/nim-chronos/blob/master/chronos/streams/tlsstream.nim |
09:35:31 | FromDiscord | <arnetheduck> bearssl gets compiled as part of "normal" compilation, so there are no issues with cross-platform support either |
09:42:59 | FromDiscord | <whisperdev> Thanks.I assume it's not as simple as just importing your bearssl package right? |
09:48:59 | FromDiscord | <arnetheduck> it should be that simple, though ymmv may vary if you use nimble (we don't) |
09:54:58 | * | neurocyte0132 quit (Ping timeout: 252 seconds) |
10:03:00 | NimEventer | New thread by Rforcen: Complex lib inline, see https://forum.nim-lang.org/t/8471 |
10:07:14 | * | neurocyte0132 joined #nim |
10:07:14 | * | neurocyte0132 quit (Changing host) |
10:07:14 | * | neurocyte0132 joined #nim |
10:09:10 | PMunch | @dom96, I've tried my best to automate the process |
10:09:31 | PMunch | But it's a bit of a whack-a-mole situation |
10:09:50 | PMunch | But it wasn't full this time |
10:10:00 | PMunch | Actually not quite sure what caused it to stop working |
10:10:12 | PMunch | Applied some updates and rebooted it and it seems to be back now |
10:10:43 | PMunch | It could do with some more RAM as well.. |
10:10:49 | PMunch | That's harder to overcome |
10:42:37 | FromDiscord | <Rika> In reply to @arnetheduck "we use bearssl for": I’d say only do this if you have to ship OpenSSL anyway |
10:43:00 | FromDiscord | <Rika> Anyway? I mean otherwise |
11:09:09 | NimEventer | New thread by Miran: This Month with Nim: September 2021, see https://forum.nim-lang.org/t/8472 |
11:24:54 | * | neurocyte0132 quit (Quit: The Lounge - https://thelounge.chat) |
11:25:04 | * | neurocyte0132 joined #nim |
11:25:04 | * | neurocyte0132 quit (Changing host) |
11:25:04 | * | neurocyte0132 joined #nim |
11:34:01 | FromDiscord | <geeksforgeeksnitrr> sent a long message, see http://ix.io/3AuN |
11:35:28 | FromDiscord | <cabboose> What is algorithm |
11:35:34 | FromDiscord | <cabboose> I think you are in the wrong place |
11:42:58 | * | naquad joined #nim |
12:00:24 | * | max22- quit (Ping timeout: 265 seconds) |
12:06:02 | * | supakeen quit (Quit: WeeChat 3.3) |
12:06:31 | * | supakeen joined #nim |
12:10:14 | * | PMunch quit (Quit: leaving) |
12:49:57 | * | arkurious joined #nim |
13:09:10 | * | neurocyte0132 quit (Ping timeout: 252 seconds) |
13:19:36 | * | Pyautogui joined #nim |
13:28:13 | * | rockcavera joined #nim |
13:28:13 | * | rockcavera quit (Changing host) |
13:28:13 | * | rockcavera joined #nim |
13:43:00 | * | max22- joined #nim |
13:45:38 | * | neurocyte0132 joined #nim |
13:45:38 | * | neurocyte0132 quit (Changing host) |
13:45:38 | * | neurocyte0132 joined #nim |
13:47:14 | * | smvg joined #nim |
13:50:25 | * | Pyautogui quit (Ping timeout: 252 seconds) |
13:56:08 | * | Pyautogui joined #nim |
13:57:44 | * | smvg quit (Remote host closed the connection) |
14:05:12 | * | neurocyte0132 quit (Read error: Connection reset by peer) |
14:05:48 | * | neurocyte0132 joined #nim |
14:09:41 | * | neurocyte01325 joined #nim |
14:09:41 | * | neurocyte01325 quit (Changing host) |
14:09:41 | * | neurocyte01325 joined #nim |
14:11:16 | * | neurocyte0132 quit (Ping timeout: 252 seconds) |
14:11:16 | * | neurocyte01325 is now known as neurocyte0132 |
14:11:42 | FromDiscord | <arnetheduck> for anyone interested in the coordination of upgrading a large Nim codebase, here's how we plan on approaching it: https://discuss.status.im/t/the-road-to-nim-1-6/2305 |
14:19:56 | FromDiscord | <reilly> I'm trying to assign to some anonymous procs, but it looks like it's complaining because the proc I'm assigning has side effects... Can I do anything about this? |
14:20:24 | FromDiscord | <reilly> To be more specific, `type mismatch: got <proc (s: ptr Stack): uint16{.gcsafe, locks: 0.}> but expected 'proc (s: ptr Stack): uint16{.noSideEffect, gcsafe, locks: 0.}'`. |
14:22:28 | FromDiscord | <cabboose> Thanks for sharing! 👏↵(@arnetheduck) |
14:24:44 | FromDiscord | <haxscramper> If procvar requires no side effect it means your callback also needs to have no side effects↵(@reilly) |
14:25:15 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3Avz |
14:25:16 | FromDiscord | <haxscramper> But this is not recommended |
14:25:28 | FromDiscord | <ceramicskate0> First time using nim, I've been looking around google to see if I can find my answer but no luck for me. My question is can I set a process mitigation policy in nim. Ive tried using `emit{}` with the cpp from msdn but I keep getting `SetProcessMitigationPolicy()` not found. Does anyone have any assistance? |
14:28:01 | FromDiscord | <reilly> sent a code paste, see https://play.nim-lang.org/#ix=3AvA |
14:28:49 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3AvB |
14:28:51 | FromDiscord | <haxscramper> maybe there is a windows wrapper for this already |
14:29:03 | * | Pyautogui quit (Quit: Connection closed) |
14:29:29 | FromDiscord | <haxscramper> yes there is https://github.com/khchen/winim/blob/b7b32603f4ef672bc34405bc6200e8aab2c366b1/winim/inc/winbase.nim#L1977 |
14:29:29 | FromDiscord | <Rika> In reply to @reilly "But my procvar type": you have to add nosideeffects to it |
14:29:54 | FromDiscord | <Marvel> Hi all, I'm new to nim and was wonder is there a way to import other files like you can in python? |
14:30:05 | FromDiscord | <Rika> yes? just import them |
14:30:23 | FromDiscord | <Rika> `import file_name` it checks the same directory as where the file is located |
14:30:46 | FromDiscord | <Marvel> oh ok thanks |
14:32:22 | FromDiscord | <Marvel> also |
14:32:36 | FromDiscord | <Marvel> whats the best way to read from a yaml file |
14:32:43 | FromDiscord | <Marvel> is there some sorta library for that |
14:33:01 | FromDiscord | <haxscramper> nimyaml |
14:33:27 | * | jjido joined #nim |
14:36:51 | FromDiscord | <reilly> sent a code paste, see https://play.nim-lang.org/#ix=3AvC |
14:37:36 | FromDiscord | <reilly> (edit) "https://play.nim-lang.org/#ix=3AvC" => "https://play.nim-lang.org/#ix=3AvD" |
14:39:05 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
14:39:28 | FromDiscord | <haxscramper> you can do just |
14:39:43 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3AvE |
14:39:58 | FromDiscord | <haxscramper> you can define inner procs, it is not mandatory to declare `let x = proc() ....` |
14:40:52 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3AvF |
14:40:56 | FromDiscord | <haxscramper> you can't use `func` in procvar |
14:41:03 | FromDiscord | <haxscramper> still don't know why it is not allowed |
14:41:09 | FromDiscord | <haxscramper> but it is explicitly disallowed IIRC |
14:41:14 | FromDiscord | <haxscramper> don't ask me why |
14:41:29 | FromDiscord | <haxscramper> in procvar or for inline proc definitions |
14:42:26 | FromDiscord | <reilly> But my procs do have side effects. I've just been using `discard` in my examples since nobody wants to have to read all that. |
14:42:45 | FromDiscord | <haxscramper> ah, well |
14:42:50 | FromDiscord | <haxscramper> now we get to important parts |
14:43:07 | FromDiscord | <haxscramper> I thought you were getting some weird effect tracking bug |
14:43:21 | FromDiscord | <reilly> Yeah, give me a second to actually better describe what's going on here. |
14:43:22 | FromDiscord | <haxscramper> back to the first reply |
14:47:32 | FromDiscord | <reilly> sent a code paste, see https://play.nim-lang.org/#ix=3AvJ |
14:48:53 | FromDiscord | <reilly> > If procvar requires no side effect it means your callback also needs to have no side effects↵So, by "procvar" do you mean procvars in general, or the specific typing of these particular procvars? Because I don't specify `noSideEffect` in any of these types. |
14:54:41 | FromDiscord | <haxscramper> you can run this on latest devel, it shows exact reasons for side effects |
14:54:51 | FromDiscord | <haxscramper> like X calls Y calls Z so you got side effected |
14:55:05 | FromDiscord | <haxscramper> at least it might tell you why it thinks so |
14:55:24 | FromDiscord | <haxscramper> other than that, I don't think there is any clear way to fix it unless I just take the whole code and check it |
15:01:21 | FromDiscord | <reilly> But are all procvars required to have no side effects? |
15:03:28 | FromDiscord | <haxscramper> no |
15:03:49 | FromDiscord | <haxscramper> procvars are not required to have noSideEffect |
15:03:57 | FromDiscord | <reilly> Then why is it forcing me to have no side effects even though I never asked for that? |
15:04:11 | FromDiscord | <haxscramper> I don't know |
15:04:20 | FromDiscord | <reilly> That's wack. |
15:06:55 | FromDiscord | <reilly> http://ix.io/3Aw0 |
15:07:25 | FromDiscord | <reilly> CTRL+F "#! How can I get this to stop complaining?" |
15:07:30 | FromDiscord | <reilly> (edit) ""#!" => "`#!" | "complaining?"" => "complaining?`" |
15:09:04 | FromDiscord | <haxscramper> nim error message at it's finest |
15:09:07 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3Aw2 |
15:09:14 | FromDiscord | <haxscramper> `/tmp/asdfasfdas.nim(133, 14) Error: type mismatch: got 'proc (m: ptr MemoryArray, a: uint16, b: uint16){.noSideEffect, gcsafe, locks: 0.}' for 'poke16' but expected 'proc (m: ptr uint8, a: uint16, b: uint16){.closure.}'` |
15:09:23 | FromDiscord | <haxscramper> you have different proc types |
15:09:30 | FromDiscord | <haxscramper> this is not even a question of side effects |
15:09:55 | FromDiscord | <reilly> Bruh. |
15:10:00 | FromDiscord | <cabboose> Oh I’ve hit that wall before |
15:10:01 | FromDiscord | <cabboose> Feels |
15:10:04 | FromDiscord | <cabboose> Feels bad |
15:10:12 | FromDiscord | <reilly> I, |
15:10:16 | FromDiscord | <reilly> forgot I made that change |
15:10:28 | FromDiscord | <haxscramper> and `ptr uint8` is not the same as `ptr array[N, uint8]` |
15:10:38 | FromDiscord | <haxscramper> you need to use `ptr UncheckedArray[uint8]` |
15:10:48 | FromDiscord | <reilly> I'm going to go shoot myself in the foot |
15:10:51 | FromDiscord | <haxscramper> but yeah, nobody here gives a shit about error messages |
15:11:20 | FromDiscord | <haxscramper> actually this could've been prevented if error message was like↵(@reilly) |
15:11:22 | FromDiscord | <haxscramper> optimized |
15:11:23 | FromDiscord | <haxscramper> for people |
15:11:25 | FromDiscord | <haxscramper> to see the error |
15:12:52 | * | pro joined #nim |
15:12:53 | * | pro quit (Client Quit) |
15:12:56 | FromDiscord | <reilly> I made a type alias so that I wouldn't have to write `array[65536, uint8]` everywhere, and I just forgot to do that for the procvar type definitions..................... ... .. . . .. . . . . . ..... . .. .. . ... |
15:13:00 | FromDiscord | <cabboose> Yeah this |
15:13:12 | FromDiscord | <cabboose> I’ve hit this wall before many times in hind sight |
15:13:19 | FromDiscord | <cabboose> The error makes you think the issue is somewhere else |
15:13:39 | FromDiscord | <cabboose> My classic example is when my gully comments was causing compilation errors |
15:13:44 | FromDiscord | <cabboose> But 0 explanation on why |
15:13:54 | FromDiscord | <cabboose> That hurt \:’) |
15:14:01 | FromDiscord | <haxscramper> like |
15:14:03 | FromDiscord | <cabboose> At least that’s fixed 🙏 |
15:14:05 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3Aw5 |
15:14:07 | FromDiscord | <haxscramper> case\:↵ thin in case↵ another thing |
15:14:25 | FromDiscord | <haxscramper> notcaseRANDOM COMMENT↵of one↵of two |
15:15:14 | FromDiscord | <reilly> Nim's case syntax is definitely, uh, unconventional |
15:15:35 | FromDiscord | <haxscramper> well, you can do it like |
15:15:46 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3Aw6 |
15:15:46 | FromDiscord | <haxscramper> like every single other language construct |
15:15:47 | FromDiscord | <haxscramper> indent after `:` |
15:15:54 | FromDiscord | <haxscramper> nothing special anywhere |
15:23:12 | FromDiscord | <reilly> I wish Nimsuggest:↵1. Had more helpful error messages↵2. Wasn't so slow↵3. Wouldn't randomly multiply itself hundreds of times and use 100% of my cpu |
15:23:35 | FromDiscord | <haxscramper> https://github.com/nim-lang/RFCs/issues/300 |
15:24:07 | FromDiscord | <haxscramper> IC is suposed to be a solution to that |
15:24:17 | FromDiscord | <haxscramper> IC stands for incremental compilation |
15:25:18 | FromDiscord | <Yardanico> In reply to @reilly "I wish Nimsuggest: 1.": "3. Wouldn't randomly multiply itself hundreds of times and use 100% of my cpu" tbh don't remember the last time I've had this issue |
15:25:22 | FromDiscord | <Yardanico> and it's pretty fast for me too |
15:25:39 | FromDiscord | <Yardanico> about error messages - that's not specific to nimsuggest at all |
15:25:49 | FromDiscord | <haxscramper> it is still slow as hell for me |
15:26:02 | FromDiscord | <haxscramper> well, I try it periodically |
15:26:10 | FromDiscord | <haxscramper> and then turn off again |
15:26:25 | FromDiscord | <xflywind> I always turn off nimsuggest. |
15:27:17 | FromDiscord | <xflywind> It causes frustrating experience for me. |
15:27:41 | FromDiscord | <xflywind> (edit) "for" => "to" |
15:29:06 | FromDiscord | <reilly> In reply to @Yardanico ""3. Wouldn't randomly multiply": Consider yourself lucky! I had this happen just yesterday. |
15:29:14 | FromDiscord | <Yardanico> are you using nimsaem's extesion? |
15:29:36 | FromDiscord | <reilly> Is that an issue with the nimsaem one? |
15:30:03 | FromDiscord | <Yardanico> well, the kosz nim extension for vscode is effectively unmaintained |
15:30:19 | FromDiscord | <Yardanico> nimsaem is the maintained fork of kosz nim extension translated to Nim |
15:30:29 | FromDiscord | <Yardanico> and yes, there were fixed for nimsuggest in it |
15:30:35 | FromDiscord | <Yardanico> https://github.com/saem/vscode-nim |
15:30:37 | FromDiscord | <Yardanico> https://marketplace.visualstudio.com/items?itemName=nimsaem.nimvscode |
15:30:37 | nrds | <R2D299> itHub: 7"<No Description>" |
15:31:05 | FromDiscord | <reilly> That's exactly why I use the nimsaem one. Pure Nim and actively maintained. |
15:31:17 | FromDiscord | <xflywind> I think it is better to turn off nimsuggest and use tabnine. |
15:31:19 | FromDiscord | <Yardanico> then I don't know :eShrug1: :eShrug2: |
15:31:27 | FromDiscord | <Yardanico> In reply to @flywind "I think it is": I've tried TabNine and IMO it's not that good |
15:31:33 | FromDiscord | <Yardanico> it's only good for repetetive code, but for new code it's pretty bad |
15:31:46 | FromDiscord | <xflywind> yeah |
15:32:19 | FromDiscord | <reilly> Does TabNine support Nim? |
15:32:26 | FromDiscord | <Yardanico> it doesn't have to support a specific language |
15:32:28 | FromDiscord | <Yardanico> it's language-agnostic |
15:32:45 | FromDiscord | <Yardanico> it has some special features for popular languages, but Nim isn't one of them, but it still works |
15:32:57 | FromDiscord | <reilly> In that case, I can't imagine it works too well, especially on something relatively obscure like Nim. |
15:33:45 | FromDiscord | <Yardanico> well, it can learn from the codebase you're editing |
15:33:57 | FromDiscord | <Yardanico> maybe I should try it again, I haven't checked it out in a while |
15:38:40 | FromDiscord | <cabboose> It helps in the same way vs codes normal pattern recognition and suggestions would work |
15:38:42 | FromDiscord | <cabboose> I imagine |
15:38:58 | FromDiscord | <cabboose> Nimsuggest is still pretty painful |
15:38:58 | FromDiscord | <cabboose> It eats a shit load of memory too |
15:39:07 | FromDiscord | <cabboose> It’s like chromes step bro |
15:44:22 | FromDiscord | <Yardanico> @cabboose that's because nimsuggest is essentially the nim compiler constantly running |
15:44:58 | FromDiscord | <Yardanico> nim compiler uses quite some RAM when compiling (depends on the project size of course) but it's hard to notice because the compilation is usually pretty fast |
16:11:46 | FromDiscord | <alehander42> is https://github.com/Niminem |
16:11:47 | FromDiscord | <alehander42> around |
16:12:00 | FromDiscord | <alehander42> i want to talk with him about his python to nim project |
16:13:58 | FromDiscord | <Shoto> Has anyone made a matrix home server in Nim? |
16:14:14 | FromDiscord | <Shoto> I wanna see the code and maybe do something stupid with it lol |
16:16:52 | FromDiscord | <haxscramper> https://github.com/zevv/cpstest https://github.com/zevv/cpstest/blob/master/matrix.nim seems to be using matrix |
16:16:54 | nrds | <R2D299> itHub: 7"<No Description>" |
16:17:04 | FromDiscord | <haxscramper> someone was also working on matrix library |
16:17:10 | FromDiscord | <haxscramper> this one also uses CPS |
16:17:21 | FromDiscord | <haxscramper> https://github.com/nim-works/cps |
16:17:24 | nrds | <R2D299> itHub: 7"Continuation-Passing Style for Nim 🔗" |
16:18:02 | FromDiscord | <Shoto> Oh? What's that? |
16:18:12 | FromDiscord | <Shoto> Oh, I'm talking about the Matrix home server |
16:18:27 | FromDiscord | <Shoto> Like, Synapse https://github.com/matrix-org/synapse |
16:18:30 | nrds | <R2D299> itHub: 7"Synapse: Matrix reference homeserver" |
16:19:20 | FromDiscord | <cabboose> Ooye true.↵(@Yardanico) |
16:19:57 | * | smvg joined #nim |
16:20:02 | FromDiscord | <haxscramper> In reply to @Shoto Todoroki "Oh, I'm talking about": ah, you are talking about setting up matrix server for nim |
16:20:08 | FromDiscord | <cabboose> hissssss Python 🐍↵(@alehander42) |
16:20:09 | FromDiscord | <haxscramper> not writing someting matrix-related in nim |
16:20:28 | FromDiscord | <haxscramper> In reply to @Shoto Todoroki "Oh? What's that?": CPS is an async/threading etc. alternative |
16:20:48 | FromDiscord | <haxscramper> and lots of other things |
16:25:30 | * | Vladar joined #nim |
16:26:11 | FromDiscord | <alehander42> @cabboose i sent him an email |
16:26:16 | FromDiscord | <alehander42> is it you |
16:27:11 | FromDiscord | <cabboose> Nein sorry friend |
16:27:25 | FromDiscord | <alehander42> ok |
16:27:32 | FromDiscord | <alehander42> i would be very surprised |
16:27:40 | FromDiscord | <alehander42> nice to meet you again |
16:28:42 | FromDiscord | <cabboose> Que? Nice to meet you compadre |
16:28:56 | FromDiscord | <Shoto> In reply to @haxscramper "ah, you are talking": No i mean is there a homeserver that has been implemented in Nim, lol |
16:29:12 | FromDiscord | <Shoto> Like, it's been written in Nim, and runs |
16:29:29 | FromDiscord | <Yardanico> don't think so |
16:29:40 | FromDiscord | <cabboose> Sounds like a good project shoot |
16:29:49 | FromDiscord | <cabboose> I look forward to your PR shoto! |
16:30:10 | FromDiscord | <cabboose> How exciting to get our own nim written matrix server |
16:34:26 | FromDiscord | <Rika> In reply to @cabboose "I look forward to": PR? |
16:34:39 | FromDiscord | <Rika> Project? |
16:51:18 | Zevv_ | haxscramper: nah' that's nothing. it's one or to API calls |
16:51:24 | Zevv_ | the protocol is pretty huge to implement. |
16:52:50 | FromDiscord | <juan_carlos> Does calling a `SIGTERM ` calls all destructors ?. |
16:58:17 | FromDiscord | <Rika> Should |
17:06:43 | FromDiscord | <Yardanico> In reply to @Rika "Should": it's SIGTERM, why "should"? |
17:06:58 | FromDiscord | <Rika> Because it’s a graceful exit on term isn’t it |
17:07:07 | FromDiscord | <Rika> It’s only immediate on kill |
17:22:11 | FromDiscord | <Gumber> well assuming Nim does the right thing when it handles a SIGTERM signal |
17:22:22 | FromDiscord | <Gumber> but I imagine that was an important thing to get right 🙂 |
17:22:48 | FromDiscord | <Gumber> (edit) "Nim" => "Nim's runtime" |
17:33:01 | FromDiscord | <dom96> In reply to @haxscramper "CPS is an async/threading": It's not an alternative to async, it's an alternative to closure iterators |
17:34:54 | FromDiscord | <haxscramper> In reply to @dom96 "It's not an alternative": Well https://github.com/nim-lang/RFCs/issues/295 mostly compares it to async, await and threads |
17:34:59 | FromDiscord | <haxscramper> Not closure iterators specifically |
17:38:21 | FromDiscord | <dom96> Yeah, and it does so dishonestly. https://github.com/nim-lang/RFCs/issues/295#issuecomment-748117262 |
17:40:30 | FromDiscord | <cabboose> Isn't it a good framework that things like async could be built off though? |
17:41:00 | FromDiscord | <haxscramper> In reply to @dom96 "Yeah, and it does": But you could do just the same things with cps you do with async and other stuff |
17:41:13 | FromDiscord | <cabboose> yeah but thats what I mean |
17:41:17 | FromDiscord | <dom96> sure |
17:41:24 | NimEventer | New post on r/nim by jabbalaci: int vs int32 vs uint32, see https://reddit.com/r/nim/comments/pzd29f/int_vs_int32_vs_uint32/ |
17:41:24 | FromDiscord | <cabboose> like you can do any control flow stuff with it |
17:44:03 | FromDiscord | <Yardanico> ^probably int is faster than int32 because operating on 64-bit integers is faster on a 64-bit CPU than 32-bit integers? |
17:44:21 | FromDiscord | <Yardanico> or maybe the compiler does better optimizations for that combination |
17:44:46 | FromDiscord | <cabboose> The fastest was actually uint32 |
17:45:02 | FromDiscord | <Yardanico> oh |
17:45:11 | FromDiscord | <Yardanico> did you post that? |
17:45:14 | FromDiscord | <cabboose> image.png https://media.discordapp.net/attachments/371759389889003532/893554164221751316/image.png |
17:45:15 | FromDiscord | <cabboose> nah |
17:45:19 | FromDiscord | <cabboose> I had a look at the source |
17:45:21 | FromDiscord | <cabboose> quite odd |
17:45:46 | FromDiscord | <Yardanico> well |
17:45:48 | FromDiscord | <Yardanico> https://media.discordapp.net/attachments/371759389889003532/893554302059171950/unknown.png |
17:45:52 | FromDiscord | <cabboose> Just the int32 is odd \:/ |
17:45:55 | FromDiscord | <cabboose> oh |
17:45:56 | FromDiscord | <cabboose> hahahahhaha |
17:45:57 | FromDiscord | <Yardanico> v3 with in32 is -d:release so it has runtime checks |
17:46:04 | FromDiscord | <Yardanico> v4 is uint32 with -d:danger so no runtime checks |
17:46:06 | FromDiscord | <cabboose> mylawd |
17:48:36 | FromDiscord | <Yardanico> ah wait no |
17:49:28 | FromDiscord | <Yardanico> I think it's just because uint32 doesn't have overflow checks |
17:49:29 | FromDiscord | <Yardanico> while int32 does |
17:57:50 | FromDiscord | <cabboose> huh. interesting |
18:07:57 | FromDiscord | <enthus1ast> @ceramicskate0\: you can install and import winim |
18:08:28 | FromDiscord | <enthus1ast> https://github.com/khchen/winim/blob/b7b32603f4ef672bc34405bc6200e8aab2c366b1/winim/inc/winbase.nim#L1977 |
18:09:16 | FromDiscord | <enthus1ast> Then use it directly from nim |
18:12:00 | * | jjido joined #nim |
18:31:23 | * | max22- quit (Ping timeout: 246 seconds) |
18:50:06 | Mister_Magister | previously i asked how u fill array with single value |
18:50:15 | Mister_Magister | but what if i want array of x elements with value of 1 to x |
18:51:48 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
18:52:36 | FromDiscord | <Yardanico> you use a loop then :) |
18:52:51 | FromDiscord | <haxscramper> `for idx in 0 .. x: arr[idx] = idx` |
18:52:54 | FromDiscord | <haxscramper> you know |
18:52:55 | FromDiscord | <haxscramper> loops |
18:53:28 | * | rockcavera quit (Ping timeout: 252 seconds) |
18:53:36 | FromDiscord | <Yardanico> too hard |
18:53:47 | Mister_Magister | ye |
18:53:51 | Mister_Magister | i used loop |
18:53:53 | FromDiscord | <Yardanico> we must create fillarraywithnumbersfrom1tox nimble package |
18:54:01 | Mister_Magister | Yardanico: hell ye |
18:54:17 | Mister_Magister | or modify fill method to accept sequence |
18:54:20 | * | max22- joined #nim |
18:54:24 | Mister_Magister | so you could array.fill(0..x) |
18:55:29 | Mister_Magister | i might even do a PR |
18:55:31 | Mister_Magister | xd |
18:55:36 | FromDiscord | <Yardanico> that's not a sequence though, it's a range |
18:55:45 | Mister_Magister | ye okay |
18:55:49 | Mister_Magister | but you know what i mean |
18:55:57 | FromDiscord | <Yardanico> In reply to @Mister_Magister "i might even do": you can try, but I don't think it'll really get accepted] |
18:55:58 | FromDiscord | <Yardanico> (edit) "accepted]" => "accepted" |
18:56:09 | Mister_Magister | why xd |
18:56:17 | Mister_Magister | its pretty nice idea |
18:56:17 | FromDiscord | <Yardanico> you can of course go ahead and make your better ™️ nim stdlib |
18:56:19 | FromDiscord | <Yardanico> like some people do |
18:56:50 | Mister_Magister | naah |
18:56:55 | FromDiscord | <Yardanico> In reply to @Mister_Magister "why xd": because it can be solved with 1 or 2 lines of code |
18:57:39 | Mister_Magister | so can entire fill function |
18:57:42 | Mister_Magister | yet its there |
18:58:43 | FromDiscord | <Yardanico> ok, go ahead, I can't stop you from submitting a PR of course |
19:22:21 | * | smvg quit (Remote host closed the connection) |
19:22:49 | FromDiscord | <jmgomez> Hey guys, how is going? Im wondering if Nim can be used as a embedded lang inside cpp (like you would do with lua)? |
19:22:57 | FromDiscord | <Gumber> Nimscript can |
19:23:19 | FromDiscord | <Gumber> https://github.com/h0lley/embeddedNimScript |
19:23:21 | nrds | <R2D299> itHub: 7"Using NimScript as embedded scripting language, enabling hot loading" |
19:23:47 | FromDiscord | <Gumber> I guess maybe some fairly exciting news? The CEO / lead dev of The Machinery game engine shares my sentiments about Rust being a poor language for game dev |
19:24:05 | FromDiscord | <Gumber> and also I believe I planted a seed in their head today about looking at Nim as a potential language to incorporate into the machinery |
19:24:30 | FromDiscord | <Gumber> so it's an exciting topic to stay tuned about / keep an eye out for because maybe it will be a thing they decide to explore in the near future 🙂 |
19:25:06 | FromDiscord | <Gumber> and thanks to @geekrelief for all the work he's doing on TM bindings and porting examples to Nim - I'm sure as more TM users are exposed to his work the Nim evangelism in that community will pay dividends in brining new attention and users to Nim |
19:25:32 | FromDiscord | <jmgomez> In reply to @Gumber "https://github.com/h0lley/embeddedNimScript": That's pretty cool. Will look into it, Im looking for a lang to integrate into UE inside a Blueprint node. Thanks! |
19:25:35 | FromDiscord | <Gumber> and also thank you for pointing out the opportunity to spread awareness / knowledge of Nim to the leaders of that community - it was a superb callout this morning |
19:25:54 | FromDiscord | <Gumber> In reply to @jmgomez "That's pretty cool. Will": I hate the use case, but no problem 😉 |
19:26:23 | FromDiscord | <Yardanico> In reply to @Gumber "and also thank you": can I like, buy our machinery and explicitly say somewhere in the message "hey, I bought it because I want to use machinery with nim" so they see there's nim demand :D |
19:26:26 | FromDiscord | <Rika> Mister_Magister: `import sequtils; let a = toSeq(1..5)`? |
19:26:34 | FromDiscord | <Yardanico> @Rika that's not an array though |
19:26:37 | FromDiscord | <Yardanico> he wants to fill an array |
19:26:38 | FromDiscord | <Rika> oh did he say array |
19:26:47 | FromDiscord | <Gumber> In reply to @Yardanico "can I like,": xD not so sure about that but you could certainly buy it and have full source access to it and build things with it and Nim |
19:27:07 | FromDiscord | <Gumber> and you could also get into the machinery discord server and talk about how much you think Nim would be a good fit for it / brag about the fact that you're using it with Nim |
19:27:16 | FromDiscord | <Gumber> and I mean, at the end of the day $50 for full source code of a AAA game engine |
19:27:21 | FromDiscord | <Yardanico> well yeah, it's just that I've done almost nothing with gamedev and don't think that a 3d game engine like that would be a good thing for me to start out |
19:27:27 | FromDiscord | <Gumber> that is probably the best architected / designed game engine to hit the market in a decade |
19:27:29 | FromDiscord | <Yardanico> i hope they'll add 2D soon(ish) :D |
19:27:32 | FromDiscord | <Gumber> is a pretty effing good deal if you ask me |
19:27:37 | FromDiscord | <Gumber> I'm sure someone will build a 2d renderer in userland |
19:27:43 | FromDiscord | <Gumber> after all everything is possible with TM in userland |
19:27:52 | FromDiscord | <Gumber> given its brilliantly thought out architecture and design |
19:27:52 | FromDiscord | <Yardanico> also what's with the naming (just curious) |
19:27:57 | FromDiscord | <Yardanico> our machinery/the machinery/machinery |
19:28:01 | FromDiscord | <Yardanico> which one |
19:28:04 | FromDiscord | <Yardanico> (edit) "which one ... " added "to use" |
19:28:06 | FromDiscord | <Gumber> our machinery is the name of the company |
19:28:09 | FromDiscord | <Gumber> the machinery is the name of the game engine |
19:28:12 | FromDiscord | <Yardanico> oh |
19:28:13 | FromDiscord | <Gumber> they're all the former bitsquid guys |
19:28:20 | FromDiscord | <Yardanico> yeah i don't know them, sorry :D |
19:28:23 | FromDiscord | <Gumber> or autodesk stingray guys depending on when you became aware of their old engine |
19:28:40 | FromDiscord | <Gumber> yeah no worries! I just know about it because well, I knew about bitsquid when I started getting into game engine dev |
19:28:50 | FromDiscord | <Yardanico> but yeah, you've convinced me to buy it just as an investment |
19:28:51 | FromDiscord | <Gumber> and I built a few projects relying on their foundation lib |
19:28:56 | FromDiscord | <Gumber> I think it's totally worth it |
19:29:15 | FromDiscord | <Gumber> like if you enjoy reading C / find well written C valuable especially in the sense of seeing it in a huge project like a game engine |
19:29:22 | FromDiscord | <Gumber> then it's a no-brainer IMO |
19:31:54 | FromDiscord | <Yardanico> In reply to @Gumber "and I built a": you should work in sales :D https://media.discordapp.net/attachments/371759389889003532/893581006697807912/unknown.png |
19:32:02 | FromDiscord | <Gumber> lmao |
19:32:29 | FromDiscord | <Gumber> I've been told I can be fairly convincing from time to time, but I enjoy writing code way more than trying to sell stuff to people |
19:32:33 | FromDiscord | <Gumber> it's so much easier xD |
19:46:56 | FromDiscord | <geekrelief> sent a code paste, see https://play.nim-lang.org/#ix=3Axn |
19:48:50 | FromDiscord | <Gumber> In reply to @geekrelief "Thanks for jumping into": I'm not sure what `vcc.exe` does in relation to setting up the env... I know you normally do it by `Use Vcvarsall.bat to set a 64-bit hosted build architecture` |
19:49:11 | FromDiscord | <geekrelief> Yeah I tried running inside the developer console, but it made no difference. |
19:49:41 | FromDiscord | <Gumber> https://github.com/nim-lang/Nim/blob/8ccde68f132be4dba330eb6ec50f4679e564efac/tools/vccexe/vccexe.nim#L55-L105 |
19:49:48 | FromDiscord | <Gumber> looks like there's a flag there you can pass |
19:51:19 | FromDiscord | <geekrelief> sent a code paste, see https://play.nim-lang.org/#ix=3Axo |
19:52:31 | FromDiscord | <Gumber> I'd need to see your bindings probably to understand fully what's going on |
19:52:36 | FromDiscord | <Gumber> along with the TM header you're trying to wrap |
19:53:34 | FromDiscord | <geekrelief> let me tinker around with this a little more |
19:53:38 | FromDiscord | <geekrelief> thanks |
19:53:41 | FromDiscord | <Gumber> np! |
20:01:27 | FromDiscord | <geekrelief> a little progress, I think I resolved the pointer truncation issue by including `_WIN64` as a define for the generator as opposed to when compiling the dll. Not sure what's the difference in the binding output yet. Yak shaving now cause nimterop doesn't like 'tm.gcc.nim` as a filename! |
20:10:29 | FromDiscord | <geekrelief> Are dots allowed in module names? Or do they basically follow identifier rules when used as arguments to import and include? |
20:10:37 | FromDiscord | <Yardanico> they follow identifier rules |
20:10:45 | FromDiscord | <geekrelief> I see thanks! |
20:10:50 | FromDiscord | <Yardanico> because you can use modules as identifiers |
20:10:59 | FromDiscord | <Yardanico> import strutils↵↵echo strutils.strip("a b ") |
20:11:23 | FromDiscord | <geekrelief> thx for the clarification |
20:42:53 | * | kayabaNerve quit (Ping timeout: 265 seconds) |
20:43:30 | * | jjido joined #nim |
20:49:48 | FromDiscord | <dom96> anyone have any strong feelings about choosenim losing support for tar.xz? |
20:50:31 | * | pch__ is now known as kinkinkijkin |
20:51:54 | * | Vladar quit (Quit: Leaving) |
20:56:48 | * | jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
21:00:57 | FromDiscord | <leorize> nightlies produce tar.xz |
21:04:35 | FromDiscord | <treeform> In reply to @dom96 "anyone have any strong": no |
21:06:30 | FromDiscord | <acek7> @treeform are you the heaviest nim user? |
21:08:09 | FromDiscord | <Yardanico> the heaviest nim user are status probably |
21:08:18 | FromDiscord | <dom96> In reply to @leorize "nightlies produce tar.xz": really? https://api.github.com/repos/nim-lang/nightlies/tarball/latest-version-1-6 for example gives a tar.gz |
21:08:45 | FromDiscord | <dom96> In reply to @acek7 "<@!107140179025735680> are you the": how do you define "heaviest"? |
21:08:51 | FromDiscord | <Gumber> the one that weighs the most |
21:09:02 | FromDiscord | <Yardanico> he probably meant "biggest" :P |
21:09:02 | FromDiscord | <Gumber> fat shaming going on up in here |
21:09:12 | FromDiscord | <Yardanico> @acek7 but yeah, I'm pretty sure it's status |
21:09:13 | FromDiscord | <acek7> im not sure how to define it lol |
21:09:20 | FromDiscord | <acek7> who the heck is that |
21:09:26 | FromDiscord | <Yardanico> status.im |
21:09:26 | FromDiscord | <Gumber> status.im |
21:09:28 | FromDiscord | <Yardanico> (edit) "status.im" => "https://status.im" |
21:09:30 | FromDiscord | <Gumber> they're implementing Eth 2.0 in nim |
21:09:37 | FromDiscord | <Gumber> or the did implement it I dunno |
21:09:43 | FromDiscord | <Gumber> (edit) "the" => "they" |
21:09:44 | FromDiscord | <Yardanico> @Gumber that was meant to contain an embed but okay :P |
21:09:47 | FromDiscord | <Gumber> I know next to zero about crypto |
21:09:52 | FromDiscord | <Gumber> it wasn't me!!!!! |
21:09:55 | FromDiscord | <Yardanico> huh |
21:10:00 | FromDiscord | <Gumber> I didn't remove the embed |
21:10:02 | FromDiscord | <dom96> 👀 |
21:10:07 | FromDiscord | <Yardanico> 🤔 |
21:10:07 | FromDiscord | <Gumber> lol |
21:10:17 | FromDiscord | <dom96> Sorry, I hate embeds |
21:10:19 | FromDiscord | <Yardanico> yeah sure it's not a big deal |
21:10:21 | FromDiscord | <dom96> it's a natural reaction for me at this point |
21:10:23 | FromDiscord | <Gumber> man I love it when people do shitty things in shared codebases |
21:10:27 | FromDiscord | <Gumber> like add implicit logic into a db insert |
21:10:31 | FromDiscord | <acek7> what other big software is made with nim |
21:10:34 | FromDiscord | <Gumber> so it's no longer just a db insert |
21:10:37 | FromDiscord | <Gumber> games / game engines |
21:10:45 | FromDiscord | <Gumber> operating system kernels |
21:10:50 | FromDiscord | <Gumber> spaceships |
21:10:51 | FromDiscord | <dom96> In reply to @acek7 "what other big software": the nim compiler 🙂 |
21:10:53 | FromDiscord | <acek7> links? |
21:10:54 | FromDiscord | <Yardanico> In reply to @acek7 "what other big software": there's a small list in https://github.com/nim-lang/Nim/wiki/Organizations-using-Nim |
21:10:59 | FromDiscord | <Yardanico> of organizations/specific software |
21:11:00 | FromDiscord | <Gumber> I dunno - you can do anything with Nim you can do with C |
21:11:02 | FromDiscord | <Yardanico> please extend it |
21:11:03 | FromDiscord | <Gumber> or assembly language |
21:11:06 | FromDiscord | <Yardanico> (edit) "please extend it ... " added "if you know anyone using nim" |
21:11:33 | FromDiscord | <Gumber> use cases are pretty much limitless |
21:11:35 | FromDiscord | <Yardanico> need to add Goodboy Galaxy there, I brought it up to exelotl, guess he didn't have time |
21:11:42 | FromDiscord | <Gumber> oh yeah - that's a good one to add |
21:12:46 | nrds | <Prestige99> I want to ask what he's using to deploy to all those platforms (I've only looked into the gba side) |
21:12:53 | FromDiscord | <acek7> wait nim can do anything C or Assembly can do? |
21:13:07 | FromDiscord | <Yardanico> obviously |
21:13:14 | FromDiscord | <Yardanico> as (almost) any other native language |
21:13:20 | FromDiscord | <dom96> so can Python, just shell out to an assembly program 😉 |
21:13:37 | FromDiscord | <Yardanico> @Gumber quick question about the machinery - as I understand, everything must be a plugin, even gameplay code? |
21:13:50 | FromDiscord | <acek7> and here i was thinking nim was special haha |
21:14:04 | FromDiscord | <Gumber> In reply to @Yardanico "<@!204328759715692544> quick question about": correct |
21:14:12 | FromDiscord | <Gumber> if you want to code gameplay code |
21:14:18 | FromDiscord | <Gumber> you could also just use creation graphs |
21:14:22 | FromDiscord | <Yardanico> hm, you can compile them in statically, right? |
21:14:26 | FromDiscord | <Gumber> yup! |
21:14:30 | FromDiscord | <Yardanico> so there's a single binary without tons of .dlls |
21:14:40 | FromDiscord | <Gumber> I think if you want to hot reload you have to dyamically link for obvious reasons |
21:14:45 | FromDiscord | <Gumber> (edit) "dyamically" => "dynamically" |
21:15:00 | FromDiscord | <Gumber> but when you actually build a release version or distributable everything gets linked in statically |
21:15:05 | FromDiscord | <Gumber> very similar to how my engine works for my project |
21:15:21 | FromDiscord | <acek7> are .dlls a nuisance ? |
21:15:30 | FromDiscord | <Gumber> for distributing software yes |
21:15:47 | FromDiscord | <Gumber> when you statically link the library is included in the final executable |
21:15:56 | FromDiscord | <Elegantbeef> Jeez asking a person to step on a scale is a lot of work |
21:15:57 | FromDiscord | <Gumber> so you pay in terms of increased file size for your distribuitable |
21:16:06 | FromDiscord | <Gumber> (edit) "distribuitable" => "distributable" |
21:16:25 | FromDiscord | <Gumber> if you dyamically link you load symbols from a dynamic library at runtime |
21:16:35 | FromDiscord | <Gumber> which has a performance cost and also requires those libraries to be present on the users sytem |
21:16:58 | FromDiscord | <Gumber> and they have to be on the linker's path so that they can be found at runtime for symbol resolution |
21:17:17 | FromDiscord | <Gumber> but with dynamic loading of symbols you can achieve hot reloading |
21:17:36 | FromDiscord | <Gumber> although you still have to think about state - which is simple enough to deal with if you know what you're doing |
21:17:40 | FromDiscord | <Gumber> (edit) "although you still have to think about state ... -" added "across reloads" |
21:18:17 | FromDiscord | <Gumber> (edit) "if you dyamically link you load symbols from a dynamic library ... at" added "(or shared library - they're different names for the same thing)" |
21:18:24 | FromDiscord | <Gumber> (edit) "dyamically" => "dynamically" |
21:19:43 | FromDiscord | <Elegantbeef> Well you can do inlined asm and it compiles to C so... |
21:19:55 | FromDiscord | <ceramicskate0> got Microsoft signed only process mitigation policy working from linux compile working thanks @enthus1ast and @haxscramper |
21:19:55 | FromDiscord | <Elegantbeef> If you have a C compiler for your platform Nim can do it |
21:20:11 | FromDiscord | <Elegantbeef> I guess more C compiler and nim outputs compatible nim |
21:21:28 | FromDiscord | <ceramicskate0> (edit) removed "working" |
21:21:46 | FromDiscord | <acek7> Does a larger nim project create any additional files or is it just one.exe no matter the size? |
21:22:49 | FromDiscord | <Gumber> it depends how you structure your project |
21:22:51 | FromDiscord | <Elegantbeef> It's not that big of a deal though imo |
21:22:53 | * | pch_ joined #nim |
21:23:05 | FromDiscord | <Gumber> Nim just outputs C or C++ or JS or Obj-C |
21:23:10 | FromDiscord | <Gumber> and then invokes whatever compiler toolchain you specify |
21:23:33 | FromDiscord | <acek7> I was just curious about what it would be like building something for say iPhone or MacOS or Linux |
21:23:54 | FromDiscord | <Gumber> I mean fir macOS or Linux it's pretty straightforward |
21:23:58 | FromDiscord | <Gumber> (edit) "straightforward" => "straight forward" |
21:24:03 | FromDiscord | <Gumber> and really isn't any different than building on Windows |
21:24:22 | FromDiscord | <Gumber> you just target a different os and maybe cpu arch depending on which mac you're talking about |
21:24:30 | FromDiscord | <Gumber> or if you're on like an ARM linux laptop or something |
21:24:42 | FromDiscord | <Gumber> or RISC-V or whatever....... |
21:24:54 | FromDiscord | <Gumber> iPhone is a bit trickier but doable |
21:25:03 | FromDiscord | <Gumber> (edit) "iPhone" => "iOS" |
21:25:22 | * | kinkinkijkin quit (Ping timeout: 252 seconds) |
21:25:23 | FromDiscord | <Gumber> this is assuming you're compiling for the same operating system you're compiling on |
21:25:33 | FromDiscord | <Gumber> if you want to cross compile, you need to use a cross compile toolchain |
21:25:35 | * | smvg joined #nim |
21:25:37 | FromDiscord | <Gumber> or something like zigcc |
21:25:38 | FromDiscord | <Gumber> or docker |
21:25:48 | FromDiscord | <Gumber> or - I dunno either way, no matter what, you need to cross compile 🙂 |
21:25:59 | FromDiscord | <Gumber> if you're building on a different os / cpu arch then you're targetting |
21:26:06 | FromDiscord | <Gumber> but this is true of any native software |
21:26:09 | FromDiscord | <Gumber> Nim isn't special in this regard |
21:26:56 | FromDiscord | <Gumber> well, unless you are using a language that has a LLVM based compiler backend like Rust |
21:27:02 | FromDiscord | <Gumber> but then you get to deal with extremely long compile times 🙂 |
21:27:14 | FromDiscord | <Gumber> worse than C++ even |
21:27:15 | FromDiscord | <acek7> Do i still need a mac to build the iOS app |
21:27:26 | FromDiscord | <Gumber> tmk yes you need macOS hardware to target iOS |
21:27:41 | FromDiscord | <Gumber> you don't need a mac - you could use a mac mini |
21:27:41 | FromDiscord | <acek7> that still annoys me |
21:27:45 | FromDiscord | <Gumber> welcome to apple |
21:27:47 | nrds | <Prestige99> I thought there's a way to get around it |
21:27:49 | FromDiscord | <acek7> i have a mac mini |
21:27:49 | FromDiscord | <Gumber> they are the worst |
21:27:54 | FromDiscord | <Gumber> maybe there is? I dunno |
21:27:56 | nrds | <Prestige99> probably against TOS though |
21:27:58 | FromDiscord | <Elegantbeef> Yea there is no difference for the desktop OS |
21:28:08 | FromDiscord | <Elegantbeef> For mobile you have more fun and have to deal with their native build process |
21:28:08 | FromDiscord | <acek7> i got one because i was wanting to eventually build apps |
21:28:11 | FromDiscord | <Gumber> fuck apple with a big rubber dildo IMO |
21:28:13 | nrds | <Prestige99> linux ftw |
21:28:17 | nrds | <Prestige99> ^^ |
21:28:22 | FromDiscord | <Gumber> I prefer Windows but that's just because I build games |
21:28:26 | FromDiscord | <Gumber> and don't have the venom for it everyone else does |
21:28:28 | nrds | <Prestige99> I've never agreed with anyone more about mac |
21:28:34 | FromDiscord | <Gumber> for work I'm on a macbook pro but not by choice |
21:28:36 | FromDiscord | <Gumber> it's just what I was given |
21:29:01 | nrds | <Prestige99> Hm yeah I will need to see if I can release executables for windows using my game engine... just using sdl so it'll be fine, I just don't know how _yet_ |
21:29:04 | FromDiscord | <Gumber> if I need to do webdev at home (which if I ever do makes me want to jump off a cliff) I'll use Windows + Windows subsystem for linux |
21:29:19 | FromDiscord | <Gumber> I did it with docker before the advent of zigcc |
21:29:22 | FromDiscord | <Gumber> but now I'd just use zigcc |
21:30:27 | FromDiscord | <acek7> im a designer, id love to build games but i struggle with code |
21:30:52 | FromDiscord | <Gumber> well you can help me out with mine in a few months if you'd like |
21:30:54 | FromDiscord | <Gumber> 🙂 |
21:31:06 | FromDiscord | <acek7> sure i make music too |
21:31:07 | FromDiscord | <Gumber> I'm very close to the point of needing some good game designers and artists |
21:31:33 | FromDiscord | <Gumber> and I can't pay - but I promise to distribute funds fairly once and if it makes any money. I plan on going early access on steam next spring / summer |
21:31:39 | FromDiscord | <Gumber> with some sort of playable alpha |
21:31:53 | FromDiscord | <Gumber> well I could pay some, but probably not a lot |
21:32:03 | FromDiscord | <Gumber> I have a wife and dogs to feed and a mortgage to pay xD |
21:32:10 | FromDiscord | <Gumber> maybe soon a kiddo too |
21:32:16 | FromDiscord | <treeform> In reply to @acek7 "<@!107140179025735680> are you the": I am not fat! 😜 |
21:32:17 | FromDiscord | <Gumber> time will tell 🙂 |
21:32:19 | FromDiscord | <Gumber> lol |
21:32:35 | FromDiscord | <Gumber> was such a good intro into this whole convo |
21:32:40 | FromDiscord | <Gumber> love it |
21:32:57 | FromDiscord | <acek7> lol also im not after money i just love making things |
21:33:04 | FromDiscord | <Gumber> my main man @KingDarBoja has also expressed interest in helping out |
21:33:11 | FromDiscord | <Gumber> we're making a networked 3d multiplayer RTS |
21:33:36 | FromDiscord | <Gumber> or I am anyway - and he's also interested in joining the effort since that's pretty much his bread and butter as far as favorite type of game to play goes |
21:33:36 | * | smvg quit (Read error: Connection reset by peer) |
21:33:49 | FromDiscord | <Gumber> mine too, along with MMOs and PvP centric role playing games |
21:34:00 | FromDiscord | <Gumber> which there are far too few of - I think I'll work on a PvP centric ARPG after this one |
21:34:31 | FromDiscord | <acek7> i need a game that teaches me nim but i dont realize im learning it |
21:34:42 | FromDiscord | <Gumber> someone should make a zachtronics game for Nim |
21:34:46 | FromDiscord | <Gumber> (edit) "someone should make a zachtronics ... game" added "style" |
21:34:53 | FromDiscord | <Gumber> I'm pissed that guy has my name and made such cool games |
21:35:03 | nrds | <Prestige99> Gumber: Anything about your project you can mention? |
21:35:11 | FromDiscord | <Gumber> not really lol - really glad they found their niche |
21:35:15 | FromDiscord | <Gumber> I mean - sure I can mention anything :)( |
21:35:17 | FromDiscord | <Gumber> (edit) ":)(" => "🙂" |
21:35:18 | FromDiscord | <Gumber> ask away |
21:35:28 | FromDiscord | <Gumber> the engine code will all be MIT FOSS |
21:35:33 | nrds | <Prestige99> Just curious about more details |
21:35:35 | nrds | <Prestige99> ohhh sweet |
21:35:38 | FromDiscord | <Gumber> gameplay code and assets will all be closed source / protected |
21:35:52 | nrds | <Prestige99> That's a good way to go |
21:35:59 | FromDiscord | <Gumber> engine is heavily parallelized - not sure exactly HOW I'm going to do that yet but I've R&D'd and prototyped a couple of solutions |
21:36:01 | nrds | <Prestige99> I'd like to see trailers etc when they're available |
21:36:22 | FromDiscord | <Gumber> as far as theme and subject matter goes - I have a few ideas but am open to suggestions |
21:36:35 | FromDiscord | <Gumber> I plan on having networked physics and destructible environments |
21:36:51 | FromDiscord | <Gumber> it will probably be windows only because cross platform floating point determinism is a effing bitch |
21:36:54 | FromDiscord | <Gumber> (edit) "a" => "an" |
21:37:12 | nrds | <Prestige99> hm that's too bad |
21:37:19 | FromDiscord | <Gumber> I guess I could also do xbox in that case but I really don't want to because who wants to play an RTS on console? |
21:37:26 | FromDiscord | <Gumber> well you could always play with wine |
21:37:50 | nrds | <Prestige99> no authoritative server? |
21:37:58 | FromDiscord | <Gumber> I made the graphics backend vulkan so it's not tied to any platform specific graphics API |
21:38:01 | FromDiscord | <Gumber> nope p2p lockstep |
21:38:06 | nrds | <Prestige99> ah, okay |
21:38:11 | FromDiscord | <Gumber> for now only available on steam but I could add more gamer services and sell on epic too |
21:38:13 | FromDiscord | <Gumber> maybe gog |
21:38:18 | FromDiscord | <Gumber> haven't checked out if they have a gamer service yet |
21:38:24 | FromDiscord | <Gumber> but it will have leaderboards, matchmaking, ELO, etc.... |
21:38:41 | FromDiscord | <Gumber> theme wise - I'm either going to do something WWII or alt history US civil war |
21:39:01 | nrds | <Prestige99> I thought you could get around the floating point issue with a lockstep system |
21:39:05 | FromDiscord | <Gumber> the second idea is my favorite but I haven't fully thought through how I'd do game mechanics with that idea yet |
21:39:11 | FromDiscord | <Gumber> nah |
21:39:17 | FromDiscord | <Gumber> lockstep really solves bandwidth issues |
21:39:28 | FromDiscord | <Gumber> doesn't handle floating point determinism |
21:39:35 | FromDiscord | <Gumber> you can get around floating point determinism using a master server architcture |
21:39:57 | nrds | <Prestige99> That's a shame tbh |
21:40:01 | FromDiscord | <Gumber> p2p lockstep really just makes it so you don't have to send down a fresh copy of the game state every tick |
21:40:05 | nrds | <Prestige99> Would love to see it on Linux as well |
21:40:15 | FromDiscord | <Gumber> so you can have hundreds of thousands of units in a game at once |
21:40:28 | FromDiscord | <Gumber> of course the planetary annihilation guys figured this out to some degree |
21:41:40 | FromDiscord | <Gumber> https://www.forrestthewoods.com/blog/tech_of_planetary_annihilation_chrono_cam/ |
21:42:17 | FromDiscord | <Gumber> but as far as having enough detail to implement my own version of it, I don't think the blog article is that enlightening |
21:42:22 | FromDiscord | <Gumber> and also I don't want to have to pay for servers |
21:42:29 | FromDiscord | <Gumber> when I can just fork over $100 to steam and be done with it |
21:42:48 | FromDiscord | <Gumber> but yeah - wine is always an option for linux users who want to play |
21:44:05 | * | smvg joined #nim |
21:44:52 | FromDiscord | <Gumber> I could do a fixed math implementation but I don't think it's worth the perf penalty |
21:44:59 | smvg | has anyone done benchmarks comparing cython against nim ? I'm curious to see the performance differences |
21:45:02 | FromDiscord | <Gumber> I want to be able to have massive battles in whatever game I create |
21:45:10 | FromDiscord | <Gumber> Nim is not Python |
21:45:15 | FromDiscord | <Gumber> and doesn't strive to be |
21:45:31 | nrds | <Prestige99> just performance though? |
21:45:39 | FromDiscord | <Gumber> I just don't think it's a worthwhile benchmark |
21:45:44 | nrds | <Prestige99> yeah |
21:45:48 | FromDiscord | <Gumber> and I'm pretty sure Nim will beat it |
21:45:57 | FromDiscord | <Gumber> or can beat it rather |
21:46:01 | FromDiscord | <Gumber> benchmarks are stupid in that way |
21:46:19 | nrds | <Prestige99> I think with lockstep and fixed math, it could still get out of sync maybe |
21:46:22 | FromDiscord | <Gumber> Nim has a really really really really smart design |
21:46:32 | FromDiscord | <Gumber> yeah I mean there's always the chance for things to get out of sync |
21:46:41 | FromDiscord | <Gumber> but you can check for that and blow away game state in that occurance |
21:46:48 | FromDiscord | <Gumber> most RTS games have a system in place like this |
21:47:12 | FromDiscord | <Gumber> see Andreas was extremely smart to make Nim produce C |
21:47:27 | FromDiscord | <Gumber> you have a language and compiler that has been around and worked on and optimized for decades |
21:47:36 | FromDiscord | <Gumber> it's the grandpa of modern programming languages |
21:47:52 | FromDiscord | <Gumber> by modern I mean like post-punch cards |
21:48:10 | FromDiscord | <Gumber> so Nim doesn't have to fill that gap |
21:48:26 | FromDiscord | <Gumber> it can just produce correct portable C and then take advantage of all that existing compiler infrastructure / tooling |
21:48:28 | pch_ | most modern languages are written in C |
21:48:32 | * | pch_ is now known as kinkinkijkin |
21:48:37 | FromDiscord | <Gumber> Nim isn't written in C |
21:48:40 | FromDiscord | <Gumber> sure it has compiler magic implemented in C |
21:48:45 | FromDiscord | <Gumber> but Nim is self hosted |
21:48:47 | FromDiscord | <Gumber> and boostrapped |
21:49:11 | kinkinkijkin | nim itself is written in C, the STD is written in nim |
21:49:11 | FromDiscord | <Gumber> the Nim compiler is written in Nim |
21:49:14 | kinkinkijkin | this is extremely common |
21:49:19 | FromDiscord | <Gumber> uhhhh incorrect |
21:49:35 | FromDiscord | <Gumber> the Nim compiler is 100% Nim |
21:49:41 | FromDiscord | <Gumber> minus magic |
21:49:44 | kinkinkijkin | uhhhh correct, the definition of the grammar is entirely in C |
21:49:58 | FromDiscord | <Gumber> we're debating semantics at this point |
21:50:01 | kinkinkijkin | the compiler transpiles the nim to C then sends it to GCC |
21:50:07 | kinkinkijkin | no we're not |
21:50:09 | FromDiscord | <Gumber> it doesn't transpile first of all |
21:50:12 | kinkinkijkin | it doesx |
21:50:12 | FromDiscord | <Gumber> it compiles to C |
21:50:18 | FromDiscord | <Gumber> okay keep spreading FUD about stuff you dont' know about |
21:50:23 | FromDiscord | <Gumber> what's the idfference between transpilation and compilation? |
21:50:36 | FromDiscord | <Gumber> because Nim doesn't transpile to C |
21:50:44 | FromDiscord | <Gumber> it's a differnt level of abstraction |
21:50:47 | kinkinkijkin | I've been using nim for 4 years, nim transpiles to various languages (C by default) |
21:50:47 | FromDiscord | <Gumber> it compiles to C |
21:50:52 | FromDiscord | <Gumber> I've bene using Nim for longer than you bud |
21:50:57 | FromDiscord | <Gumber> (edit) "bene" => "been" |
21:51:05 | kinkinkijkin | k |
21:51:06 | FromDiscord | <Gumber> it doesn't transpile to C |
21:51:12 | FromDiscord | <Gumber> if you want to debate me you can but you're wrong |
21:51:16 | FromDiscord | <Gumber> and the inventor of the language will agree with me |
21:51:25 | kinkinkijkin | uh |
21:51:46 | FromDiscord | <Gumber> Nim was orignally written in object pascal btw |
21:51:56 | FromDiscord | <Gumber> so keep getting your facts wrong |
21:52:00 | kinkinkijkin | nim compiler generates C files and sends them to GCC or Clang to compile them |
21:52:05 | kinkinkijkin | this is what transpilation is |
21:52:08 | FromDiscord | <Gumber> no it's not |
21:52:10 | FromDiscord | <Elegantbeef> It's a pointless distinction eitherway |
21:52:15 | FromDiscord | <enthus1ast> in the end, this ^ is a useless debate ;) |
21:52:19 | kinkinkijkin | it is |
21:52:19 | FromDiscord | <Gumber> you don't know the difference between transpilation and compilation |
21:52:25 | FromDiscord | <Gumber> but that's fine |
21:52:36 | FromDiscord | <Gumber> as I said we're debating semantics |
21:52:40 | FromDiscord | <Gumber> and I don't want to do so anymore |
21:52:50 | kinkinkijkin | then gumber, please, if you're so infinitely much smarter than some random person you know nothing about |
21:52:52 | kinkinkijkin | explain transpilation. |
21:52:56 | FromDiscord | <Gumber> if you want to go microbenchmark cython vs Nim go ahead - I see little point in the experiment o reffort |
21:53:00 | FromDiscord | <Gumber> I never said I was smarter than you |
21:53:05 | FromDiscord | <Gumber> I said I knew more about this topic than you |
21:53:10 | FromDiscord | <Gumber> don't conflate the two |
21:53:26 | FromDiscord | <Gumber> transpilation is producing or generating code at the same abstraction level as the language you are writing in |
21:53:29 | FromDiscord | <Elegantbeef> There is an important point of abstraction level |
21:53:32 | FromDiscord | <Gumber> so Java to C# would be transpilation |
21:53:35 | FromDiscord | <Elegantbeef> But eitherway it's a stupid argument |
21:53:47 | FromDiscord | <Gumber> C is at a lower abstraction level than Nim |
21:53:49 | FromDiscord | <Gumber> thus compiliation |
21:53:53 | FromDiscord | <Gumber> like I said semantic debate |
21:53:55 | FromDiscord | <Gumber> pointless |
21:54:18 | FromDiscord | <Gumber> but a distinction nonetheless |
21:54:53 | FromDiscord | <dom96> Is GCC a transpiler because it translates C into Asm? |
21:55:01 | FromDiscord | <Gumber> yeah exactly |
21:55:11 | FromDiscord | <Gumber> thank you for the analogy dom |
21:55:22 | kinkinkijkin | it doesn't, though |
21:55:36 | kinkinkijkin | compilation is turning programming language into bytecode |
21:55:41 | FromDiscord | <Gumber> is it? |
21:55:43 | kinkinkijkin | ASM to bytecode is compilation |
21:55:52 | FromDiscord | <Gumber> I'd say you're incorrect |
21:56:03 | kinkinkijkin | because machine bytecode is nowhere near 1:1 to ASM |
21:56:09 | FromDiscord | <dom96> Asm is just a textual representation of bytecode |
21:57:01 | FromDiscord | <enthus1ast> this might also not be correct, because eg a move to a mem address and a move to a register produce different opcodes |
21:57:06 | kinkinkijkin | not really, most ASMs are written perfectly sequentially while bytecode actually run is not actually perfectly sequential |
21:57:14 | FromDiscord | <enthus1ast> so it also depends on the context |
21:57:15 | FromDiscord | <Gumber> and bytecode is something that can be interpreted by a bytecode interpreter |
21:57:23 | FromDiscord | <Gumber> ASM is the human readable form of a machine's native language |
21:57:27 | FromDiscord | <Gumber> they are different |
21:57:44 | kinkinkijkin | god can you please stop condescending for no goddamn reason |
21:57:52 | kinkinkijkin | im not even a single-native english speaker |
21:57:52 | FromDiscord | <Gumber> that's the way you're taking it |
21:58:06 | FromDiscord | <Gumber> I corrected you and you got offended |
21:58:11 | FromDiscord | <Gumber> that's not my problem |
21:58:36 | FromDiscord | <Gumber> you also tried to flex your nim experience on me |
21:58:37 | kinkinkijkin | stop making incorrect corrections based on semantics you think you know perfectly and unassailably |
21:58:39 | FromDiscord | <Gumber> when you know nothing about me or who I am |
21:59:02 | FromDiscord | <Gumber> I know I'm correct in this situation and if you want to debate it with the language author go right ahead |
21:59:11 | FromDiscord | <dom96> It’s unfortunately easy to see condescension when talking like this. I’m personally not trying to be condescending, sorry if I’m coming across that way. |
21:59:18 | FromDiscord | <Gumber> his name is andreas rumph and you can probably find him active in #internals |
21:59:34 | FromDiscord | <Gumber> if you weren't aware of his handle or his name |
21:59:35 | FromDiscord | <Gumber> it's araq |
21:59:42 | FromDiscord | <Gumber> I'm done with this convo |
21:59:47 | FromDiscord | <Gumber> it's not productive or fun |
22:00:08 | kinkinkijkin | thank you for telling me the creator of the language i use primarily |
22:00:19 | FromDiscord | <Gumber> again I don't know what you know about the langauge or its inventor |
22:00:23 | kinkinkijkin | next i need you to tell me what a "proc" is |
22:00:29 | FromDiscord | <dom96> Do have a look at the wiki page for ‘transpilation’ |
22:00:32 | FromDiscord | <Gumber> well I assume you know that if you've been using Nim for four years |
22:00:39 | FromDiscord | <dom96> It supports the abstraction levels definition |
22:00:47 | FromDiscord | <Gumber> not everyone is familiar with the language's history |
22:00:53 | FromDiscord | <Gumber> or its creator |
22:01:08 | FromDiscord | <Gumber> again you're interpreting my words in a certain way and I cannot help that |
22:01:49 | kinkinkijkin | okay, so for context gumber, I'm a tooling developer who works mostly on porting and compilers |
22:01:55 | FromDiscord | <Gumber> gotcha |
22:02:04 | * | KainAlive joined #nim |
22:02:22 | FromDiscord | <Gumber> I'm a game engine developer |
22:02:33 | FromDiscord | <Gumber> I joined the community about six years ago at this point |
22:02:40 | FromDiscord | <Gumber> late 2014 |
22:02:42 | kinkinkijkin | and I've been developing since I got my first computer when I was 10, so it's safe to assume I have understanding of concepts |
22:02:42 | * | KainAlive quit (Client Quit) |
22:02:46 | FromDiscord | <Gumber> or early 2015 |
22:02:54 | FromDiscord | <Gumber> well I don't know how old you are |
22:02:56 | kinkinkijkin | I also speak 2 languages natively and develop in both of them |
22:02:57 | FromDiscord | <Gumber> you might be 12 |
22:03:09 | kinkinkijkin | so words get mixed up |
22:03:13 | FromDiscord | <Gumber> that's okay I understand |
22:03:19 | FromDiscord | <Gumber> I'm slightly autistic and have bad ADHD |
22:03:37 | FromDiscord | <Gumber> however I am a native English speaker and I code in a large variety of languages and paradigms |
22:03:39 | kinkinkijkin | but condescending over concepts and turning things into semantic debates is something that crosses language barriers |
22:03:49 | FromDiscord | <Gumber> I wasn't being condescending |
22:03:54 | FromDiscord | <Gumber> that's how you interpreted my words |
22:04:06 | FromDiscord | <Gumber> I was trying to explain a nuance to you |
22:04:34 | FromDiscord | <Gumber> and stop a misnomer from being accepted as truth, or what I perceived to be a misnomer |
22:04:42 | FromDiscord | <Gumber> and I think others would agree in this community, was a misnomer |
22:04:55 | FromDiscord | <Gumber> if we can just leave it at that - I'm fine with that outcome from this exchange |
22:05:03 | kinkinkijkin | nim, in its current "canonical" grammar definition, is written in C, though has translated grammars in C++, JS, and some others I don't remember right now |
22:05:10 | FromDiscord | <Gumber> and I won't walk away with any resentment or hard feelings if you don't as well |
22:05:30 | kinkinkijkin | the nim compiler creates translated grammars for the backend language compiler in use |
22:05:59 | kinkinkijkin | there's a lot of names for this but transpilation is one used in multiple communities to refer to this form of compilation |
22:05:59 | FromDiscord | <Gumber> I don't disagree with these statements |
22:06:14 | FromDiscord | <Gumber> in this community that has not historically been the case |
22:06:25 | FromDiscord | <Gumber> and that distinction was made very very often by Araq |
22:06:32 | FromDiscord | <Gumber> whenever this subject was brought up |
22:06:34 | kinkinkijkin | because transpilation is also used as a "bad" word to some people so people try to avoid it here |
22:07:04 | FromDiscord | <dom96> Yes. Typically the word transpilation is meant to diminish Nim. |
22:07:08 | kinkinkijkin | iirc most of the language's developers are in agreement that they see it as a bad word |
22:07:16 | FromDiscord | <dom96> But the fact remains: the WP definition disagrees. |
22:07:54 | FromDiscord | <dom96> The only thing we can argue about is whether C and Nim have the same “abstraction level “ |
22:08:14 | FromDiscord | <dom96> I would say Nim is distinctly more high level than C |
22:08:29 | kinkinkijkin | technically what nim does is actually called "through-compilation" but in the communities ive been brought up in, that's grouped in under transpilation |
22:08:43 | FromDiscord | <dom96> Thus by WPs definition, Nim compiles to C |
22:09:40 | FromDiscord | <zentoad> Is this the chat to ask for help? |
22:09:43 | FromDiscord | <Gumber> yes |
22:09:46 | kinkinkijkin | yes please do |
22:09:51 | FromDiscord | <Gumber> just slightly been derailed but our convo |
22:10:12 | FromDiscord | <Gumber> (edit) "but" => "byu" |
22:10:12 | * | KainAlive joined #nim |
22:10:19 | FromDiscord | <zentoad> When I get errors like this trying to call some C++ code: |
22:10:20 | FromDiscord | <Gumber> (edit) "byu" => "by" |
22:10:22 | FromDiscord | <enthus1ast> (it would be nice if the offtopic room is bridged to matrix btw ;) ) |
22:10:30 | FromDiscord | <zentoad> sent a code paste, see https://play.nim-lang.org/#ix=3AxT |
22:10:37 | FromDiscord | <zentoad> I have no idea how to debug this |
22:10:42 | FromDiscord | <Gumber> can we see your Nim code? |
22:11:01 | FromDiscord | <Gumber> and how you're compiling it? |
22:11:04 | FromDiscord | <zentoad> sent a code paste, see https://play.nim-lang.org/#ix=3AxU |
22:11:19 | FromDiscord | <zentoad> I took everything out until I get this error, and I know the code isn't right, but |
22:11:27 | FromDiscord | <Gumber> how are you linking to G2lib? |
22:11:33 | FromDiscord | <enthus1ast> you must link the library youre useing |
22:11:55 | FromDiscord | <Gumber> well I'm not even sure that's the issue honestly |
22:12:01 | FromDiscord | <zentoad> My questions is, I guess, is there any way to know that's the problem from the errors |
22:12:02 | FromDiscord | <dom96> In reply to @enthus1ast "(it would be nice": It is bridged to matrix |
22:12:03 | FromDiscord | <Gumber> `stdlib_ioDatInit000` looks like some Nim symbol |
22:12:09 | FromDiscord | <Gumber> if you know C++ there is |
22:12:23 | FromDiscord | <enthus1ast> OR make sure the lib exports this symbol |
22:12:41 | FromDiscord | <Gumber> it's to difficult to debug your issue without knowing how you're compiling your program |
22:12:41 | FromDiscord | <zentoad> None of those calls (like the ioDatInit) are part of the C++ library I have to use |
22:12:48 | FromDiscord | <zentoad> ok |
22:12:50 | FromDiscord | <Gumber> like I said it looks like a Nim symbol |
22:12:57 | FromDiscord | <Gumber> also what operating system are you on? |
22:13:04 | FromDiscord | <Gumber> and what version of Nim are you using? |
22:13:04 | FromDiscord | <zentoad> Windows 10 |
22:13:20 | FromDiscord | <zentoad> Nim Compiler Version 1.4.8 [Windows: amd64] |
22:13:24 | FromDiscord | <Gumber> okay |
22:13:33 | FromDiscord | <Gumber> and what does the invocation of `nim.exe look like?` |
22:13:37 | FromDiscord | <Gumber> (edit) "`nim.exe" => "`nim.exe`" | "like?`" => "like?" |
22:14:03 | FromDiscord | <zentoad> is there a more verbose flag to use or some other way for digging in? |
22:14:08 | FromDiscord | <enthus1ast> and gcc version? |
22:14:15 | FromDiscord | <enthus1ast> (or c compiler version) |
22:14:27 | FromDiscord | <Gumber> In reply to @zentoad "is there a more": how are you compiling your code??? |
22:14:41 | FromDiscord | <zentoad> gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0 |
22:14:41 | FromDiscord | <Gumber> give me the command you're issuing to the command line |
22:14:49 | FromDiscord | <zentoad> sorry: |
22:14:50 | FromDiscord | <Gumber> `nim cpp ???` |
22:14:59 | FromDiscord | <zentoad> just nim cpp file.nim |
22:15:01 | FromDiscord | <zentoad> that's it |
22:15:04 | FromDiscord | <enthus1ast> this one @dom96 https://matrix.to/#/#nim-offtopic:matrix.org ? |
22:15:06 | FromDiscord | <zentoad> sorry I'm new to this |
22:15:15 | FromDiscord | <Gumber> no worries |
22:15:19 | FromDiscord | <Gumber> and no need to apologize |
22:15:24 | FromDiscord | <dom96> In reply to @enthus1ast "this one <@132595483838251008> https://matrix.to/#/": I believe so |
22:15:35 | FromDiscord | <Gumber> okay first of all you're not linking at all to your library as enthus1ast pointed out |
22:15:38 | FromDiscord | <Gumber> so that's one problem |
22:15:51 | FromDiscord | <zentoad> what is the best way to link those libraries? |
22:15:58 | FromDiscord | <Gumber> another problem appears to be that Nim's runtime isn't being linked correctly |
22:16:11 | FromDiscord | <Gumber> well you need to determine whether you want to statically or dynamically link your library |
22:16:17 | FromDiscord | <enthus1ast> i just pinged you in this channel. The channel is empty↵(@dom96) |
22:16:24 | FromDiscord | <zentoad> In reply to @Gumber "another problem appears to": Ahhh I don't know what that means, so it's probably wrong |
22:16:32 | FromDiscord | <Gumber> how'd you install Nim? |
22:17:00 | FromDiscord | <enthus1ast> could also be an ancient c compiler |
22:17:05 | FromDiscord | <Gumber> could be |
22:17:10 | FromDiscord | <Gumber> well cpp compiler but |
22:17:23 | FromDiscord | <Gumber> `gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0` |
22:18:05 | FromDiscord | <Gumber> @zentoad did you use choosenim and run `finish.exe`? |
22:18:09 | FromDiscord | <Gumber> or sorry I mean download Nim |
22:18:13 | FromDiscord | <Gumber> and run `finish.exe`? |
22:18:21 | FromDiscord | <Gumber> or did you use choosenim or ??? |
22:18:32 | FromDiscord | <zentoad> I downloaded and did finish.exe |
22:18:42 | FromDiscord | <Gumber> where is your Nim installation located? |
22:18:52 | FromDiscord | <Gumber> on your machine? |
22:19:13 | FromDiscord | <zentoad> E:\nim-1.4.8_x64\nim-1.4.8 |
22:19:16 | FromDiscord | <Gumber> I doubt this is causing the issue but... |
22:19:17 | FromDiscord | <Gumber> okay |
22:19:39 | FromDiscord | <Gumber> is Nim's `bin` folder in your system path? |
22:19:56 | FromDiscord | <zentoad> yes |
22:20:09 | FromDiscord | <Gumber> do me a favor... |
22:20:31 | FromDiscord | <Gumber> try running - `nim --cc:vcc -r file.nim` |
22:20:38 | FromDiscord | <Gumber> and tell me what it outputs |
22:20:39 | FromDiscord | <zentoad> ok |
22:21:10 | FromDiscord | <Gumber> sorry |
22:21:34 | FromDiscord | <Gumber> nim --cc:vcc cpp -r file.nim |
22:22:01 | FromDiscord | <zentoad> ohhhh. That worked? |
22:22:06 | FromDiscord | <zentoad> huh |
22:22:20 | FromDiscord | <Gumber> okay so mingw is the issue |
22:22:29 | FromDiscord | <Gumber> something is wrong with your mingw setulp |
22:22:31 | FromDiscord | <Gumber> (edit) "setulp" => "setup" |
22:22:38 | FromDiscord | <zentoad> man - this mingw/vs is driving me nuts |
22:22:41 | FromDiscord | <geekrelief> In reply to @geekrelief "a little progress, I": @Gumber I was mistaken. The warning about the pointer truncation is still there. I'm not sure what's referencing `basetsd.h` I looked all over the generated C and in the nim source. |
22:22:43 | FromDiscord | <leorize> have you tried to extract that archive?↵(@dom96) |
22:22:44 | FromDiscord | <Gumber> do you have multiple mingw installations or cygwin or something installed? |
22:23:10 | FromDiscord | <Gumber> In reply to @geekrelief "<@!204328759715692544> I was mistaken.": hmmmm - can you share your bindings and tell me what header you're trying to wrap? |
22:23:25 | FromDiscord | <zentoad> I do. Ruby put on somewhere, nim did too, and I've got another mingw installed |
22:23:28 | FromDiscord | <geekrelief> Yeah, I'll put it up. |
22:23:29 | FromDiscord | <Gumber> that's probably your issue |
22:23:38 | FromDiscord | <leorize> if you look here\: https://github.com/nim-lang/nightlies/releases/tag/latest-version-1-6 you will see that binary artifacts for \nix are `.tar.xz` |
22:23:49 | FromDiscord | <Gumber> I'm guessing the wrong mingw is getting invoked |
22:24:40 | FromDiscord | <zentoad> hmm, ok |
22:24:40 | FromDiscord | <enthus1ast> gcc --version |
22:25:01 | * | KainAlive quit (Quit: Quit) |
22:25:03 | FromDiscord | <zentoad> gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0 |
22:25:13 | FromDiscord | <zentoad> λ which gcc↵/c/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gcc |
22:25:28 | FromDiscord | <zentoad> but I imagine this isn't what my nim install is using |
22:25:33 | FromDiscord | <zentoad> I actually don't know |
22:25:49 | FromDiscord | <enthus1ast> GCC 8.1↵May 2, 2018 |
22:25:58 | FromDiscord | <enthus1ast> yeah try to update this one \:) |
22:26:09 | * | smvg quit (Quit: Leaving...) |
22:26:12 | FromDiscord | <zentoad> OK |
22:26:25 | FromDiscord | <zentoad> I'll go mess with all this and see what happens |
22:26:29 | FromDiscord | <enthus1ast> mine is ↵gcc (Rev2, Built by MSYS2 project) 10.1.0 |
22:26:33 | FromDiscord | <zentoad> Thank you guys/girls for the help |
22:28:56 | FromDiscord | <zentoad> Oh, how is the best way to set the path: -I./include and libraries: opengl.lib |
22:31:05 | FromDiscord | <dom96> In reply to @leorize "if you look here\:": 😢 |
22:32:23 | FromDiscord | <Gumber> In reply to @zentoad "Oh, how is the": I gotta finish up some work but I can help you with this in a few if you're still around |
22:33:44 | FromDiscord | <enthus1ast> you could put this in a youFilename.nims file↵(@zentoad) |
22:34:29 | FromDiscord | <enthus1ast> https://nim-lang.org/docs/nims.html |
22:34:54 | FromDiscord | <enthus1ast> this is evaluated every time you build your application |
22:35:11 | * | greaser|q quit (Changing host) |
22:35:11 | * | greaser|q joined #nim |
22:35:12 | FromDiscord | <enthus1ast> then use `switch` |
22:35:13 | * | greaser|q is now known as GreaseMonkey |
22:35:30 | FromDiscord | <enthus1ast> or put it in a nimble task |
22:37:44 | * | kayabaNerve joined #nim |
22:40:47 | FromDiscord | <dom96> So do I fight nimterop/nimarchive or implement tar.xz support in untar |
22:41:32 | FromDiscord | <Gumber> @zentoad yeah pretty what enthus1ast said: `--passC: "-I /your/include/dir/here"` or you can stick it in a nim.cfg file or config.nims file |
22:42:08 | FromDiscord | <Gumber> you shouldn't need to touch opengl.lib - you just need to make sure it's somewhere the linker can find it which it should be able to without any effort on your part |
22:42:37 | FromDiscord | <Gumber> make sure you read Nim's opengl docs if you're using Nim's opengl library |
22:43:09 | FromDiscord | <Gumber> sent a code paste, see https://play.nim-lang.org/#ix=3AxZ |
22:43:17 | * | Gustavo6046 quit (Remote host closed the connection) |
22:43:23 | FromDiscord | <enthus1ast> ok looking at the nim discord, there is a lot more going on, in terms of rooms etc |
22:43:36 | * | Gustavo6046 joined #nim |
22:43:47 | FromDiscord | <enthus1ast> i think this could all be done with the new matrix spaces |
22:43:53 | FromDiscord | <Gumber> isn't it already? |
22:43:59 | FromDiscord | <Gumber> I just upgraded matrix today and got the spaces thing |
22:44:05 | FromDiscord | <Gumber> and saw all of the community rooms |
22:44:13 | FromDiscord | <Gumber> I think the only thing that won't translate exactly is threads |
22:44:16 | FromDiscord | <enthus1ast> yes?↵(@Gumber) |
22:44:17 | FromDiscord | <Gumber> but I'm not sure about that either |
22:44:32 | FromDiscord | <enthus1ast> mhh i think i must upgrade my homeserver |
22:44:34 | FromDiscord | <Elegantbeef> Not that this community uses threads |
22:44:36 | FromDiscord | <Gumber> https://media.discordapp.net/attachments/371759389889003532/893629498707279932/unknown.png |
22:44:48 | FromDiscord | <Elegantbeef> I hit the same issue with element's spaces being hidden in a beta flag |
22:44:59 | FromDiscord | <Gumber> yup |
22:45:06 | FromDiscord | <Gumber> had to enable it / opt-in to it |
22:45:11 | FromDiscord | <dom96> we also have a space on Matrix https://matrix.to/#/#nim:envs.net |
22:45:50 | FromDiscord | <enthus1ast> ok then this is an issue on my part |
22:46:23 | FromDiscord | <Elegantbeef> Indeed |
22:46:33 | FromDiscord | <Elegantbeef> Need more mods from matrix though 😀 |
22:48:52 | * | kayabaNerve quit (Ping timeout: 252 seconds) |
22:55:35 | FromDiscord | <fenrave> bit new to nim, is there any way of creating separate blocks of code without necessarily making a new function or macro? |
22:56:02 | FromDiscord | <fenrave> mostly just to indent sections of code to make them easier to read and to collapse them when i don't need to read them |
22:56:11 | FromDiscord | <Elegantbeef> `block` |
22:56:33 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3Ay2 |
22:56:34 | FromDiscord | <fenrave> ah |
22:56:51 | FromDiscord | <Elegantbeef> You can also just make a template |
22:57:15 | FromDiscord | <fenrave> yeah i could but its just for indenting properties after making an object |
22:57:38 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=3Ay3 |
22:57:47 | FromDiscord | <enthus1ast> normally when i do a block for "better visuals" it could be a proc, and it mostly ends this way |
22:58:01 | FromDiscord | <geekrelief> Hey @Gumber Here's my version of nimterop https://github.com/geekrelief/nimterop/tree/define and the binding generator https://github.com/geekrelief/tm-nim Clone them at the same level, then in tm-nim modify tm_gen.nim's `tm_nim_dir`. Then build with `nim c tm_gen.nim` It should spit out a bunch of warnings, but it'll generate `tm.nim` which compiles fine with `nim c minimal.nim`. |
22:58:04 | FromDiscord | <enthus1ast> func/proc |
22:59:02 | FromDiscord | <fenrave> does the bridge pass images |
22:59:13 | FromDiscord | <Elegantbeef> Yes |
22:59:28 | FromDiscord | <Elegantbeef> Though irc users get links cause images dont go into text well 😛 |
22:59:28 | FromDiscord | <geekrelief> In reply to @geekrelief "Hey <@!204328759715692544> Here's my": @Gumber Going to grab something to eat. Let me know if you have any issues. Thanks! |
22:59:40 | FromDiscord | <Elegantbeef> Matrix users get embeds assuming they're on gui client |
23:00:04 | FromDiscord | <Elegantbeef> Guess the same applies to irc |
23:00:24 | FromDiscord | <fenrave> would be cool if termical clients automatically converted them to ascii characters |
23:00:44 | FromDiscord | <Elegantbeef> Lol useless but cool indeed |
23:02:51 | FromDiscord | <dom96> sure would be nice if there was a WinAPI function for extracting a zip file |
23:04:17 | FromDiscord | <enthus1ast> zippy can read zip files |
23:06:35 | FromDiscord | <fenrave> https://media.discordapp.net/attachments/371759389889003532/893635030360948776/unknown.png |
23:06:44 | FromDiscord | <fenrave> mostly so i can just hide hideous blocks like this https://media.discordapp.net/attachments/371759389889003532/893635069762240542/unknown.png |
23:06:57 | FromDiscord | <Gumber> In reply to @geekrelief "<@!204328759715692544> Going to grab": going to take a break for a bit myself because I've been at it all day, but I will take a look for you as soon as I am back 🙂 |
23:07:23 | FromDiscord | <geekrelief> In reply to @Gumber "going to take a": Thanks, no rush. I'll keep working on this. |
23:07:38 | FromDiscord | <Gumber> I shouldn't be too long, prob back in an hour or so |
23:08:25 | FromDiscord | <Gumber> In reply to @fenrave "": you can actually use `block`s to avoid early returns, etc... |
23:08:33 | FromDiscord | <dom96> In reply to @enthus1ast "zippy can read zip": wow a pure Nim library, amazing |
23:08:35 | FromDiscord | <Gumber> I do this quite often in my code |
23:09:01 | FromDiscord | <fenrave> i'll remember that one, i had a problem with that when i was just messing around with nim a bit like 6 months ago |
23:09:08 | FromDiscord | <Gumber> I can show you an example |
23:09:11 | FromDiscord | <fenrave> ok |
23:09:30 | FromDiscord | <Gumber> keep in mind, I don't use exceptions |
23:10:02 | FromDiscord | <Gumber> sent a code paste, see https://paste.rs/0wK |
23:10:10 | FromDiscord | <Gumber> here is a simple example - but you can of course nest and name blocks and then break out of a named block |
23:32:29 | * | max22- quit (Remote host closed the connection) |
23:46:59 | FromDiscord | <dom96> heh, leave it to the Nim archives to find an edge case immediately https://github.com/guzba/zippy/issues/29 |
23:52:03 | FromDiscord | <enthus1ast> \:) |