00:04:47 | * | jmdaemon joined #nim |
00:17:07 | FromDiscord | <saint._._.> sent a code paste, see https://play.nim-lang.org/#ix=4FSq |
00:17:23 | FromDiscord | <saint._._.> sent a code paste, see https://play.nim-lang.org/#ix=4FSr |
00:17:39 | FromDiscord | <saint._._.> I get `Error: cannot instantiate: 'T'` |
00:17:56 | FromDiscord | <Elegantbeef> You didnt specify the generic parameter |
00:18:15 | FromDiscord | <saint._._.> How do I do that @ElegantBeouf |
00:18:23 | FromDiscord | <saint._._.> Sorry for the bad questionss |
00:18:44 | NimEventer | New thread by DMisener: Nimble newbie issue, see https://forum.nim-lang.org/t/10472 |
00:18:48 | FromDiscord | <Elegantbeef> `get2[type]()` |
00:18:53 | FromDiscord | <saint._._.> I've been trying to follow https://scripter.co/binding-nim-to-c-plus-plus-std-list/#bindings-to-the-c-plus-plus-list-header |
00:19:28 | FromDiscord | <saint._._.> In reply to @Elegantbeef "`get2[type]()`": Oh but can't it be like inferred |
00:19:50 | FromDiscord | <Elegantbeef> How could it be inferred in the first place |
00:20:04 | FromDiscord | <Elegantbeef> `var cat` has no type |
00:20:21 | FromDiscord | <saint._._.> so get2 is returning a specific data type |
00:20:26 | FromDiscord | <saint._._.> It's returning a value of json |
00:20:57 | FromDiscord | <saint._._.> sent a code paste, see https://play.nim-lang.org/#ix=4FSs |
00:21:11 | FromDiscord | <saint._._.> get2 is mapped to this cpp test() function |
00:21:13 | FromDiscord | <Elegantbeef> It's a generic though you need to specify that generic parameter |
00:21:37 | FromDiscord | <saint._._.> How does cpp do it though, because you don't specify what type you want |
00:21:50 | FromDiscord | <saint._._.> You just enter the keys and it gives you the appropriate type back based on the parsed json |
00:22:08 | FromDiscord | <Elegantbeef> I don't know C++ so I do not know |
00:22:54 | FromDiscord | <saint._._.> Gotcha |
01:02:59 | FromDiscord | <demotomohiro> In reply to @saint._._. "You just enter the": iirc, you can do like `test<int>();` |
01:04:41 | FromDiscord | <saint._._.> In reply to @demotomohiro "iirc, you can do": simdjson_inline simdjson_result<value> operator[](const char key) noexcept; |
01:04:53 | FromDiscord | <saint._._.> This is from the .h file... how does it know to get <value> |
01:05:03 | FromDiscord | <saint._._.> This is a cpp question but idk how this owrks |
01:05:16 | FromDiscord | <saint._._.> simdjson_result is with <T> |
01:06:15 | FromDiscord | <demotomohiro> In reply to @saint._._. "This is from the": Is that a function inside class? |
01:07:18 | FromDiscord | <saint._._.> Yeah |
01:07:35 | FromDiscord | <demotomohiro> Isn't that `value` template parameter of that class? |
01:08:20 | FromDiscord | <saint._._.> Oh u might be right |
01:09:00 | FromDiscord | <demotomohiro> If so, `classname<int> foo; auto x = foo["key"];` |
01:09:28 | FromDiscord | <demotomohiro> So `value` become `int`. |
01:11:10 | FromDiscord | <raynei486> In reply to @saint._._. "How does cpp do": C++ templates are different from Nim generics↵Nim generics just mean "this can apply to whatever type the user specifies"↵C++ templates are that and can possibly infer the type↵Nim can also do type inference, just not with generics AFAIK |
01:15:22 | FromDiscord | <saint._._.> Hmm ok |
01:15:38 | FromDiscord | <raynei486> sent a code paste, see https://play.nim-lang.org/#ix=4FSz |
01:15:50 | FromDiscord | <raynei486> (edit) "https://play.nim-lang.org/#ix=4FSz" => "https://play.nim-lang.org/#ix=4FSA" |
01:16:03 | FromDiscord | <raynei486> (edit) "https://play.nim-lang.org/#ix=4FSA" => "https://play.nim-lang.org/#ix=4FSB" |
01:16:37 | FromDiscord | <raynei486> C++ is a beautiful mess, you should check it out sometimes :D |
01:29:20 | FromDiscord | <taperfade> In reply to @taperfade "how do i": Here |
01:32:59 | FromDiscord | <saint._._.> In reply to @raynei486 "and since C++17 there's": Ahh interesting thanks I'll look into this more |
01:33:24 | FromDiscord | <taperfade> Guys can yall pls help |
01:33:28 | FromDiscord | <taperfade> I cant find anything online |
01:34:25 | FromDiscord | <Elegantbeef> I did |
01:39:03 | FromDiscord | <saint._._.> @taperfade https://nim-by-example.github.io/files/ |
01:39:09 | FromDiscord | <saint._._.> Does this help? |
01:39:25 | FromDiscord | <raynei486> In reply to @taperfade "Error: unhandled exception: cannot": if you used `writeFile` here I think it's because the program doesn't have permission to write to that directory |
01:39:41 | FromDiscord | <raynei486> also if you're too frustrated you should consider doing an easier project |
01:39:53 | FromDiscord | <raynei486> and also follow a tutorial first |
01:40:05 | FromDiscord | <raynei486> nothing wrong with that if you walk out with something done and learned |
01:40:10 | FromDiscord | <saint._._.> I think you have to open it with write permission too |
01:40:24 | FromDiscord | <saint._._.> let f = open("catactivities.txt", fmWrite) |
01:40:26 | FromDiscord | <saint._._.> Like this |
01:41:50 | FromDiscord | <sOkam! 🫐> is there an inverse of `astToStr`, or does that require a macro mandatory? |
01:42:08 | FromDiscord | <Elegantbeef> `parseExpr` and yes |
01:42:56 | FromDiscord | <sOkam! 🫐> its more for creating a single symbol |
01:42:57 | FromDiscord | <taperfade> In reply to @raynei486 "nothing wrong with that": Thx but i know how i learn effectively |
01:43:07 | FromDiscord | <taperfade> And thats by setting a goal |
01:43:16 | FromDiscord | <taperfade> Like as an example idk uhh |
01:43:22 | FromDiscord | <taperfade> Malware |
01:43:29 | FromDiscord | <taperfade> And i learn the things it does |
01:43:34 | FromDiscord | <taperfade> Like creating files |
01:43:36 | FromDiscord | <taperfade> Etc |
01:43:41 | FromDiscord | <taperfade> :kirukosmug: |
01:44:14 | FromDiscord | <taperfade> I want to fill my GitHub with cool stuff |
01:44:19 | FromDiscord | <raynei486> but you're still at the stage of learning to express yourself and fix your programs |
01:44:33 | FromDiscord | <raynei486> like the error messages are fine↵you just haven't learned to read them yet |
01:44:36 | FromDiscord | <taperfade> I combine what i learned |
01:45:08 | FromDiscord | <taperfade> I learned how to send data to a webhook and then how to capture user keystrokes , boom keylogger |
01:45:16 | FromDiscord | <taperfade> But true |
01:45:23 | FromDiscord | <taperfade> I cant read the error stuff |
01:45:27 | FromDiscord | <taperfade> 😔 |
01:45:38 | FromDiscord | <raynei486> you just need to use nim more |
01:46:10 | FromDiscord | <raynei486> like domain specific knowledge is necessary but you're struggling more with the language |
01:47:02 | FromDiscord | <sOkam! 🫐> sent a long message, see http://ix.io/4FSG |
01:47:12 | FromDiscord | <taperfade> Dunning krueger effect hitting hard |
01:47:44 | FromDiscord | <sOkam! 🫐> i know it sucks to be sent to the manual, but the level of questions you need to answer right now are very easily answered by learning that manual navigation skill |
01:47:53 | FromDiscord | <taperfade> I use the manual |
01:47:56 | FromDiscord | <taperfade> Dw |
01:48:05 | FromDiscord | <sOkam! 🫐> yeah i know, but im talking about using it when you get frustrated |
01:48:12 | FromDiscord | <sOkam! 🫐> when you get stuck and you cannot find the answers |
01:48:20 | FromDiscord | <sOkam! 🫐> thats when that skill im mentioning matters |
01:48:59 | FromDiscord | <taperfade> I feel like im gonna be stuck being a beginner |
01:49:15 | FromDiscord | <taperfade> Since i was 8 i wanted to programm 😭 |
01:49:15 | FromDiscord | <sOkam! 🫐> yeah, until you learn that skill proficiently |
01:49:25 | FromDiscord | <sOkam! 🫐> im telling you because i've been that person |
01:49:40 | FromDiscord | <sOkam! 🫐> ive been sent to the tutorials like tens of times here, ive been that same person |
01:49:47 | FromDiscord | <raynei486> on the topic of documentation↵↵I'm interested in knowing what beginners find difficult about reading and finding documentation |
01:49:55 | FromDiscord | <raynei486> I do think nim docs can be better |
01:50:01 | FromDiscord | <sOkam! 🫐> and i was only able to stop being stuck when I learned that very non-flashy skill |
01:50:27 | FromDiscord | <sOkam! 🫐> In reply to @raynei486 "I do think nim": the wording of things is what made me stuck sometimes, personally |
01:50:35 | FromDiscord | <raynei486> In reply to @raynei486 "I do think nim": well I came from C++ so I'm comparing it with something like cppreference |
01:51:00 | FromDiscord | <sOkam! 🫐> having no reference to what things are, when the person who wrote that clearly has the context to understand their words -very- easily... but as a newbie you don't have that... so you are like, huh? |
01:51:02 | FromDiscord | <taperfade> I came from python |
01:51:15 | FromDiscord | <taperfade> I made a keylogger and a calculator in python |
01:51:21 | FromDiscord | <taperfade> Then switched to nim |
01:51:28 | FromDiscord | <taperfade> Just a few days ago |
01:54:16 | FromDiscord | <raynei486> In reply to @heysokam "having no reference to": oh yeah certainly |
01:54:20 | FromDiscord | <taperfade> :kirukosmug: |
01:54:42 | FromDiscord | <raynei486> it's hard to strike balance between a reference for the experienced and a guide for newcomers though |
01:55:48 | FromDiscord | <raynei486> In reply to @taperfade "I made a keylogger": I don't talking about that stuff on discord directly because it's against the TOS lol |
01:55:55 | FromDiscord | <Elegantbeef> Just don't make docs and have both parties angry at you |
01:56:00 | FromDiscord | <raynei486> (edit) "In reply to @taperfade "I made a keylogger": I don't ... talking" added "recommend" |
01:56:07 | FromDiscord | <raynei486> based beef take |
01:56:30 | FromDiscord | <taperfade> In reply to @raynei486 "I don't recommend talking": No way |
01:56:50 | FromDiscord | <raynei486> making anything malicious is against the TOS |
01:57:06 | FromDiscord | <raynei486> most programming servers I'm in don't allow helping people make malware |
01:57:22 | FromDiscord | <taperfade> Dang |
01:57:42 | FromDiscord | <Elegantbeef> I mean making malware is for losers anyway |
01:57:43 | FromDiscord | <Elegantbeef> Fite me |
01:57:44 | FromDiscord | <raynei486> but nim server is pretty lax so |
01:57:47 | FromDiscord | <raynei486> ¯\_(ツ)_/¯ |
01:57:50 | FromDiscord | <_gumbercules> Discord is basically malware |
01:57:59 | FromDiscord | <raynei486> true |
01:58:05 | FromDiscord | <raynei486> stealing my ram :( |
01:58:13 | FromDiscord | <sOkam! 🫐> In reply to @Elegantbeef "I mean making malware": i wont, i agree big time |
01:58:14 | FromDiscord | <taperfade> Opera is spyware |
01:58:25 | FromDiscord | <taperfade> Literally |
01:58:43 | FromDiscord | <taperfade> Thats why they have so much money to get sponsors |
01:58:57 | FromDiscord | <sOkam! 🫐> also stop making BS with nim, and making antivirus companies flag the entire language because of your shit↵we got enough of that, go use another lang |
01:58:59 | FromDiscord | <taperfade> (edit) "sponsors" => "ads" |
01:59:12 | FromDiscord | <taperfade> It already flagged mine |
01:59:14 | FromDiscord | <Elegantbeef> For anyone that writes malware I hope your socks are always wet, your microwaved meals always have ice in the centre, and you always get a hangnail |
01:59:17 | FromDiscord | <sOkam! 🫐> no wonder |
01:59:23 | FromDiscord | <taperfade> Norton flagged mine bcs i opened program files |
01:59:24 | FromDiscord | <taperfade> Lmao |
01:59:29 | FromDiscord | <_gumbercules> In reply to @Elegantbeef "For anyone that writes": Ruthless |
02:00:16 | FromDiscord | <taperfade> Lol |
02:00:22 | FromDiscord | <taperfade> Why u hate malware |
02:00:46 | FromDiscord | <sOkam! 🫐> In reply to @taperfade "Thats why they have": your mentality is kinda fucked, to be completely honest↵so im going to stop even giving a single comment of advice from now on. go use another lang, get out of nim |
02:01:28 | FromDiscord | <Elegantbeef> Why wouldnt I hate malware |
02:01:28 | FromDiscord | <Elegantbeef> It's software whose soul purpose is to do malicious things |
02:01:34 | FromDiscord | <Elegantbeef> That's like asking why do you dislike a knife that has handle which is also a knife |
02:02:05 | FromDiscord | <taperfade> In reply to @heysokam "your mentality is kinda": Huh 😭 |
02:02:12 | FromDiscord | <raynei486> see what I mean |
02:02:20 | FromDiscord | <raynei486> talking about malware is not recommended |
02:02:33 | FromDiscord | <taperfade> It was abt opera |
02:03:03 | FromDiscord | <raynei486> also I feel like you're around my age |
02:03:06 | FromDiscord | <Elegantbeef> talking about it is fine, it's the creation and dispersal that is bad |
02:03:23 | FromDiscord | <Elegantbeef> They said they were 15 before I believe |
02:03:23 | FromDiscord | <taperfade> In reply to @raynei486 "also I feel like": Im 15 |
02:03:41 | FromDiscord | <raynei486> messing with people is fun, but learning the low level knowledge to understand how what you're doing works independently is even cooler |
02:04:00 | FromDiscord | <_gumbercules> https://media.discordapp.net/attachments/371759389889003532/1150250286322024509/giphy_1.gif |
02:04:02 | FromDiscord | <taperfade> Guess what |
02:04:11 | FromDiscord | <Elegantbeef> Chicken butt |
02:04:15 | FromDiscord | <taperfade> In reply to @raynei486 "messing with people is": Thats what i wna do |
02:04:24 | FromDiscord | <taperfade> I wna be smart |
02:04:39 | FromDiscord | <raynei486> start learning how operating systems work |
02:04:41 | FromDiscord | <raynei486> or networking |
02:04:44 | FromDiscord | <raynei486> or stuff like that |
02:05:08 | FromDiscord | <Elegantbeef> Quite literally make any non malicious software |
02:05:14 | FromDiscord | <raynei486> yep |
02:05:23 | FromDiscord | <raynei486> you can transform wanting to mess with people into something productive |
02:05:28 | FromDiscord | <taperfade> I did networking |
02:05:33 | FromDiscord | <Elegantbeef> A majority of malware can be tweaked ever so slightly to do something else that's productive |
02:05:35 | FromDiscord | <raynei486> I started with grabbing people's discord key with friends too... |
02:05:36 | FromDiscord | <taperfade> I understand ips and shit |
02:05:47 | FromDiscord | <taperfade> In reply to @raynei486 "I started with grabbing": Thats what im doing rn |
02:05:50 | FromDiscord | <taperfade> Lol |
02:05:55 | FromDiscord | <Elegantbeef> Ransomeware for instance is just encryption + backup |
02:06:02 | FromDiscord | <taperfade> Im a professional skid 😁 |
02:06:08 | FromDiscord | <sOkam! 🫐> in other words, stop writing illegal junk that fucks up the very ecosystem that you are using↵and instead go learn something actually useful |
02:06:15 | FromDiscord | <raynei486> In reply to @Elegantbeef "Ransomeware for instance is": remove the mandatory payment = archive program |
02:06:21 | FromDiscord | <Elegantbeef> Quit saying go sokam, else they might go use go |
02:06:24 | FromDiscord | <Elegantbeef> Wait I said go |
02:06:36 | FromDiscord | <sOkam! 🫐> 😄 |
02:06:39 | FromDiscord | <taperfade> Whats go |
02:06:51 | FromDiscord | <Elegantbeef> Keep the mandatory payment in raynei, it's just winrar now |
02:06:59 | FromDiscord | <raynei486> In reply to @taperfade "Im a professional skid": yeah and now is a good time to become smarter by understanding those exploits lol |
02:07:09 | FromDiscord | <taperfade> Thats what i wna do |
02:07:22 | FromDiscord | <taperfade> The reason i finally started to learn programming is bcs |
02:07:25 | FromDiscord | <taperfade> I used a rat |
02:07:26 | FromDiscord | <taperfade> Yk |
02:07:34 | FromDiscord | <taperfade> And the only thing i thought abt is |
02:07:50 | FromDiscord | <taperfade> " this is so cool i wna make something like that myself " |
02:07:58 | FromDiscord | <raynei486> In reply to @Elegantbeef "Keep the mandatory payment": 🧠🧠 |
02:08:06 | FromDiscord | <raynei486> In reply to @taperfade "" this is so": yeah that's a good mindset |
02:08:14 | FromDiscord | <taperfade> Als |
02:08:14 | FromDiscord | <raynei486> well the making things part |
02:08:26 | FromDiscord | <taperfade> U said u are around my age ? |
02:08:33 | FromDiscord | <taperfade> Ur rlly smart |
02:08:35 | FromDiscord | <taperfade> Wow |
02:08:39 | FromDiscord | <raynei486> In reply to @taperfade "U said u are": yeah |
02:08:45 | FromDiscord | <raynei486> I'm also a high school student |
02:08:58 | FromDiscord | <taperfade> Also cool website :3 |
02:09:11 | FromDiscord | <raynei486> In reply to @taperfade "Ur rlly smart": no I just put a lot of time into learning computers lol |
02:09:12 | FromDiscord | <taperfade> In reply to @raynei486 "I'm also a high": Idk what high school is im european |
02:09:18 | FromDiscord | <raynei486> oh dang |
02:09:34 | FromDiscord | <raynei486> it's the school after intermediate |
02:09:37 | FromDiscord | <raynei486> if you guys have that |
02:09:42 | FromDiscord | <raynei486> I'm in burger land |
02:09:43 | FromDiscord | <taperfade> Uhm |
02:09:47 | FromDiscord | <taperfade> Idk |
02:09:56 | FromDiscord | <Elegantbeef> Highschool is secondary |
02:10:03 | FromDiscord | <Elegantbeef> Also known as college in the UK iirc |
02:10:22 | FromDiscord | <raynei486> In reply to @Elegantbeef "Also known as college": wtf? |
02:10:33 | FromDiscord | <taperfade> In germany we hav kindergarten , school , then school but divided into 3 types and then work or studying |
02:10:56 | FromDiscord | <raynei486> In reply to @taperfade "Also cool website :3": thx |
02:11:11 | FromDiscord | <raynei486> In reply to @taperfade "In germany we hav": I guess I'm in the last type of school |
02:11:12 | FromDiscord | <taperfade> In reply to @Elegantbeef "Also known as college": Internet internet relay chat |
02:11:33 | FromDiscord | <raynei486> I'm in the grade level with 2 digits |
02:11:46 | FromDiscord | <taperfade> Wow |
02:11:54 | FromDiscord | <taperfade> Il in ninth grade |
02:12:00 | FromDiscord | <Elegantbeef> lol |
02:12:11 | FromDiscord | <taperfade> What |
02:12:17 | FromDiscord | <taperfade> Uhh |
02:12:23 | FromDiscord | <Elegantbeef> raynei's "2 digits" comment |
02:12:23 | FromDiscord | <taperfade> Tenth ? |
02:12:36 | FromDiscord | <taperfade> 7is tenth grade right |
02:12:41 | FromDiscord | <taperfade> Tenth sounds wrong |
02:12:42 | FromDiscord | <raynei486> In reply to @Elegantbeef "raynei's "2 digits" comment": anything to not let people know which one of the three it is |
02:13:10 | FromDiscord | <taperfade> Im guessing last one |
02:13:28 | FromDiscord | <Elegantbeef> Ontario Canada had 13th grade so uhh could even make it 4 |
02:14:27 | FromDiscord | <raynei486> I'm in the most populous city of burger land |
02:14:59 | FromDiscord | <Elegantbeef> Nome Alaska?! |
02:15:26 | FromDiscord | <raynei486> yeah I enjoy having snow burned into my vision |
02:15:47 | FromDiscord | <raynei486> In reply to @taperfade "Tenth sounds wrong": nah you're right |
02:15:52 | FromDiscord | <Elegantbeef> It's quite a life to live in |
02:15:59 | FromDiscord | <Elegantbeef> Snow and -50 is grand |
02:17:10 | FromDiscord | <taperfade> Grand |
02:17:53 | FromDiscord | <raynei486> In reply to @Elegantbeef "Snow and -50 is": after this New York heatwave I'm really craving some snow |
02:40:59 | * | ttkap quit (Server closed connection) |
03:22:51 | FromDiscord | <raynei486> sent a code paste, see https://play.nim-lang.org/#ix=4FSX |
03:23:00 | FromDiscord | <raynei486> Is it an iterator called `items`? |
03:30:42 | FromDiscord | <intellij_gamer> [yup](https://nim-lang.org/docs/manual.html#iterators-and-the-for-statement-implicit-itemsslashpairs-invocations)↵And `pairs` is implicitly called when there are two variables |
03:37:19 | FromDiscord | <raynei486> thanks |
03:39:59 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4FT5 |
03:40:11 | FromDiscord | <jviega> Why's there a space before the ? |
03:40:19 | FromDiscord | <jviega> Does that mess it up? |
03:40:36 | FromDiscord | <sOkam! 🫐> why would it? |
03:40:38 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4FT5" => "https://play.nim-lang.org/#ix=4FT6" |
03:41:00 | FromDiscord | <jviega> Dunno, odd spacing, and it's occasionally consequential. But try putting the params in parens |
03:41:17 | FromDiscord | <sOkam! 🫐> it has worked before like this, but it was in nimscript |
03:41:23 | FromDiscord | <sOkam! 🫐> now its compiled and its not being recognied |
03:41:25 | FromDiscord | <sOkam! 🫐> (edit) "recognied" => "recognized" |
03:41:58 | FromDiscord | <jviega> I always use parens except for code blocks, but my understanding is the functional style omit-the-parens things only works w/ one param |
03:42:05 | FromDiscord | <jviega> Because there are ambiguities |
03:42:09 | * | hernan quit (Server closed connection) |
03:42:23 | FromDiscord | <jviega> So it's prob not interpreting the way you expect |
03:42:25 | * | hernan joined #nim |
03:42:52 | FromDiscord | <sOkam! 🫐> like mentioned, it has worked before. and no, parenthesis are not helping, just tested |
03:43:07 | FromDiscord | <jviega> Damn :/ |
03:43:34 | FromDiscord | <sOkam! 🫐> its basically not sending the parameter as an untyped |
03:43:43 | FromDiscord | <jviega> How is hello defined? |
03:43:54 | FromDiscord | <sOkam! 🫐> its not? that's a blank key |
03:44:03 | FromDiscord | <sOkam! 🫐> thats the point, that thing defines it inside |
03:44:30 | FromDiscord | <jviega> Well when you use the template it evaluates it |
03:44:49 | FromDiscord | <sOkam! 🫐> maybe i need a macro because its not nimscript, so no vm? 🤔 |
03:44:49 | FromDiscord | <jviega> It generates the code implied by the template and if there's no 'hello' defined... |
03:45:39 | FromDiscord | <jviega> You'd have the same problem if the macro is used and hello is not defined |
03:46:32 | FromDiscord | <sOkam! 🫐> but i've used it like this before |
03:47:10 | FromDiscord | <sOkam! 🫐> thse are defining the symbols inside the template↵https://github.com/heysokam/wgpu/blob/279e2145e9e1e38a96b4a93402b7ccc8bdeb5eb8/wgpu.nimble#L70-L88 |
03:47:13 | FromDiscord | <jviega> Like how?? Nothing like that should work, it doesn't even make sense to instantiate a template with something that the compiler can't understand |
03:47:26 | FromDiscord | <sOkam! 🫐> how does that code work then? |
03:47:48 | FromDiscord | <jviega> Because of the astToStr call |
03:47:56 | FromDiscord | <_nenc> sent a code paste, see https://play.nim-lang.org/#ix=4FT8 |
03:48:35 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4FT9 |
03:48:43 | FromDiscord | <sOkam! 🫐> probably helps little, which is why i didn't post it |
03:48:45 | FromDiscord | <jviega> Oh easy, don't redefine name |
03:48:49 | FromDiscord | <sOkam! 🫐> because it has a lot of stuff in it |
03:49:10 | FromDiscord | <sOkam! 🫐> In reply to @jviega "Oh easy, don't redefine": im not trying to redefine it, but use it. how do you do that? |
03:49:27 | FromDiscord | <sOkam! 🫐> i want to create a let that has that untyped symbol. like that's the point of the template |
03:50:15 | FromDiscord | <jviega> Well, I think there's a way to do it in a template, but I know in a macro how to to it 🙂 |
03:50:56 | FromDiscord | <jviega> You basically can quote do: `name` |
03:50:57 | FromDiscord | <sOkam! 🫐> the problem with a macro is creating all of those contents inside manually with AST generation 😔 |
03:51:06 | FromDiscord | <jviega> Put name in backticks |
03:51:10 | FromDiscord | <sOkam! 🫐> thats why ive been trying to avoid it |
03:51:18 | FromDiscord | <sOkam! 🫐> oh.. good catch, let me try |
03:51:34 | FromDiscord | <jviega> Eh, quote do tends to make your whole macro look more or less like a template |
03:51:47 | FromDiscord | <sOkam! 🫐> nah still fails the same way |
03:52:08 | FromDiscord | <jviega> Even if constructing lists of nodes, I tend to use mainly quote do just because people can't read tree construction easily |
03:52:24 | FromDiscord | <sOkam! 🫐> how would you use quote do here? |
03:52:26 | FromDiscord | <jviega> There might not be a way in a template |
03:52:45 | FromDiscord | <sOkam! 🫐> i found it really confusing to use the last time i tried it, but maybe i was just noob-ier back then |
03:52:50 | FromDiscord | <sOkam! 🫐> can you give an example? |
03:53:30 | FromDiscord | <jviega> Hang on, let me try to dig something up for you |
03:54:19 | FromDiscord | <jviega> Here's one of mine: |
03:54:25 | FromDiscord | <jviega> sent a code paste, see https://play.nim-lang.org/#ix=4FTa |
03:54:48 | FromDiscord | <jviega> Creates a proc with the name I pass in on the first parameter. |
03:55:06 | FromDiscord | <jviega> And calls the function in the second parameter |
03:58:47 | FromDiscord | <_nenc> maybe you can use `expandMacros` to check the generated code? |
04:00:07 | FromDiscord | <jviega> Helpful? |
04:10:23 | * | deadmarshal_ quit (Remote host closed the connection) |
04:10:30 | FromDiscord | <sOkam! 🫐> In reply to @jviega "Helpful?": will try it |
04:11:44 | FromDiscord | <_nenc> sent a code paste, see https://play.nim-lang.org/#ix=4FTk |
04:13:02 | FromDiscord | <jviega> Well, example() may be inferred to be runtime for some reason, if you want you could put it in a static block and see if that works |
04:44:39 | * | deadmarshal_ joined #nim |
04:47:06 | NimEventer | New thread by aiac: Does seq have a method to get mutable ref element?, see https://forum.nim-lang.org/t/10473 |
04:49:39 | FromDiscord | <sOkam! 🫐> good ideas, will try them ✍️ |
04:51:24 | FromDiscord | <sOkam! 🫐> seems like removing the static is behaving better |
04:51:33 | madprops | hi nim |
04:53:17 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4FTt |
04:53:46 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4FTu |
04:54:54 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4FTu" => "https://play.nim-lang.org/#ix=4FTv" |
04:58:34 | FromDiscord | <leorize> you have to either rename the `run` and `force` parameters of the template or don't use `run = run` expressions in `build` function call |
04:59:02 | FromDiscord | <leorize> anything that refers to a template parameter is replaced by it |
04:59:38 | FromDiscord | <leorize> sent a code paste, see https://play.nim-lang.org/#ix=4FTw |
05:10:35 | * | _________ quit (Server closed connection) |
05:10:58 | * | _________ joined #nim |
05:18:43 | FromDiscord | <sOkam! 🫐> ohhh! true! didn't see that lol |
05:19:01 | FromDiscord | <sOkam! 🫐> classic sokam brain missing tiny but crucial details 🙈 |
05:19:36 | FromDiscord | <jviega> That's what I was trying to explain to you with name getting clobbered, sorry I explained it poorly 😦 |
05:20:33 | FromDiscord | <sOkam! 🫐> nah honestly my brain works in really obtuse ways sometimes. i blame it on myself |
05:34:23 | * | def- quit (Quit: -) |
05:35:28 | * | def- joined #nim |
05:45:25 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4FTF |
05:45:53 | FromDiscord | <Phil> (edit) "https://play.nim-lang.org/#ix=4FTF" => "https://play.nim-lang.org/#ix=4FTG" |
05:49:36 | FromDiscord | <Phil> At the roots I want to figure out the fields on a variant that are always there (bla and kind).↵I can of course do that manually by walking my way through the nnkTypeDef node to the nnkRecList Node, iterate over that and take all the identDefs Node + extract the IdentDefs Node from RecCase |
05:52:40 | FromDiscord | <odexine> thatll be fun for when you have to find the non-discriminated fields on an object with more than 1 discriminator |
05:53:40 | FromDiscord | <odexine> sent a code paste, see https://play.nim-lang.org/#ix=4FTI |
05:53:55 | FromDiscord | <odexine> i wonder if this even works in nim, ive never tried |
05:54:08 | FromDiscord | <Elegantbeef> https://github.com/beef331/micros/blob/master/src/micros/definitions/objectdefs.nim#L174-L176 closest I've got↵(@Phil) |
05:54:44 | FromDiscord | <odexine> sounds like its good enough |
05:56:11 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4FTJ |
05:56:19 | FromDiscord | <Phil> In reply to @Elegantbeef "https://github.com/beef331/micros/blob/master/src/m": Taking a look at it |
05:57:01 | FromDiscord | <Phil> I don't think I understand |
05:57:53 | FromDiscord | <Phil> Ohh you make fetching the recList super easy though, that's sweet |
06:00:38 | * | ntat joined #nim |
06:09:53 | FromDiscord | <Elegantbeef> I mean you shouldnt even really need the reclist |
06:10:02 | FromDiscord | <Elegantbeef> The fields iterator is there for you |
06:17:58 | FromDiscord | <Phil> Yeah but that hands me everything and I want to exclude the variant fields (from my example str and num) |
06:19:03 | FromDiscord | <Phil> Excluding the fields that I can't 100% know for sure are available at compiletime (because they're only available if the object has a specific kind value) is the goal |
06:20:14 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=4FTR |
06:21:14 | FromDiscord | <Phil> Ahhh that's how you're supposed to use fieldConditions for this one |
06:21:18 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=4FTS |
06:21:23 | FromDiscord | <Phil> Now what actually is happening in that line of code? |
06:21:55 | FromDiscord | <Elegantbeef> What? |
06:22:17 | FromDiscord | <Elegantbeef> `ObjectDef` has it's own `fields` iterator that yields all the identdefs of fields |
06:22:28 | FromDiscord | <Elegantbeef> https://github.com/beef331/micros/blob/master/src/micros/definitions/objectdefs.nim#L229 |
06:22:47 | FromDiscord | <Phil> Oh, that is fine, more I don't get the fieldconditions line |
06:23:06 | FromDiscord | <Elegantbeef> fieldConditions returns the conditions required for a field to be accessible |
06:23:21 | FromDiscord | <Elegantbeef> you pass in the object definition and the `NimName or string` |
06:23:42 | FromDiscord | <Phil> Oh and that is only straight up true if it's not an object variant, because otherwise there is a condition that kind must have a certain value? |
06:23:53 | FromDiscord | <Phil> (edit) "variant," => "variant field in the case block," |
06:24:01 | FromDiscord | <Elegantbeef> Right |
06:24:02 | FromDiscord | <Elegantbeef> if there is a condition it'd be like `true and x in y` iirc |
06:24:11 | FromDiscord | <Elegantbeef> It also might just be empty if it's true |
06:24:15 | FromDiscord | <Elegantbeef> I do not recall again |
06:24:51 | FromDiscord | <Elegantbeef> I believe it's supposed to always return true though so you can just embed the result in any ast |
07:25:30 | * | jtbx joined #nim |
07:42:15 | * | azimut quit (Ping timeout: 246 seconds) |
08:20:18 | FromDiscord | <xtrayambak> Are there any complete wlroots bindings in Nim? omentic's bindings are incomplete and not enough to write an entire compositor. |
08:31:35 | FromDiscord | <nnsee> no, but you can probably futhark it |
08:51:08 | * | jtbx quit (Remote host closed the connection) |
09:15:16 | * | krux02 joined #nim |
09:52:28 | FromDiscord | <taperfade> im so bored |
09:52:34 | FromDiscord | <taperfade> idk what my next project should be |
09:52:35 | FromDiscord | <taperfade> ngl |
09:58:23 | FromDiscord | <ezquerra> Maybe you could work on improving nim's VS code support? 🙂 |
10:00:11 | FromDiscord | <taperfade> why |
10:00:17 | FromDiscord | <taperfade> nim works fine on vscode |
10:04:08 | FromDiscord | <odexine> it doesnt work as good as most people want it ot |
10:04:10 | FromDiscord | <odexine> (edit) "ot" => "to" |
10:05:47 | FromDiscord | <griffith1deadly> ye |
10:05:51 | FromDiscord | <_nenc> it can't complete standard library name ;-; |
10:06:00 | FromDiscord | <_nenc> well, i think this is the job of nimsuggest |
10:08:44 | FromDiscord | <griffith1deadly> i love nimsuggest 100 processes and 100% eating cpu |
10:09:21 | FromDiscord | <griffith1deadly> If you don't have this, you can't consider yourself a nim programmer. |
10:10:16 | FromDiscord | <ezquerra> It definitely does not work fine on VS Code, at least not compared to other languages (e.g. python or C++) |
10:11:10 | FromDiscord | <griffith1deadly> all right bad support for template and macro, but the rest kills me. |
10:13:15 | FromDiscord | <dlesnoff> In reply to @taperfade "idk what my next": I have another proposal of project, a small but important enhancement of std/maths |
10:13:24 | FromDiscord | <Phil> Hmm I wonder what the best syntax for flat-mapping a seq of seqs is |
10:13:57 | FromDiscord | <griffith1deadly> In reply to @griffith1deadly "all right bad support": but for the record, even with all that, i still love nim, and think he's the best one out there |
10:15:12 | FromDiscord | <odexine> In reply to @isofruit "Hmm I wonder what": wdym "best syntax" |
10:15:39 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4FUV |
10:15:50 | FromDiscord | <Phil> I kinda don't like creating the var |
10:15:52 | FromDiscord | <pixel_nerd_linux> sent a long message, see http://ix.io/4FUW |
10:16:28 | FromDiscord | <dlesnoff> In reply to @taperfade "idk what my next": You could finish this small PR (add `^` exponent operator for floating-point types). Should be easy, I never got the time to finish it though. It just requires to write a function to test whether a float represent an integer. |
10:16:29 | FromDiscord | <odexine> you can probably use foldl |
10:17:16 | FromDiscord | <odexine> `a.foldl(a & b, newSeq[T]())` |
10:17:32 | FromDiscord | <odexine> i think |
10:17:55 | FromDiscord | <odexine> a at the start and a after the parens are distinct, i just used the name you used |
10:18:03 | FromDiscord | <odexine> foldl requires the names to be a and b |
10:18:15 | FromDiscord | <Phil> In reply to @pixel_nerd_linux "Hi everyone! I'm new": There is!↵What you're looking for is a compiler flag that auto-imports specific modules (aka .nim files) that you define by file-path:↵https://nim-lang.org/docs/nimc.html↵Do a CTRL+F search for `--import:PATH` |
10:19:39 | FromDiscord | <Phil> A non-compiler-flag way would be to use nimscript as hinted at in the description of that flag. ↵That is more flexible and powerful but requires you to learn/deal a bit with nimscript which is a subset of nim and is used to influence your compilation if you make use of it |
10:20:39 | FromDiscord | <pixel_nerd_linux> In reply to @isofruit "A non-compiler-flag way would": Thanks for the answer, I'll look into it! |
10:21:00 | FromDiscord | <Phil> In reply to @pixel_nerd_linux "Thanks for the answer,": I highly encourage you to utterly ignore everything you see about include btw. ↵I'm mostly mentioning it because that flag is listed right under the import flag |
10:21:27 | FromDiscord | <taperfade> u guys are literally telling a disabled person to drive a formel1 car |
10:21:31 | FromDiscord | <taperfade> i cant do that |
10:21:36 | FromDiscord | <taperfade> 😭 |
10:22:30 | FromDiscord | <Phil> The choices are endless, but a project that seems interesting to you can ultimately only be come up with by you 😛 |
10:23:34 | FromDiscord | <Phil> There's chances to do webdev, native GUI, you could write a Snake-clone for the terminal aka gamedev, all a learning experience |
10:25:00 | FromDiscord | <_nenc> as a beginner I have made 2048 and Conway Life with Nim 🙂 |
10:26:55 | FromDiscord | <choltreppe> is there a tool to clean up imports in a nim project? something that deletes all unused imports in all sourcefiles |
10:27:08 | FromDiscord | <odexine> nope |
10:29:21 | FromDiscord | <choltreppe> ok thanks |
10:29:43 | FromDiscord | <odexine> actually you could probably fudge it |
10:29:51 | FromDiscord | <odexine> nim does warn about unused imports |
10:30:09 | FromDiscord | <odexine> just make a tool that then removes those lines or part of the import |
10:33:26 | FromDiscord | <Phil> In reply to @pixel_nerd_linux "Thanks for the answer,": Hmm I wanted to post you a useage example but I can't seem to get the absolute paths right.↵There's a fair few examples to get auto-imports of std libs to work but other than that even I am running into trouble for arbitrary modules within the project |
10:34:00 | FromDiscord | <Phil> Ah there we go, it works with full absolute paths, no `~` |
10:35:50 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4FV1 |
10:36:30 | FromDiscord | <Phil> the `.nim` is optional btw, you can also just use `/home/philipp/dev/playground/src/string2` |
10:37:45 | FromDiscord | <Phil> Note that I highly suggest writing yourself a nimble task for compiling because typing out all those flags by hand (or searching through your terminal for the command with all the flags) gets old fast |
10:48:36 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#ix=4FVc |
10:53:09 | FromDiscord | <odexine> In reply to @odexine "`a.foldl(a & b, newSeq[T]())`": @Phil ? |
10:53:51 | FromDiscord | <Phil> Ah, got lost in the earlier thingy wanting to make sure I wasn't lying about the import flag bit, one sec |
10:54:28 | FromDiscord | <Phil> In reply to @_nenc "as a beginner I": That is actually sick! Conways game of life is suck a neat little thing |
10:54:46 | FromDiscord | <Phil> In reply to @odexine "`a.foldl(a & b, newSeq[T]())`": You can use & to concat seqs? |
10:55:11 | FromDiscord | <odexine> what do you think you were using when doing &=? |
10:56:09 | FromDiscord | <odexine> its going to be slower because of copying though compared to your var |
10:56:12 | FromDiscord | <Phil> Oh that was copy pasted from a 3 weeks old github issue discussing adding a flatMap proc to sequtils |
10:56:44 | FromDiscord | <Phil> I didn't think through that code at all 😄 |
10:56:58 | FromDiscord | <odexine> xd |
11:00:52 | FromDiscord | <Phil> Awwww I get the AST of that operation instead of the result because I'm using it within a macro |
11:32:24 | * | azimut joined #nim |
11:48:51 | FromDiscord | <taperfade> Im thinking abt making something to remotely browse files |
11:49:35 | FromDiscord | <taperfade> Bcs i think just listing files etc is pretty easy |
12:11:46 | FromDiscord | <System64 ~ Flandre Scarlet> Hi, is there a reliable website that compares benchmarks between Nim, C, Java and Python please? |
12:12:17 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Hi, is there a": No |
12:12:32 | FromDiscord | <kingterrytheterrible12> all the websites i saw used SIMD in C and didnt in nim |
12:13:36 | * | lumidify_ quit (Server closed connection) |
12:13:52 | * | lumidify joined #nim |
12:13:55 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kingterrytheterrible12 "all the websites i": Oof, so I have to do the benchmarks myself? |
12:15:18 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Oof, so I have": write nbody in C nim and python |
12:15:21 | FromDiscord | <kingterrytheterrible12> benchmark them all |
12:15:30 | FromDiscord | <System64 ~ Flandre Scarlet> nbody? |
12:15:35 | FromDiscord | <kingterrytheterrible12> the nbody problem |
12:15:53 | FromDiscord | <kingterrytheterrible12> nbody simulation |
12:17:16 | FromDiscord | <System64 ~ Flandre Scarlet> https://en.wikipedia.org/wiki/N-body_simulation↵That? |
12:18:20 | FromDiscord | <kingterrytheterrible12> yes |
12:20:19 | FromDiscord | <System64 ~ Flandre Scarlet> https://github.com/kostya/benchmarks↵And this? |
12:24:37 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "https://github.com/kostya/benchmarks And this?": idk |
12:25:24 | FromDiscord | <odexine> why do you want to see benchmark comparisons? |
12:37:22 | FromDiscord | <Phil> Ugh, mapster has grown enough to warrant a nimibook, which means yet more doc writing >_> |
12:44:56 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @odexine "why do you want": For my report↵I claim Nim is nearly as fast as C, Python is slower and so on↵So I need data to prove that |
12:45:15 | FromDiscord | <odexine> those claims are kind of nonsense i would argue |
12:45:17 | FromDiscord | <System64 ~ Flandre Scarlet> It's for my final school work |
12:45:19 | FromDiscord | <odexine> fast on what terms |
12:46:15 | FromDiscord | <odexine> speed is not a property of the language, max speed is but that's essentially useless when we're comparing nim to c to rust to <insert other runtimes here> since theyre so similar in ability already |
12:46:44 | FromDiscord | <odexine> and also how would one measure or reify max speed? |
12:47:18 | FromDiscord | <odexine> general speed is more dictated by the ability of the programmer |
12:48:09 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @odexine "general speed is more": so how can I prove compiled language is faster than JIT or interpreted, in a scientific way? |
12:48:28 | FromDiscord | <odexine> you dont because they arent xd |
12:48:41 | FromDiscord | <System64 ~ Flandre Scarlet> the school needs data :/ |
12:49:05 | FromDiscord | <odexine> yes and you cant get data because the claim is either vague or wrong in the first place |
12:49:06 | * | ntat quit (Quit: leaving) |
12:50:13 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @odexine "yes and you cant": well, we should say comparing speed on the exact same algorithm |
12:50:35 | FromDiscord | <odexine> its not whether a runtime is compiled, jit, interpreted, etc that makes the speed either; there's too many factors |
12:50:46 | FromDiscord | <odexine> that's not the only factor that you need to freeze though |
12:51:01 | FromDiscord | <odexine> same algorithm? sure, with what coding style? same paradigm? |
12:51:15 | FromDiscord | <odexine> what happens if you cant have the same paradigm? |
12:53:35 | NimEventer | New Nimble package! stdx - A collection of extra utilities for Nim., see https://github.com/jjv360/nim-stdx |
12:54:31 | FromDiscord | <xtrayambak> Can someone try to make choosenim work on NixOS? It's really frustrating since it isn't designed to work around an unconventional Unix file system. I would've done it myself but I'm pretty new to NixOS so I'm still learning that. |
12:56:52 | FromDiscord | <odexine> is there a reason you want to use choosenim on nixos? |
13:11:50 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @odexine "its not whether a": So what should I say? Should I avoid to claim Nim is nearly as fast as C? |
13:12:13 | FromDiscord | <odexine> if you're being scientifically rigorous, yes |
13:13:00 | FromDiscord | <odexine> well if you're being PR-ey then sure and give some examples, but that's not something to put for class like idk science or whatever |
13:15:42 | FromDiscord | <ieltan> In reply to @xtrayambak "Can someone try to": Use Nix to change the version of Nim used |
13:16:24 | FromDiscord | <ieltan> that's the point of using Nix, or else you've bought into some tech you don't actually want to use |
13:16:45 | FromDiscord | <ieltan> and i dont think it's Nim fault :p |
13:17:29 | FromDiscord | <odexine> only problem with nim's nix packages are that the only two versions you can choose are 1.6 latest and 2 latest |
13:18:16 | FromDiscord | <odexine> youd have to copy the nix file and change the versions & hashes then build it to get the other ones i think |
13:20:37 | FromDiscord | <ieltan> In reply to @odexine "yes and you cant": In my opinion, I kinda agree but when you're asked to provide "proof" then you do not have to care much about the "coding style, paradigm, etc" except for the algorithm. |
13:21:18 | FromDiscord | <odexine> i would say the paradigm has performance implications though |
13:22:21 | * | jmdaemon quit (Ping timeout: 258 seconds) |
13:27:50 | FromDiscord | <ieltan> sent a long message, see http://ix.io/4FW1 |
13:28:00 | FromDiscord | <ieltan> (edit) "http://ix.io/4FW1" => "http://ix.io/4FW2" |
13:28:39 | FromDiscord | <odexine> it depends on the school i guess. i'd be absolutely roasted about this project had i proposed it in my highschool days |
13:30:58 | * | junaid_ joined #nim |
13:33:50 | FromDiscord | <ieltan> Maybe it would help to highlight how capable the language is ? The reason why comparing programming languages is ridiculous in the first place is because it has become a game of "look at how fast my language is !!!" when using SIMD or some other unholy asm inlining. "python can be as fast as C by using C extensions !" but that says nothing about how CAPABLE the language is on it's own to produce fast programs idiomatically |
13:36:28 | FromDiscord | <odexine> that would be better yes |
13:38:08 | FromDiscord | <ieltan> For example I would say "Nim compiles to native code, has an opt-out GC and has move semantic and RAII like C++ which can be used to optimize copies". IMO those are the main features i would highlight to show Nim can be really fast. But if you really need to provide numbers I don't know how you're gonna do it the proper way without spending hours at it, precious hours that can be better spent in other important part of the project |
13:39:59 | FromDiscord | <xtrayambak> In reply to @ieltan "Use Nix to change": Nix's packaging of Nim is v1.6 |
13:40:07 | FromDiscord | <xtrayambak> Even unstable doesn't ship the latest version |
13:40:27 | * | adium_ quit (Server closed connection) |
13:41:35 | FromDiscord | <ieltan> the beauty of Nix is that you can make a derivation that does have the latest version |
13:41:47 | * | adium joined #nim |
13:43:19 | FromDiscord | <ieltan> I think of Nix derivations as "PKGBUILD" files, pretty easy to hack |
13:43:22 | FromDiscord | <xtrayambak> I'm still learning Nix and I haven't gotten used to it, but I definitely like the idea |
13:44:33 | FromDiscord | <odexine> In reply to @xtrayambak "Even unstable doesn't ship": it does |
13:44:34 | FromDiscord | <odexine> nim2 |
13:44:50 | FromDiscord | <odexine> nixpkgs unstable has `nim2` |
13:45:47 | FromDiscord | <ieltan> why did they a seperate derivation for it though ? |
13:45:59 | FromDiscord | <ieltan> it's not python lol |
13:47:43 | FromDiscord | <odexine> dont ask me, i dont really know |
13:47:57 | NimEventer | New post on r/nim by slavjuan: Nim shell.nix config?, see https://reddit.com/r/nim/comments/16f0pze/nim_shellnix_config/ |
13:47:59 | FromDiscord | <odexine> prolly because its standard to do so, it's a major version change after all |
13:48:17 | FromDiscord | <odexine> why so many people using nix and nim suddenly |
13:48:18 | FromDiscord | <ieltan> lol |
13:53:47 | FromDiscord | <ieltan> i think atlas is a reallly good fit for Nim + Nix right now |
13:58:24 | FromDiscord | <odexine> nix has tools to integrate with nimble |
15:11:36 | FromDiscord | <taperfade> huh |
15:11:47 | FromDiscord | <taperfade> i thought nimble was part of yk nim |
15:14:04 | krux02 | @ieltan: Compiling to native code isn't enough to sell tha tsomething is high performance. E.G. Javascript eventually compiles to something native as well through jit. The key difference here is control of memory layout, like C and C++. I can't stress enough how important that is to get high performance. |
15:16:58 | FromDiscord | <raynei486> In reply to @taperfade "i thought nimble was": it is |
15:17:16 | krux02 | Regarding nix/nim usage. A wild guess here, but it might be that the nix packaging really aids to write stable nim packages. But it's just a wild guess, I don't use nix. Other than that I think the words nix and nim just sound related even though they are not |
15:52:56 | * | junaid_ quit (Remote host closed the connection) |
16:09:30 | * | ntat joined #nim |
16:36:57 | FromDiscord | <pixel_nerd_linux> sent a code paste, see https://paste.rs/Ha3SI |
16:38:39 | FromDiscord | <Phil> In reply to @pixel_nerd_linux "Thanks, that seems to": What exactly is the usecase, you are the end-application or is this a lib for others? |
16:40:27 | FromDiscord | <Phil> Mostly asking because I'm currently not seeing how a when block here does what you want ^^ |
16:40:27 | * | ntat quit (Quit: leaving) |
16:41:06 | FromDiscord | <Chronos [She/Her]> In reply to @pixel_nerd_linux "Thanks, that seems to": People typically just add a dir for their private code, and if they use it, it's a case of "don't expect support" |
16:41:25 | FromDiscord | <Phil> Keep in mind that only one code-block within a when-else-statement exists at a time.↵You can't, during compilation, have a proc be private and public at the same time |
16:41:56 | FromDiscord | <Phil> (edit) "time.↵You" => "time. And "at a time" means "during one whole compilation"↵You" |
16:46:35 | FromDiscord | <pixel_nerd_linux> In reply to @isofruit "Keep in mind that": Ah, I see. So my idea wouldn't work then if it has only one visibility. It's for a library that others should be able to use. |
16:47:14 | FromDiscord | <Phil> Then my suggestion may actually not work well for you, as requiring your users to add an import flag is kinda clunky |
16:47:48 | FromDiscord | <pixel_nerd_linux> In reply to @chronos.vitaqua "People typically just add": That seems to be a practical solution. I could put my private code in a folder called "private" and use it inside my project. |
16:48:07 | FromDiscord | <Phil> In reply to @pixel_nerd_linux "That seems to be": That is in fact common practice |
16:48:29 | FromDiscord | <Phil> In the nim community I mean |
16:50:07 | FromDiscord | <pixel_nerd_linux> In reply to @isofruit "That is in fact": Perfect, thanks!↵The nim community is really nice and helpful 😉 |
16:50:59 | FromDiscord | <Chronos [She/Her]> Does Postgres have a way to store custom data types oooor? |
16:51:10 | FromDiscord | <Chronos [She/Her]> If so, I'll prolly make an int128 data type tbh |
16:51:24 | FromDiscord | <Chronos [She/Her]> Also if Debby integrates well with that |
16:51:32 | FromDiscord | <Chronos [She/Her]> But tbf prolly doesn't so pain |
16:51:47 | FromDiscord | <Phil> In reply to @pixel_nerd_linux "Perfect, thanks! The nim": Happy to help 😉↵A nice way to give back can always be to document your question and answers you found in a Stack Overflow question so that others have an easier time finding an answer to said question if they run into it.↵It's what I typically do ^^ |
16:54:31 | FromDiscord | <Phil> In reply to @chronos.vitaqua "Does Postgres have a": I mean, you can just store raw bytes in postgres and parse that to whatever int128 types you have |
16:54:57 | FromDiscord | <Phil> I assume debby has some way of supporting mapping of bytes to a custom nim type by defining some kind of hook proc |
16:55:04 | FromDiscord | <Chronos [She/Her]> Hm perhaps? |
16:55:09 | FromDiscord | <Chronos [She/Her]> Don't think so tho |
16:57:20 | FromDiscord | <Phil> In reply to @chronos.vitaqua "Don't think so tho": Ah nevermind, you'll have to use string columns to store the seq[byte] as a JSON string |
16:57:25 | FromDiscord | <Phil> This may not be terribly fast as a result |
16:57:56 | FromDiscord | <Phil> Debbies solution to dealing with any kind of non-standard type seems to be to just json-y-fy it |
16:58:39 | FromDiscord | <Phil> https://github.com/treeform/debby#json-fields↵So basically just make sure your thingy is a custom type and provide sql parse and dump hooks for it |
16:58:44 | FromDiscord | <Chronos [She/Her]> https://treeform.github.io/debby/debby/common.html#Bytes ooh |
16:59:38 | FromDiscord | <Phil> Hah, seems like treeform anticipated this usecase but still stores it as strings 😛 |
16:59:49 | FromDiscord | <Phil> ` of "Bytes": "TEXT"` |
17:00:01 | FromDiscord | <Phil> Or rather stores it in a text column |
17:00:24 | FromDiscord | <Phil> No wait, that's for mysql, postgres gets to use a bytea column |
17:00:31 | FromDiscord | <Chronos [She/Her]> Hm |
17:00:32 | FromDiscord | <Phil> So may actually have tolerable speed |
17:00:32 | FromDiscord | <Chronos [She/Her]> Ooh |
17:01:11 | FromDiscord | <Phil> See, a solution for everything 😄 |
17:01:30 | FromDiscord | <Chronos [She/Her]> Useful :D |
17:02:50 | FromDiscord | <Chronos [She/Her]> I wonder why it's just a distinct string tho and not a seq[byte] or even openArray[byte] |
17:03:15 | FromDiscord | <Chronos [She/Her]> Annnnd why it's not a 'BLOB' on sqlite3, that's just odd to me but maybe I don't get it |
17:07:40 | FromDiscord | <Phil> In the end, what is a string but a seq-byte with a specific interpretation |
17:08:16 | FromDiscord | <Phil> Likely easier to deal with in jsony |
17:08:59 | FromDiscord | <Chronos [She/Her]> Yeah fair enough lol |
17:18:16 | FromDiscord | <Chronos [She/Her]> Is there a reason I should use protobuf 3 instead of protobuf 2? Or 8any other format? |
17:18:22 | FromDiscord | <Chronos [She/Her]> (edit) "8any" => "any" |
17:18:34 | FromDiscord | <Chronos [She/Her]> Even rolling my own would be easy |
17:19:05 | FromDiscord | <odexine> well what reason would you have to roll your own instead of use protobuf |
17:20:23 | FromDiscord | <Phil> Go with what's easiest, protobuf is really dope for reducing the amount of bytes that need to be carried around but if/how much that benefits you should be weighed against how much effort using it is.↵If it's effortless, take the free performance bump. If it isn't, check whether the benefits actually matter in your case and make the effort worth it. |
17:20:45 | FromDiscord | <Chronos [She/Her]> In reply to @odexine "well what reason would": Guarantee that all the data will be there, since protobuf 3 has optional fields for every defined field |
17:21:08 | FromDiscord | <Chronos [She/Her]> Though PMunch's protobuf library handles that so eh |
17:21:15 | FromDiscord | <Chronos [She/Her]> No real reason to not use it |
17:21:19 | FromDiscord | <odexine> In reply to @chronos.vitaqua "Guarantee that all the": theres a reason protobuf 3 has optionals |
17:21:39 | FromDiscord | <odexine> its meant for on-wire stable ABI data formats |
17:21:58 | FromDiscord | <odexine> fields can be added to new versions of your data without breaking old versions |
17:24:01 | * | Guest65 joined #nim |
17:27:06 | FromDiscord | <Chronos [She/Her]> Oh interesting |
17:27:22 | FromDiscord | <Chronos [She/Her]> Hm |
17:27:32 | FromDiscord | <Chronos [She/Her]> How does that work tho? I'll prolly use it tho |
17:30:46 | * | Guest65 quit (Quit: Client closed) |
17:32:33 | FromDiscord | <odexine> Basically fields have an ID which dictates where it goes in the format |
17:32:48 | FromDiscord | <odexine> The library will ignore IDs that the schema doesn’t list |
17:33:00 | FromDiscord | <odexine> Once you add a field with a specific ID you mustn’t change it |
17:33:24 | FromDiscord | <odexine> If you want to change it the idea would be to change the field and use another ID I think |
17:33:45 | FromDiscord | <odexine> That would mean though that your new programs can’t speak to old programs so yeah it’s up to you I guess |
17:33:51 | FromDiscord | <Phil> I am somewhat surprised not even treeform got around a mandatory id field instead of enabling that to be customized in one way or another |
17:36:21 | FromDiscord | <Chronos [She/Her]> Hm |
17:36:39 | FromDiscord | <Chronos [She/Her]> May just roll my own then? Since if I break the API, I'll bump the major version anyway |
17:36:59 | FromDiscord | <Chronos [She/Her]> Though I am providing a JSON-based API at the start so |
17:37:03 | FromDiscord | <Chronos [She/Her]> That'll come later |
17:39:38 | * | azimut quit (Remote host closed the connection) |
17:41:28 | FromDiscord | <Chronos [She/Her]> Rn I'm tryna figure out how tokens would work with asymmetric encryption |
17:41:55 | FromDiscord | <Chronos [She/Her]> Sigh, pain |
17:44:47 | * | azimut joined #nim |
17:45:58 | FromDiscord | <kingterrytheterrible12> Is nim abi stable |
17:46:08 | FromDiscord | <kingterrytheterrible12> How do i even bind nim to other langs |
17:48:53 | FromDiscord | <raynei486> In reply to @kingterrytheterrible12 "Is nim abi stable": as stable as the C ABI |
17:49:20 | FromDiscord | <raynei486> actually idk |
17:49:27 | FromDiscord | <raynei486> In reply to @kingterrytheterrible12 "How do i even": through FFI |
17:49:48 | FromDiscord | <raynei486> just look for foreign function interface in the manual |
17:50:42 | * | ntat joined #nim |
18:10:58 | * | ntat quit (Quit: leaving) |
18:28:07 | FromDiscord | <Nelson> hello nerds! |
18:28:38 | FromDiscord | <Nelson> I am a zig+c99+lua user with a special focus on writing game engines, and recently I got to actually try nim |
18:29:01 | FromDiscord | <Nelson> what a disgusting language, i love everything about it, genuinely, i havent had this much fun with a language for so so long |
18:30:56 | FromDiscord | <Nelson> i was just going to ask something, how can i turn a constant string into a pointer? something like a zero-delimited char\, or a cstring |
18:30:56 | FromDiscord | <Nelson> i was just going to ask something, how can i turn a constant string into a pointer type? something like a zero-delimited char\, or a cstring |
18:31:48 | FromDiscord | <raynei486> constant string as in a string literal? |
18:32:26 | FromDiscord | <Nelson> I am reading a file through splurt↵(@raynei486) |
18:32:45 | FromDiscord | <Nelson> (by the way, i fucking love that name) |
18:32:47 | FromDiscord | <Nelson> it's a |
18:33:12 | FromDiscord | <Nelson> imagen.png https://media.discordapp.net/attachments/371759389889003532/1150499230545350766/imagen.png |
18:35:36 | FromDiscord | <demotomohiro> !eval echo cstring static staticRead currentSourcePath() |
18:35:36 | NimBot | Compile failed: <no output> |
18:36:05 | FromDiscord | <Nelson> it's such a funky name |
18:36:09 | FromDiscord | <Nelson> slurp |
18:36:14 | FromDiscord | <Nelson> genius design. |
18:37:19 | FromDiscord | <raynei486> what is `slurp` returning? |
18:37:35 | FromDiscord | <Nelson> regular ass string↵(@raynei486) |
18:37:51 | FromDiscord | <raynei486> but it looks like it's reading memory hmmmm |
18:37:52 | FromDiscord | <Nelson> just a string |
18:37:52 | FromDiscord | <Nelson> imagen.png https://media.discordapp.net/attachments/371759389889003532/1150500406171025558/imagen.png |
18:38:00 | FromDiscord | <Nelson> with, "no side effect." |
18:38:14 | FromDiscord | <demotomohiro> In reply to @Nelson "I am reading a": How about to `raw.cstring` instead of `unsafeAddr(raw)` |
18:38:15 | FromDiscord | <griffith1deadly> In reply to @Nelson "just a string": you can turn string to cstring |
18:38:18 | FromDiscord | <raynei486> oh it's in the system I've never heard of it |
18:38:38 | FromDiscord | <raynei486> but yeah you can just convert to cstring |
18:38:40 | FromDiscord | <Nelson> oh lmoa thanks↵(@griffith1deadly) |
18:38:52 | FromDiscord | <Nelson> boom! problem solved |
18:38:52 | FromDiscord | <Nelson> thanks everyone! |
18:39:23 | FromDiscord | <griffith1deadly> cstring it just ptr UncheckedArray[char] as i recall |
18:39:32 | FromDiscord | <Nelson> wait a second, let me guess |
18:39:49 | FromDiscord | <Nelson> whenever you have a function or method like...↵↵proc thing(sus\: string, ...)\: ... |
18:39:53 | FromDiscord | <Nelson> sent a long message, see http://ix.io/4FXE |
18:39:58 | FromDiscord | <Nelson> that's kind of cursed but also pretty cool |
18:40:09 | FromDiscord | <griffith1deadly> In reply to @Nelson "you can just... do": yes |
18:40:34 | FromDiscord | <raynei486> In reply to @Nelson "that's kind of cursed": it's basically equivalent to fake OOP in C with a nicer syntax |
18:40:40 | FromDiscord | <Phil> In reply to @Nelson "you can just... do": Uniform Function Call Syntax |
18:40:47 | FromDiscord | <demotomohiro> https://nim-lang.org/docs/manual.html#procedures-method-call-syntax |
18:41:04 | FromDiscord | <Phil> thing(x) is the same as x.thing() is the same as x.thing is the same as thing x |
18:41:08 | FromDiscord | <Nelson> if i had to simplify my experience with nim so far to three words, it would be "cursed but cool" |
18:42:42 | FromDiscord | <raynei486> It's C++ with a nicer syntax IMO |
18:43:01 | FromDiscord | <Nelson> i dont like thinking of it that way, not a fan of C++↵(@raynei486) |
18:43:30 | FromDiscord | <griffith1deadly> sent a long message, see http://ix.io/4FXF |
18:43:49 | FromDiscord | <Phil> Ah yes, case insensitivity and underscore insensitivity |
18:44:15 | FromDiscord | <Nelson> for me, it feels like if pascal did hardcore drugs. |
18:44:16 | FromDiscord | <Nelson> yeah i know that, it's also that kind of thing that disturbed me at first, but now i feel it's a quite nice feature↵(@griffith1deadly) |
18:44:41 | FromDiscord | <Nelson> hey btw, is there any lightweight wasm interpreter written in nim or usable through nim?↵i am working on a fantasy console and i wanted something sandboxable, probably wasm32 without the posix stuff |
18:45:05 | FromDiscord | <raynei486> In reply to @Nelson "i dont like thinking": C++ is still best when it comes to interfacing with C↵But I wouldn't start a new project with it |
18:45:42 | FromDiscord | <pmp_p> In reply to @Nelson "hey btw, is there": you have wasm3 and more active now toywasm, wasm3 already has some nim support |
18:45:47 | FromDiscord | <Nelson> i just dont like the average C++ code lol, not a fan of inheritance nor cryptic, unfun names myself↵(@raynei486) |
18:46:03 | FromDiscord | <Nelson> that's so cool! |
18:46:04 | FromDiscord | <Nelson> heyyyyyyyyyyyyyyyyyyy↵(@pmp_p) |
18:46:19 | FromDiscord | <pmp_p> (edit) "In reply to @Nelson "hey btw, is there": you have wasm3 and more active now toywasm, wasm3 already has some nim support ... " added "see https://github.com/beef331/wasm3" |
18:46:47 | FromDiscord | <Nelson> anyways that was it, im going to keep trying this language out |
18:47:10 | FromDiscord | <Phil> Huh, beef wrote it? Sweet! He tends to write pretty decent stuff, just needs to get around to documenting more 😛 |
18:48:27 | FromDiscord | <Elegantbeef> If it doesnt have a doc comment it's not meant for public consumption |
18:48:28 | FromDiscord | <Elegantbeef> Get rekt |
18:49:32 | FromDiscord | <Phil> removes micros dependency from mapster |
18:49:54 | FromDiscord | <Nelson> you underestimate the stubborn power of a zig user! |
18:49:54 | FromDiscord | <Nelson> this is precisely what i want↵(@pmp_p) |
18:50:01 | FromDiscord | <raynei486> sent a code paste, see https://play.nim-lang.org/#ix=4FXL |
18:50:20 | FromDiscord | <Phil> I don't comprehend what even happens there |
18:50:40 | FromDiscord | <Nelson> it's horrible.↵(@raynei486) |
18:51:15 | FromDiscord | <Nelson> i mean, it's kind of like a math function with a lot of things going on, you need to read carefullybut even so, whenever i am coding, i want to work with real problems and solve actual issues instead of fight my tool \:P↵(@Phil) |
18:51:29 | FromDiscord | <raynei486> In reply to @isofruit "I don't comprehend what": A compile time function template that returns a vector of pairs of `char` and `int` which also potentially` throws a `std::logic_error` |
18:51:36 | FromDiscord | <Nelson> nim seems like the kind of thing that i would like for a game engine |
18:51:37 | FromDiscord | <raynei486> (edit) "potentially`" => "potentially" |
18:51:50 | FromDiscord | <Phil> In reply to @Nelson "i mean, it's kind": As a rule, if a line of code does many things, I start giving up |
18:51:55 | FromDiscord | <Phil> Or if I control the code, immediately refactor |
18:51:59 | FromDiscord | <raynei486> In reply to @Nelson "nim seems like the": yeah same |
18:52:03 | FromDiscord | <raynei486> making games with Nim is fun |
18:52:24 | FromDiscord | <Phil> In reply to @Nelson "nim seems like the": While I have no clue about gamedev, there are a couple ECS out there |
18:52:53 | FromDiscord | <Phil> Which AFAIK are useful (sometimes?) for gamedev (?) |
18:53:04 | FromDiscord | <Nelson> i love ecs |
18:53:04 | FromDiscord | <Nelson> ecs is my passion |
18:53:46 | FromDiscord | <Nelson> whenever i want to do that, i go on and use Zig or something |
18:53:47 | FromDiscord | <Nelson> i'm honestly a lua person, yes yes arrays start at one, blablabla, super fun↵but it's mostly because i DO NOT want to worry about memory layouts or any of that shit, i want to get STUFF DONE.↵(@raynei486) |
18:54:22 | FromDiscord | <Nelson> in lua, everything is just a game of tables and flow |
18:55:51 | FromDiscord | <raynei486> yeah Nim can go high level and low level |
18:56:10 | FromDiscord | <raynei486> You can turn off GC and tickle the memory |
18:56:26 | FromDiscord | <Phil> The thing I've appreciated the most is how it's all opt in |
18:57:03 | FromDiscord | <Nelson> i like how disturbing nim is, because it goes on and destroys everything we consider "normal" in other languages, to give us maximum liberty on however the fuck we write code↵(@Phil) |
18:57:12 | FromDiscord | <Nelson> like, case insensitivity |
18:57:48 | FromDiscord | <Phil> The only reason I learned about compilers, compiletime, metaprogramming, in-depth about generics, stack vs heap, value vs ref types, pointers, FFIs etc. is solely because nim allows me to care about these things if I want to |
18:58:55 | FromDiscord | <Phil> In reply to @Nelson "i like how disturbing": Yeah, I like it though also consider it somewhat of a potential footgun.↵On the other hand, there's a bunch of compilerflags that you have access to to narrow down that liberty again to things that suit you better |
18:59:07 | FromDiscord | <Nelson> yeah↵(@Phil) |
19:00:20 | FromDiscord | <Phil> Even if it weren't pretty fun to program in in general, I'd still love to stick with it simply because of the stuff you get out of it over time that can be transferred to most other languages with similar capabilities. |
19:02:09 | FromDiscord | <Phil> sent a long message, see http://ix.io/4FXP |
19:02:22 | FromDiscord | <Phil> On that note, why is basically every popular language under the sun almost entirely heap allocated? |
19:10:43 | FromDiscord | <vindaar> Wasn't there some option so that Nim prints the dynamic library paths it searches for when loading a shared lib? |
19:35:41 | FromDiscord | <leorize> if you're talking about VM languages, then it's actually a lot simpler to build heap-based objects \:P |
19:39:22 | FromDiscord | <Chronos [She/Her]> I have a very shitty event system too if anyone is interested in using it somehow for game dev? XD |
19:56:50 | FromDiscord | <Elegantbeef> Also known as "Why my Java vector library is so slow" |
20:04:21 | FromDiscord | <kingterrytheterrible12> In reply to @Elegantbeef "Also known as "Why": java is a lanugage for psychopaths |
20:04:58 | FromDiscord | <kingterrytheterrible12> sent a code paste, see https://play.nim-lang.org/#ix=4FY2 |
20:05:26 | FromDiscord | <Chronos [She/Her]> Oooof |
20:05:34 | FromDiscord | <Chronos [She/Her]> Nim but with a JVM backend would be so epic tbh |
20:05:36 | FromDiscord | <kingterrytheterrible12> it always evaluated to true and my program kept exiting until i figured out somone thought it was a good idea to not be able to compare strings using `==` |
20:06:32 | FromDiscord | <kingterrytheterrible12> thank god for inteiliji debuggers |
20:06:32 | FromDiscord | <kingterrytheterrible12> (edit) "debuggers" => "debugger" |
20:06:38 | FromDiscord | <Chronos [She/Her]> Genuinely wonder if it's actually worth modifying the code for the JS backend to make a Java backend (because I'd imagine outputting JVM bytecode is harder) |
20:06:56 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "Genuinely wonder if it's": you can convert C into java bytecode |
20:07:22 | FromDiscord | <Chronos [She/Her]> You don't get Java interop though, but also which way are you talking about? |
20:07:34 | FromDiscord | <Chronos [She/Her]> I know Sulong exists but that's GraalVM specific |
20:07:35 | FromDiscord | <kingterrytheterrible12> bro can we not hop from #offtopic to main XD |
20:07:59 | * | def- quit (Quit: -) |
20:08:11 | FromDiscord | <Chronos [She/Her]> Fair enough lmao, I'm just used to that :p |
20:08:11 | * | def-- joined #nim |
20:08:15 | FromDiscord | <kingterrytheterrible12> we hopping between channels like the javascript ecosystem hypetrain |
20:08:32 | FromDiscord | <Chronos [She/Her]> I constantly do this :p |
20:08:35 | * | def-- is now known as def- |
20:10:13 | FromDiscord | <kingterrytheterrible12> In reply to @kingterrytheterrible12 "you can convert C": https://github.com/davidar/lljvm |
20:12:55 | FromDiscord | <Chronos [She/Her]> Ah, yeah that's also outdated |
20:13:05 | FromDiscord | <kingterrytheterrible12> so |
20:13:12 | FromDiscord | <kingterrytheterrible12> dont think llvm ir has changed |
20:13:20 | FromDiscord | <Chronos [She/Her]> And has the same issue: No JVM interop |
20:13:26 | FromDiscord | <Chronos [She/Her]> Or at least in a complicated way |
20:13:37 | FromDiscord | <kingterrytheterrible12> i mean |
20:13:38 | FromDiscord | <kingterrytheterrible12> why |
20:13:52 | FromDiscord | <kingterrytheterrible12> C is more portable the stupid jvm |
20:14:40 | FromDiscord | <Chronos [She/Her]> Java libraries? Modding games? Like Minecraft |
20:15:08 | FromDiscord | <Chronos [She/Her]> Those are important to some (and to me tbh, and having a non-sucky JVM language) |
20:15:11 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "Java libraries? Modding games?": it would be far far better and makes more sense to make a java bindgen |
20:15:18 | FromDiscord | <Chronos [She/Her]> I don't do modding but if Nim existed, I definitely would |
20:15:19 | FromDiscord | <kingterrytheterrible12> C java bindgen |
20:15:32 | FromDiscord | <Nelson> i mean, nim already exists↵(@Chronos [She/Her]) |
20:15:33 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "it would be far": And distribute MC mods with native code? Horrific |
20:15:40 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "And distribute MC mods": yes? |
20:15:43 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "i mean, nim already": For the JVM aha |
20:16:00 | FromDiscord | <Nelson> better idea\:↵let's not make mods |
20:16:01 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "i mean, nim already": the trolls today are crazy |
20:16:05 | FromDiscord | <Nelson> let's just not make games even |
20:16:12 | FromDiscord | <kingterrytheterrible12> ppl felling a bit funny today |
20:16:24 | FromDiscord | <Nelson> let's never write any piece of software ever again |
20:16:24 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "yes?": That's terrible and would mean I'd have to build it for each platform I know ppl use it for, which is just not great |
20:16:35 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "That's terrible and would": windows macos linux |
20:16:38 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "let's never write any": Okay comedian |
20:16:41 | FromDiscord | <kingterrytheterrible12> fuck all the other plats |
20:16:46 | FromDiscord | <Nelson> plus, jvm can be sandboxed, no?↵(@Chronos [She/Her]) |
20:16:54 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "windows macos linux": Arm, x86, x64 |
20:17:00 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "Arm, x86, x64": so |
20:17:03 | FromDiscord | <kingterrytheterrible12> build it |
20:17:05 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "plus, jvm can be": Ehhh not easily afaik, it's a pain |
20:17:13 | FromDiscord | <Nelson> linux x86, linux x86\_64, linux arm, windows x86, windows x86\_64, macOS x86\_64, macOS arm, etc↵(@kingterrytheterrible12) |
20:17:13 | FromDiscord | <kingterrytheterrible12> you just setup CI script once |
20:17:16 | FromDiscord | <kingterrytheterrible12> it make everything |
20:17:20 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "build it": The jar would be unnecessarily large and stupid lol |
20:17:32 | FromDiscord | <kingterrytheterrible12> bro CI script |
20:17:47 | FromDiscord | <Nelson> you are horribly, absolutely boring.↵(@Chronos [She/Her]) |
20:18:22 | FromDiscord | <Nelson> (i am so too, but i'm trying not to be! 😭😭😭) |
20:18:26 | FromDiscord | <kingterrytheterrible12> @Chronos [She/Her] bro who even makes fat jars today |
20:18:44 | FromDiscord | <Chronos [She/Her]> Yeah, still large, unless I distribute a jar per platform, which then is just relying on the user to fuck up, bc a non-small amount aren't smart when it comes to knowing about their own PC |
20:18:50 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "you are horribly, absolutely": Thanks, I try <3 |
20:19:01 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "Yeah, still large, unless": a non small amount? |
20:19:08 | FromDiscord | <kingterrytheterrible12> bro my cousin doesnt even know how to run an installer |
20:19:12 | FromDiscord | <kingterrytheterrible12> and hes 18 |
20:19:17 | FromDiscord | <Chronos [She/Her]> Lmao |
20:19:19 | FromDiscord | <Nelson> anyways i think that the future of embedded mods/plugins is probably going to be wasm |
20:19:27 | FromDiscord | <kingterrytheterrible12> i had to give that mf a 3 month course on how to use a computer |
20:19:52 | FromDiscord | <Chronos [She/Her]> Yeah so I'd rather just be able to integrate Nim with Java, esp if I wanna interact with other mods too |
20:19:52 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "anyways i think that": wasi yes |
20:19:57 | FromDiscord | <Nelson> think about it, a lot of things support wasm nowadays, it can be sandboxed, and it's not necessarily complicated to use |
20:19:57 | FromDiscord | <Nelson> think about it, a lot of things support wasm nowadays, it can be sandboxed, and it's not necessarily complicated to use from a developer standpoint |
20:20:11 | FromDiscord | <Nelson> you can also implement it anywhere, i am pretty sure you can write an interpreter in python or smth |
20:20:12 | FromDiscord | <kingterrytheterrible12> WASI isnt very mature |
20:20:13 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "anyways i think that": Honestly I believe so too, WASM is amazing |
20:20:33 | FromDiscord | <kingterrytheterrible12> wasm is just the jvm all over again |
20:20:43 | FromDiscord | <kingterrytheterrible12> you understand to run WASI you need a runtime |
20:21:01 | FromDiscord | <Chronos [She/Her]> Not really, because the JVM wasn't made with languages that aren't Java, in mind |
20:21:13 | FromDiscord | <Chronos [She/Her]> WASM was made for that exact purpose |
20:21:16 | FromDiscord | <kingterrytheterrible12> nothing is stopping you from compiling anything to java bytecode |
20:21:20 | FromDiscord | <Nelson> compare writing a jvm clone to just writing a simple interpreter↵(@kingterrytheterrible12) |
20:21:34 | FromDiscord | <Nelson> and also yeah good luck integrating jvm into your project |
20:21:35 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "compare writing a jvm": interpreting wasm is not a very good idea |
20:21:36 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "you understand to run": The web and if you use it within your own applications |
20:21:46 | FromDiscord | <kingterrytheterrible12> it needs to be at least JIT compiled |
20:21:54 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "interpreting wasm is not": Wasm3 exists :p but it's more complicated than just making an interpreter |
20:22:07 | FromDiscord | <kingterrytheterrible12> at this point |
20:22:16 | FromDiscord | <kingterrytheterrible12> if you gonna interpret wasm just make the whole thing in java |
20:22:17 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "nothing is stopping you": The speed, byte buffers and stuff isn't super great for performance on the JVM which is the major bottleneck |
20:22:21 | FromDiscord | <Nelson> yeah and we have libraries for that, which are simple enough to use and light enough to embed↵(@kingterrytheterrible12) |
20:22:45 | FromDiscord | <Nelson> i cant even begin to express how flawed that statement is↵(@kingterrytheterrible12) |
20:22:58 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "i cant even begin": its not flawed |
20:23:01 | FromDiscord | <kingterrytheterrible12> you just dont think |
20:23:10 | FromDiscord | <kingterrytheterrible12> at least java has a JIT OR SOMETHING |
20:23:21 | FromDiscord | <kingterrytheterrible12> YOU WANT TO MAKE PYTHON ALL OVER AGAIN |
20:23:34 | FromDiscord | <Nelson> yeah that's a personal attack, not going to argue with you tbh |
20:23:43 | FromDiscord | <kingterrytheterrible12> bet |
20:24:20 | FromDiscord | <kingterrytheterrible12> i think the best thing to do with wasm is just compile the thing on user's machines |
20:24:21 | FromDiscord | <kingterrytheterrible12> lmao |
20:24:23 | FromDiscord | <Nelson> bet what |
20:24:26 | FromDiscord | <kingterrytheterrible12> bet |
20:24:48 | FromDiscord | <Nelson> bet what |
20:25:01 | FromDiscord | <kingterrytheterrible12> bet |
20:25:19 | FromDiscord | <Nelson> yeah bet 💸💸💸💸💸↵↵betting is cool 💸💸💸💸💸💸 |
20:25:33 | FromDiscord | <Nelson> the word "bet" is fun |
20:27:22 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "if you gonna interpret": Look at asmble and wasm2kotlin |
20:27:41 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "at least java has": Wasmtime, wasmer, wasmedge, 3 runtimes with a JIT |
20:27:51 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "Look at asmble and": wasm2getsomebitches |
20:28:06 | FromDiscord | <kingterrytheterrible12> yeah wasm is pointless beyond the web ngl |
20:28:13 | FromDiscord | <kingterrytheterrible12> native is the way to go |
20:28:47 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "i think the best": I mean you could, but that would be risky because even with JITs, you always have a risk of an exploit for untrusted code to wreck havoc |
20:29:39 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "yeah wasm is pointless": It's a universal format that can be used on all platforms independent of the architecture, that most major languages (C, anything that emits LLVM) and libraries can already run on |
20:30:06 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "It's a universal format": you understand the browser IS WHAT RUNS WASM |
20:30:10 | FromDiscord | <Chronos [She/Her]> Obviously you'll have to implement WASI on the host, but you get to control what they can actually do, you could implement checks to only allow them to edit a certain directory for example |
20:30:20 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "you understand the browser": Again, look at wasmtime |
20:30:21 | FromDiscord | <kingterrytheterrible12> so you must ship something that runs wasm on the user's machine |
20:30:23 | FromDiscord | <Chronos [She/Her]> Standalone runtime |
20:30:30 | FromDiscord | <kingterrytheterrible12> lemme see |
20:30:36 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "so you must ship": Yes, but this makes it perfect for a plugin system |
20:31:04 | FromDiscord | <Chronos [She/Her]> Obviously you have to distribute a native binary, but plugin systems get to be independent of the native platform and from any language too |
20:31:29 | FromDiscord | <kingterrytheterrible12> yeah it looks like java all over again |
20:31:43 | FromDiscord | <kingterrytheterrible12> why dont you just target jvm then boom you have your own wasm |
20:31:52 | FromDiscord | <kingterrytheterrible12> plugin system is already reserved for lua |
20:31:57 | FromDiscord | <kingterrytheterrible12> modding is reserved for lua |
20:32:13 | FromDiscord | <kingterrytheterrible12> wasm cannot compete anywhere except in web |
20:32:14 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "why dont you just": Because most things don't target Java, the JVM isn't meant for that |
20:32:25 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "Because most things don't": why not |
20:32:26 | FromDiscord | <kingterrytheterrible12> kotlin did it |
20:32:36 | FromDiscord | <kingterrytheterrible12> haxe does it |
20:32:55 | FromDiscord | <griffith1deadly> go write jvm in pure nim |
20:32:57 | FromDiscord | <Chronos [She/Her]> Because they were made with that in mind |
20:33:01 | FromDiscord | <kingterrytheterrible12> In reply to @griffith1deadly "go write jvm in": IN |
20:33:16 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "Because they were made": haxe compiles to js C++ java |
20:33:24 | FromDiscord | <kingterrytheterrible12> dont think they planned anything realy |
20:33:26 | FromDiscord | <Chronos [She/Her]> Haxe is made to target many targets |
20:33:26 | FromDiscord | <kingterrytheterrible12> (edit) "realy" => "really" |
20:33:39 | FromDiscord | <Chronos [She/Her]> That's like, the entire purpose behind the language |
20:33:45 | FromDiscord | <kingterrytheterrible12> soooo |
20:33:49 | FromDiscord | <kingterrytheterrible12> nim JVM LETS GOOOO |
20:34:15 | FromDiscord | <Chronos [She/Her]> Write it then 🤷♀️ |
20:34:16 | FromDiscord | <kingterrytheterrible12> I WILL TOTALY LEAVE MY HIGH PERFORMANCE C FOR JVM |
20:34:31 | FromDiscord | <Chronos [She/Her]> I mean, many people still use the JVM everywhere |
20:34:41 | FromDiscord | <kingterrytheterrible12> https://github.com/daylinmorgan/forge |
20:34:46 | FromDiscord | <Chronos [She/Her]> You can't deny that even with all it's faults, it's popular |
20:34:46 | FromDiscord | <kingterrytheterrible12> also we now have this |
20:35:10 | FromDiscord | <griffith1deadly> In reply to @chronos.vitaqua "I mean, many people": can confirm |
20:35:23 | FromDiscord | <griffith1deadly> many companies use spring for web |
20:35:29 | FromDiscord | <griffith1deadly> because it simple |
20:35:40 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "I mean, many people": so lets use their decades of ecosystem instead of making one from scratch |
20:36:18 | FromDiscord | <kingterrytheterrible12> too much work has went into the jvm |
20:36:28 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "https://github.com/daylinmorgan/forge": If your binary is 10 mb alone, and you compile it for every major platform and arch, you have 60 mb at a minimum (arm64, x86_64) |
20:36:31 | FromDiscord | <kingterrytheterrible12> its like trying to compete with LLVM and GCC |
20:36:41 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "If your binary is": bro what |
20:36:44 | FromDiscord | <kingterrytheterrible12> huh |
20:36:45 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "so lets use their": The main issue with that is it's not safe |
20:36:59 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "bro what": This is relating to just packing native deps in a jar |
20:37:10 | FromDiscord | <kingterrytheterrible12> dont ship fat jars then bruh |
20:37:14 | FromDiscord | <Chronos [She/Her]> In reply to @chronos.vitaqua "The main issue with": WASM is made to be sandboxed |
20:37:19 | FromDiscord | <kingterrytheterrible12> eh idk |
20:37:24 | FromDiscord | <kingterrytheterrible12> i like compiled languages |
20:37:25 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "dont ship fat jars": Your cousin is one of the people who'd likely mess it up |
20:37:37 | FromDiscord | <kingterrytheterrible12> i only use compiled languages and python for scripting |
20:37:37 | FromDiscord | <kingterrytheterrible12> so |
20:37:47 | FromDiscord | <Chronos [She/Her]> You don't have to care, it's going somewhere already since every major browser has implemented it 🤷♀️ |
20:37:54 | FromDiscord | <kingterrytheterrible12> anything you say about wasm and runtime i will automatically disagree |
20:38:17 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "You don't have to": im all for browser wasm |
20:38:21 | FromDiscord | <kingterrytheterrible12> but not desktop wasm |
20:38:24 | FromDiscord | <Chronos [She/Her]> Ah yes let's do everything compile time including user input |
20:38:37 | FromDiscord | <kingterrytheterrible12> ong wtf are you saying |
20:38:46 | FromDiscord | <kingterrytheterrible12> i like compiled languages |
20:38:49 | FromDiscord | <kingterrytheterrible12> with no runtimes |
20:39:18 | FromDiscord | <kingterrytheterrible12> to the nerd whos gonna say "well actually C++ runtime is libstdc++ 🤓 " yeah suck it |
20:39:30 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "but not desktop wasm": I'm not saying it'll take over desktop apps, just that there's major potential with it, because there's places that already have implemented WASM for their runners and stuff, but idk how that works like Cloudflare |
20:39:51 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "I'm not saying it'll": ngl if wasm is gonna take over desktop apps |
20:39:52 | FromDiscord | <kingterrytheterrible12> im happy |
20:40:01 | FromDiscord | <kingterrytheterrible12> cuz the current state of desktop apps is FUCKED |
20:40:05 | FromDiscord | <Chronos [She/Her]> Really? I thought you were against it |
20:40:12 | FromDiscord | <kingterrytheterrible12> ITS BETTER THAN ELECTRON LMAO |
20:40:47 | FromDiscord | <griffith1deadly> i hate electron |
20:40:50 | FromDiscord | <kingterrytheterrible12> same |
20:41:06 | FromDiscord | <kingterrytheterrible12> the combined IQ of js frontend devs is like 2 |
20:41:23 | FromDiscord | <griffith1deadly> In reply to @kingterrytheterrible12 "the combined IQ of": js fullstacks |
20:41:30 | FromDiscord | <kingterrytheterrible12> In reply to @griffith1deadly "js fullstacks*": js devs |
20:41:31 | FromDiscord | <Chronos [She/Her]> I mean WASM isn't any different than running a native app on your PC |
20:41:37 | FromDiscord | <kingterrytheterrible12> ong bro |
20:41:39 | FromDiscord | <kingterrytheterrible12> stop |
20:41:41 | FromDiscord | <kingterrytheterrible12> convincing me |
20:41:46 | FromDiscord | <kingterrytheterrible12> i am set to be unconvinced |
20:41:50 | FromDiscord | <Chronos [She/Her]> If you use WASM in a browser you still need something like electron :p |
20:41:52 | FromDiscord | <kingterrytheterrible12> anything you say just wont help |
20:42:23 | FromDiscord | <Chronos [She/Her]> In reply to @chronos.vitaqua "I mean WASM isn't": I'm saying that WASM won't change how development of apps happen on desktop unless you make new frameworks for that entirely :p |
20:44:37 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @griffith1deadly "i hate electron": Electron == cancer |
20:47:39 | FromDiscord | <kingterrytheterrible12> In reply to @chronos.vitaqua "I'm saying that WASM": listen |
20:47:49 | FromDiscord | <kingterrytheterrible12> fuck wasm lemme take you out on a date baby |
20:48:05 | FromDiscord | <Chronos [She/Her]> No thanks, only interested in other trans ppl :p |
20:48:14 | FromDiscord | <kingterrytheterrible12> damn |
20:48:16 | FromDiscord | <kingterrytheterrible12> alright |
20:48:18 | FromDiscord | <griffith1deadly> In reply to @sys64 "Electron == cancer": rust too |
20:49:11 | FromDiscord | <kingterrytheterrible12> In reply to @griffith1deadly "rust too": rust good |
20:49:13 | FromDiscord | <Chronos [She/Her]> Lol |
20:49:14 | FromDiscord | <kingterrytheterrible12> syntax ugly |
21:06:24 | FromDiscord | <sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#ix=4FYg |
21:07:54 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4FYg" => "https://paste.rs/I3b2y" |
21:08:27 | FromDiscord | <sOkam! 🫐> (edit) "https://play.nim-lang.org/#ix=4FYj" => "https://play.nim-lang.org/#ix=4FYi" |
21:08:53 | * | jmdaemon joined #nim |
21:13:18 | FromDiscord | <Nelson> @sOkam! 🫐) |
21:17:32 | FromDiscord | <Chronos [She/Her]> Isn't there already a lib that wraps Vulkan for Nim anyway? |
21:17:41 | * | ttkap joined #nim |
21:20:46 | FromDiscord | <sOkam! 🫐> This isn't a wrapper, its a code generator that creates VulkanHpp+vk-bootstrap like code |
21:21:45 | FromDiscord | <sOkam! 🫐> also, the question has nothing to do with vulkan 🤷♂️ its just string pattern matching |
21:25:41 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kingterrytheterrible12 "rust good": Nim > Rust |
21:33:38 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Nim > Rust": what avour me & you |
21:33:45 | FromDiscord | <kingterrytheterrible12> (edit) "avour" => "about" |
21:34:32 | FromDiscord | <turtlebasket> what about you and the LORD 😳 |
21:34:45 | FromDiscord | <turtlebasket> also when we r getting nim VM/compiler feature parity |
21:34:57 | FromDiscord | <kingterrytheterrible12> In reply to @turtlebasket "what about you and": im tryna please him by getting a wife |
21:35:15 | FromDiscord | <kingterrytheterrible12> In reply to @turtlebasket "also when we r": soon |
21:36:13 | FromDiscord | <Nelson> question, does anyone here know a ECS library that does not use types as components, but instead, value pairs? |
21:36:17 | FromDiscord | <Nelson> imagen.png https://media.discordapp.net/attachments/371759389889003532/1150545303146078239/imagen.png |
21:36:20 | FromDiscord | <Nelson> this is an example of something I do not want |
21:36:31 | FromDiscord | <kingterrytheterrible12> what ecs short for |
21:36:42 | FromDiscord | <Nelson> because it'd mean that i could not use vector math types like the ones in vmath |
21:37:19 | FromDiscord | <Nelson> Entity Component System↵(@kingterrytheterrible12) |
21:37:47 | FromDiscord | <turtlebasket> can't you just convert these things into vectors 🤨 |
21:37:59 | FromDiscord | <Nelson> too annoying to deal with |
21:38:25 | FromDiscord | <turtlebasket> or just represent them as vectors to begin with |
21:38:50 | FromDiscord | <Nelson> thing is, it basically uses the types' names to create the hash signatures |
21:38:57 | FromDiscord | <Nelson> anyways, found this\: https://github.com/PixeyeHQ/pixecs |
21:39:16 | FromDiscord | <turtlebasket> can't you just alias a n-length vector to a type name |
21:39:30 | FromDiscord | <Nelson> that wouldnt be exactly useful... |
21:39:34 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kingterrytheterrible12 "what about me &": Wdym? |
21:39:36 | FromDiscord | <Nelson> anyways i already found what i wanted |
21:39:52 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Wdym?": im tryna take you out |
21:39:54 | FromDiscord | <Nelson> are you replying to me? sorry, element glitched out |
21:40:02 | FromDiscord | <Nelson> oh you're not, nevermind lmao |
21:40:04 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "are you replying to": dont ruin the rizz |
21:40:08 | FromDiscord | <kingterrytheterrible12> BRO |
21:40:18 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kingterrytheterrible12 "im tryna take you": Still didn't understood |
21:40:26 | FromDiscord | <kingterrytheterrible12> LETS GET MARRIED GODDAMMIT |
21:40:59 | FromDiscord | <System64 ~ Flandre Scarlet> Wait what??! |
21:41:09 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Wait what??!": YES |
21:41:11 | FromDiscord | <kingterrytheterrible12> wya |
21:41:25 | FromDiscord | <kingterrytheterrible12> i swear to god if this is a minor |
21:42:00 | FromDiscord | <Nelson> i'm having fun \:) |
21:42:03 | FromDiscord | <Nelson> imagen.png https://media.discordapp.net/attachments/371759389889003532/1150546758024306800/imagen.png |
21:42:16 | FromDiscord | <Nelson> go on, make fun of it |
21:42:18 | FromDiscord | <Nelson> roast it |
21:42:34 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kingterrytheterrible12 "YES": Look at my profile↵Do you actually want to get married with a vamp? |
21:42:44 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Look at my profile": hell yeah |
21:42:50 | FromDiscord | <kingterrytheterrible12> you can suck me up any day of the week |
21:43:00 | FromDiscord | <kingterrytheterrible12> oh wait |
21:43:02 | FromDiscord | <kingterrytheterrible12> PAUSE |
21:43:08 | FromDiscord | <Nelson> nevermind pixecs doesnt do what i need \:/ |
21:44:46 | FromDiscord | <Nelson> are there uhm... like, packed structs in Nim? |
21:45:08 | FromDiscord | <Nelson> for example, use a struct of 32 booleans (yes that is insane but bear with me) as a 32 bit integer? |
21:45:15 | FromDiscord | <Nelson> or do i need to do the bitshift stuff |
21:45:26 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kingterrytheterrible12 "you can suck me": Actually↵I send you to the Scarlet Devil Mansion |
21:45:42 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Actually I send you": wait how old are you |
21:45:44 | FromDiscord | <sOkam! 🫐> In reply to @Nelson "nevermind pixecs doesnt do": have you looked into polymorph? |
21:46:22 | FromDiscord | <sOkam! 🫐> also, can you guys keep offtopic to offtopic? |
21:46:23 | FromDiscord | <Nelson> i did not like how you need to define several copies of the same struct with different names to have different components of the same structure↵(@sOkam! 🫐) |
21:46:41 | FromDiscord | <that_dude.> In reply to @Nelson "are there uhm... like,": Is this close to what you want? https://nim-lang.org/docs/manual.html#foreign-function-interface-packed-pragma |
21:46:42 | FromDiscord | <Nelson> i think i'll go full Arrays On Struct for this one, manual and all |
21:46:45 | FromDiscord | <Nelson> doesnt seem hard, no? |
21:46:54 | FromDiscord | <Nelson> let me check↵(@that_dude.) |
21:47:06 | FromDiscord | <sOkam! 🫐> did you see that vmath has different ways of storing its values? |
21:47:14 | FromDiscord | <sOkam! 🫐> they are behind some compile-time defines |
21:47:27 | FromDiscord | <Nelson> huh |
21:47:29 | FromDiscord | <sOkam! 🫐> treeform mentioned the others are slower, but might do the trick for you if you need them |
21:47:32 | FromDiscord | <Nelson> oh yeah! |
21:47:44 | FromDiscord | <Nelson> yeah maybe i could do that |
21:48:26 | FromDiscord | <Nelson> okay alright i'll use this method |
21:48:28 | FromDiscord | <sOkam! 🫐> he mentioned that an array inside a struct was the fastest on benchmarks for an unknown reason, so he kept that version as default |
21:48:40 | FromDiscord | <sOkam! 🫐> but the others are still there |
21:49:15 | FromDiscord | <Nelson> there's something breaking cache then |
21:49:15 | FromDiscord | <Nelson> but meh who cares |
21:49:29 | FromDiscord | <Nelson> i'm still trying to save as much cycles as possible though, i'm targetting a 522mhz device with no gpu 😆 |
21:49:52 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "i'm still trying to": you stupid? |
21:50:04 | FromDiscord | <kingterrytheterrible12> missed cache misses are HUGE in 522 mhz device |
21:50:05 | FromDiscord | <Nelson> ???↵(@kingterrytheterrible12) |
21:50:16 | FromDiscord | <kingterrytheterrible12> use valgrind to monitor cache hits |
21:50:19 | FromDiscord | <Nelson> yeah but it's not a problem until it's a problem \:P↵(@kingterrytheterrible12) |
21:50:24 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "yeah but it's not": dude |
21:50:45 | FromDiscord | <kingterrytheterrible12> fetching from main memory in a cold region has a clock cycles penalty near 200 ish cycles |
21:50:54 | FromDiscord | <kingterrytheterrible12> trust me you want the cache as much as possible |
21:51:11 | FromDiscord | <Nelson> yes |
21:51:12 | FromDiscord | <Nelson> but again, it is not a problem, until it is a problem. |
21:51:13 | FromDiscord | <Nelson> i have games to do, optimization comes later. |
21:51:22 | FromDiscord | <kingterrytheterrible12> your gonna regret this |
21:51:44 | FromDiscord | <Nelson> i write game engines daily, i dont think i'll regret it enough for me to not just rewrite the entire thing |
21:52:03 | FromDiscord | <kingterrytheterrible12> once your game starts to perform like garbage after you've written thousands of lines maybe tens of thousands then profiling becomes very time consuming |
21:52:09 | FromDiscord | <Nelson> the thing i'm written right now, has been rewritten about 5 times, 3 times zig, one in C, and this last one in Nim |
21:52:17 | FromDiscord | <kingterrytheterrible12> WHY |
21:52:26 | FromDiscord | <Nelson> because i have fun with it. |
21:52:36 | FromDiscord | <kingterrytheterrible12> so far whats the most enjoyable langauge |
21:52:53 | FromDiscord | <Nelson> I really enjoyed Zig but it was so so so so buggy it was just disgusting to use |
21:53:10 | FromDiscord | <kingterrytheterrible12> yea heard the compiler is waay too buggy |
21:53:14 | FromDiscord | <Nelson> C is.... C↵so yeah i'm not going to go on and write my super dynamic stuff on such a manual language |
21:53:17 | FromDiscord | <kingterrytheterrible12> that mf didnt even hit 1.0 yet |
21:53:30 | FromDiscord | <Nelson> Nim is WEIRDLY the most fun i've had with it yet! |
21:53:36 | FromDiscord | <Nelson> I am having a lot of fun with Nim, it's great |
21:53:41 | FromDiscord | <kingterrytheterrible12> yes |
21:53:43 | FromDiscord | <kingterrytheterrible12> thats why we all here |
21:53:44 | FromDiscord | <Nelson> i havent went into the issues yet, maybe |
21:53:46 | FromDiscord | <kingterrytheterrible12> nim is great |
21:54:10 | FromDiscord | <Nelson> yeah i feel like Zig worries too much about specific things that dont exactly make productivity better, I might go back to it once it's all done and stable |
21:54:15 | FromDiscord | <raynei486> Zig also has terrible docs |
21:54:25 | FromDiscord | <raynei486> Wanna know something about the stdlib? Just read the source code |
21:54:31 | FromDiscord | <Nelson> i legit learned Zig by having to read the fucking std.↵(@raynei486) |
21:54:36 | FromDiscord | <kingterrytheterrible12> XD |
21:54:49 | FromDiscord | <Nelson> honestly the STD isnt hard to read, i actually found it quite fun↵but yeah it shouldnt be that way |
21:54:54 | FromDiscord | <kingterrytheterrible12> the price you pay for using a lang pre 1.0 |
21:55:51 | FromDiscord | <raynei486> Somehow documentation generation isn't a top priority for a language that tries to be "robust, optimal and reusable" |
21:56:32 | FromDiscord | <kingterrytheterrible12> and easy |
21:56:42 | FromDiscord | <kingterrytheterrible12> (edit) "easy" => "simple" |
21:57:52 | FromDiscord | <raynei486> Hopefully they change that soon |
21:58:19 | FromDiscord | <raynei486> I like the idea of Zig for libraries |
21:58:29 | FromDiscord | <Nelson> yeah |
21:58:29 | FromDiscord | <kingterrytheterrible12> zig solves no problem ngl |
21:58:40 | FromDiscord | <Nelson> it solves all the problems i had with C |
21:58:45 | FromDiscord | <Nelson> ......... and created new ones. |
21:59:00 | FromDiscord | <kingterrytheterrible12> idk why use zig when you can just use C |
21:59:13 | FromDiscord | <kingterrytheterrible12> and have the advantage of every platform having a C compiler |
21:59:36 | FromDiscord | <Nelson> namespacing, memory safety, proper error handling, better types, in-language comptime macros, etc |
21:59:41 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "idk why use zig": Probably just bc Zig is a bit more stricter with memory |
21:59:47 | FromDiscord | <Nelson> it also has a better syntax imo |
21:59:54 | FromDiscord | <raynei486> In reply to @Nelson "it also has a": 👀 |
21:59:57 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "namespacing, memory safety, proper": MEMORY SAFETY LMAOOOO |
22:00:01 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "it also has a": Haven't used Zig myself to say anything about that |
22:00:06 | FromDiscord | <kingterrytheterrible12> zig fucking segfaults bro |
22:00:27 | FromDiscord | <Chronos [She/Her]> Tho I wonder if there's any Zig libraries that Nim bindings to would be useful for hm |
22:00:28 | FromDiscord | <kingterrytheterrible12> zig wants to be a safer C but not as safe as rust |
22:00:30 | FromDiscord | <Nelson> yeah, but what it aims to fix is not the way the user writes code, but to create code that is predictable↵(@kingterrytheterrible12) |
22:00:40 | FromDiscord | <Chronos [She/Her]> That'd require another compiler tho 💀 |
22:00:41 | FromDiscord | <Nelson> you can predict that your program will segfault |
22:00:47 | FromDiscord | <kingterrytheterrible12> 💀 |
22:00:58 | FromDiscord | <Chronos [She/Her]> In reply to @kingterrytheterrible12 "zig wants to be": Rust's syntax just ain't for me tbh |
22:00:58 | FromDiscord | <Nelson> instead of just randomly segfaulting |
22:01:03 | FromDiscord | <kingterrytheterrible12> i would rather not segfault at all |
22:01:07 | FromDiscord | <kingterrytheterrible12> and i also like C++ |
22:01:07 | FromDiscord | <Nelson> also i like that Zig implements the idea of fat pointers |
22:01:11 | FromDiscord | <kingterrytheterrible12> i actually love C++ |
22:01:23 | FromDiscord | <Chronos [She/Her]> Fat pointers? |
22:01:26 | FromDiscord | <raynei486> In reply to @chronos.vitaqua "Tho I wonder if": I just experimented a few days ago exporting a zig library to Nim↵Not a fun experience, the linker couldn't find the shared object, either because I'm dumb & rusty with C or Zig toolchain isn't complete |
22:01:27 | FromDiscord | <kingterrytheterrible12> yeeep |
22:01:37 | FromDiscord | <kingterrytheterrible12> i like everything fat |
22:01:41 | FromDiscord | <Nelson> so go use rust↵(@kingterrytheterrible12) |
22:01:42 | FromDiscord | <Chronos [She/Her]> In reply to @raynei486 "I just experimented a": Rip |
22:01:43 | FromDiscord | <kingterrytheterrible12> fat burgers fat ass fat pointers |
22:01:46 | FromDiscord | <Nelson> Pointer + length parameter↵(@Chronos [She/Her]) |
22:01:49 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "so go use rust": C++ |
22:02:07 | FromDiscord | <Nelson> it's the standard in Zig, for everything |
22:02:17 | FromDiscord | <Nelson> we dont use pointers as arrays in zig |
22:02:24 | FromDiscord | <raynei486> same as nim |
22:02:30 | FromDiscord | <raynei486> pointers point to one thing |
22:02:31 | FromDiscord | <Nelson> yup |
22:02:34 | FromDiscord | <raynei486> they don't point to a block of things |
22:02:54 | FromDiscord | <Nelson> yeah the idea of a pointer pointing to a thing of unknown size is bad design imo |
22:02:54 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "we dont use pointers": isnt that the only way to implement an array |
22:03:21 | FromDiscord | <Nelson> there's a difference between arrays being ONLY pointers, vs a pointer with a length↵(@kingterrytheterrible12) |
22:03:34 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "Pointer + length parameter": Ah |
22:03:43 | FromDiscord | <kingterrytheterrible12> idk zig sucks |
22:03:47 | FromDiscord | <kingterrytheterrible12> long live C++ |
22:03:57 | FromDiscord | <Nelson> i honestly feel like you're just saying things to say them↵(@kingterrytheterrible12) |
22:03:57 | FromDiscord | <kingterrytheterrible12> yeah the build system is atrocious but i like it |
22:04:05 | FromDiscord | <kingterrytheterrible12> until rust++ |
22:04:07 | FromDiscord | <Nelson> i hate the zig build system.↵(@kingterrytheterrible12) |
22:04:14 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "i honestly feel like": i actually tried zig it fr sucks |
22:04:16 | FromDiscord | <Nelson> it's the part that i dislike the most about zig rn |
22:04:21 | FromDiscord | <kingterrytheterrible12> due to docs |
22:04:30 | FromDiscord | <System64 ~ Flandre Scarlet> Zig doesn't have operator overloading |
22:04:30 | FromDiscord | <Nelson> grow up |
22:04:34 | FromDiscord | <kingterrytheterrible12> no |
22:04:45 | FromDiscord | <Nelson> yes, and i quite like that honestly↵(@System64 ~ Flandre Scarlet) |
22:04:47 | FromDiscord | <raynei486> In reply to @kingterrytheterrible12 "idk zig sucks": it might start seeing some adaption since [bun](https://github.com/oven-sh/bun] just hit 1.0 |
22:04:55 | FromDiscord | <raynei486> (edit) "[bun](https://github.com/oven-sh/bun]" => "[bun](https://github.com/oven-sh/bu)" |
22:04:57 | FromDiscord | <kingterrytheterrible12> In reply to @raynei486 "it might start seeing": bun is a lie |
22:05:01 | FromDiscord | <Nelson> operator overloads can go insane |
22:05:20 | FromDiscord | <kingterrytheterrible12> In reply to @kingterrytheterrible12 "and also bun is": 😉 |
22:06:05 | FromDiscord | <Nelson> like why the fuck does C++ have a magic operator overload for streams |
22:06:11 | FromDiscord | <Nelson> the bitshifting part makes no sense |
22:06:19 | FromDiscord | <raynei486> In reply to @kingterrytheterrible12 "bun is a lie": It's got more stars than the zig compiler tho lmao |
22:06:24 | FromDiscord | <Nelson> i just dislike when languages try to make themselves look like magic |
22:06:28 | FromDiscord | <Nelson> based.↵(@raynei486) |
22:06:41 | FromDiscord | <kingterrytheterrible12> In reply to @raynei486 "It's got more stars": because of fireship, primegen, and other retard js devs who jump on every hypetrain |
22:06:58 | FromDiscord | <kingterrytheterrible12> fireship jumped on zig react svelete next typescript hypetrains |
22:07:02 | FromDiscord | <kingterrytheterrible12> flutter too |
22:07:20 | FromDiscord | <Nelson> typescript is part of the hypetrain? |
22:07:24 | FromDiscord | <kingterrytheterrible12> yup |
22:07:28 | FromDiscord | <kingterrytheterrible12> its just dying out now |
22:07:40 | FromDiscord | <kingterrytheterrible12> they want to ditch TS now lol |
22:07:40 | FromDiscord | <Nelson> i mean, i'm not a fan of js or anything like it, but i honestly feel like ts was necessary |
22:07:54 | FromDiscord | <raynei486> In reply to @kingterrytheterrible12 "because of fireship, primegen,": is it gonna have a fate like the dino |
22:07:58 | FromDiscord | <raynei486> idk anything about js |
22:08:00 | FromDiscord | <kingterrytheterrible12> In reply to @raynei486 "is it gonna have": i hope so |
22:08:05 | FromDiscord | <kingterrytheterrible12> death to all of javascript |
22:08:10 | FromDiscord | <Nelson> dino sucked tho lmao |
22:08:23 | FromDiscord | <kingterrytheterrible12> i havent even ever tried deno |
22:08:28 | FromDiscord | <kingterrytheterrible12> idk what problems it solves |
22:08:47 | FromDiscord | <Nelson> me neither tbh, it's supposedly more secure because it's written in Rust↵(@kingterrytheterrible12) |
22:08:55 | FromDiscord | <Nelson> but afaik it lags behind in the benchmarks |
22:09:03 | FromDiscord | <kingterrytheterrible12> lmao |
22:09:18 | FromDiscord | <kingterrytheterrible12> thats proof you cant speed up js |
22:09:43 | FromDiscord | <Nelson> https://dev.to/builderio/a-first-look-at-bun-is-it-really-3x-faster-than-nodejs-and-deno-45od |
22:09:43 | FromDiscord | <Nelson> yes you can↵(@kingterrytheterrible12) |
22:09:58 | FromDiscord | <Nelson> note, bun is NOT 3x faster than NodeJS, but it IS faster than NodeJS by a good margin |
22:10:03 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "https://dev.to/builderio/a-first-look-at-bun-is-it-": so you continue to be stupid |
22:10:13 | FromDiscord | <Chronos [She/Her]> In reply to @Nelson "i mean, i'm not": They're using docs now |
22:10:18 | FromDiscord | <Chronos [She/Her]> Doc comments |
22:10:22 | FromDiscord | <Chronos [She/Her]> For typing and stuff |
22:10:38 | FromDiscord | <Nelson> stupid? this implements the scientific method, and you can confirm the data yourself↵(@kingterrytheterrible12) |
22:10:43 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Nelson "yes, and i quite": This feature is NECESSARY!!!↵Go lacks this AAAH |
22:10:48 | FromDiscord | <Nelson> i'm using data, tangible data, to prove my point. |
22:10:59 | FromDiscord | <Nelson> i honestly feel like it can grow out of control mega fast↵(@System64 ~ Flandre Scarlet) |
22:12:17 | FromDiscord | <Nelson> oh my god, am i the only one using Matrix here? |
22:12:35 | FromDiscord | <Nelson> that makes sense lol |
22:12:38 | FromDiscord | <Chronos [She/Her]> In the current convo yes lol |
22:13:13 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Nelson "oh my god, am": https://tenor.com/bb5uF.gif |
22:13:25 | FromDiscord | <Nelson> i've noticed something about programming groups, and that is that a lot of the time, most of the people there are absolutely amazing and answer every once in a while |
22:13:50 | FromDiscord | <Nelson> but there's like, 1-3 people just getting angry about whatever and it's really funny |
22:14:12 | FromDiscord | <Nelson> i'm so sad i cant preview that 😭😭😭😭↵(@System64 ~ Flandre Scarlet) |
22:14:42 | FromDiscord | <Nelson> i dislike discord a lot because of the philosophy around it, but honestly, the UX in discord is just much better than element's, element is just straight up doodoo |
22:14:52 | FromDiscord | <raynei486> In reply to @Nelson "but there's like, 1-3": well you are in #main after all |
22:14:56 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "i dislike discord a": fax |
22:15:16 | FromDiscord | <kingterrytheterrible12> In reply to @Nelson "but there's like, 1-3": i aint angry i just correcting |
22:15:29 | FromDiscord | <Nelson> i am more of a telegram user myself, but I am honestly looking into joining decentralized communities |
22:15:31 | FromDiscord | <kingterrytheterrible12> what im angry about is my classmate being retarded rn |
22:15:39 | FromDiscord | <Nelson> without any tangible data, and calling me stupid, yes.↵(@kingterrytheterrible12) |
22:15:50 | FromDiscord | <Nelson> oh really? hm↵(@raynei486) |
22:15:57 | FromDiscord | <Nelson> Hello everyone over there in Discord! |
22:16:26 | FromDiscord | <double_spiral> Are there any good nim 2d game engines? im hoping for something similar to pygame (but for nim obviously) |
22:16:50 | FromDiscord | <raynei486> In reply to @Nelson "oh really? hm (<@733059160924749855>)": I mean there's #offtopic which might actually be even more chaotic |
22:16:53 | FromDiscord | <darltrash> In reply to @Nelson "Hello everyone over there": Hello, myself° |
22:16:55 | FromDiscord | <darltrash> (edit) "myself°" => "myself!" |
22:17:18 | FromDiscord | <darltrash> Cool that discord actually shows up my profile picture over here |
22:17:32 | FromDiscord | <kingterrytheterrible12> In reply to @double_spiral "Are there any good": when i hear anything about python and games https://media.discordapp.net/attachments/371759389889003532/1150555687533940817/yt1s.com_-_Patrick_Bateman_Staring_into_your_soul.mp4 |
22:17:59 | FromDiscord | <darltrash> In reply to @kingterrytheterrible12 "when i hear anything": i mean, why not? i am not a fan of python but it seems like it can be fun |
22:18:11 | FromDiscord | <darltrash> it's good to know that you have options |
22:18:26 | FromDiscord | <raynei486> In reply to @double_spiral "Are there any good": I don't think there's any one that's well maintained right now, you're better off with a library like SDL or raylib |
22:18:28 | FromDiscord | <darltrash> god i wish we could just use micropython in desktop apps |
22:18:32 | FromDiscord | <kingterrytheterrible12> anything beyond 1k LOC in python that isnt AI is unacceptable |
22:18:47 | FromDiscord | <double_spiral> In reply to @raynei486 "I don't think there's": Thats unfortunate |
22:18:49 | FromDiscord | <darltrash> In reply to @raynei486 "I don't think there's": that's what i've been doing so far |
22:19:00 | FromDiscord | <double_spiral> I might use mojo and pygame then |
22:19:03 | FromDiscord | <darltrash> In reply to @double_spiral "Thats unfortunate": honestly, you can use this as an opportunity to learn SDL! |
22:19:08 | FromDiscord | <darltrash> It's a very valuable skill |
22:19:09 | FromDiscord | <kingterrytheterrible12> mojo 🗿 |
22:19:33 | FromDiscord | <darltrash> and also isnt pygame just an SDL binding...? |
22:19:35 | FromDiscord | <double_spiral> In reply to @darltrash "honestly, you can use": (( me looking for a game engine is me avoiding learning sdl )) |
22:19:46 | FromDiscord | <darltrash> In reply to @double_spiral "(( me looking for": why are you avoiding it |
22:19:47 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Nelson "i dislike discord a": Discord : Everything is under Nitro |
22:19:55 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Discord : Everything is": they gotta make money somehow |
22:19:56 | FromDiscord | <double_spiral> In reply to @kingterrytheterrible12 "mojo 🗿": ik bro, but i want something compiled, and something simple |
22:20:02 | FromDiscord | <kingterrytheterrible12> In reply to @double_spiral "ik bro, but i": C |
22:20:06 | FromDiscord | <kingterrytheterrible12> C is compiled and simple |
22:20:09 | FromDiscord | <double_spiral> nah |
22:20:13 | FromDiscord | <darltrash> shut up |
22:20:13 | FromDiscord | <double_spiral> nah bruh |
22:20:19 | FromDiscord | <raynei486> @double_spiral there's this https://github.com/Vladar4/nimgame2 which is probably following something similar to pygame |
22:20:21 | FromDiscord | <kingterrytheterrible12> it is simple though |
22:20:25 | FromDiscord | <raynei486> but last commit in 2021 |
22:20:26 | FromDiscord | <raynei486> ¯\_(ツ)_/¯ |
22:20:27 | FromDiscord | <darltrash> i'm going to be honest, SDL also looked very scary to me but I ended up learning it in like... 4 days |
22:20:28 | FromDiscord | <kingterrytheterrible12> C stdlib is like 400k LOC i think |
22:20:30 | FromDiscord | <darltrash> of just having fun with it |
22:20:34 | FromDiscord | <double_spiral> In reply to @kingterrytheterrible12 "it is simple though": its simple but its not what im looking for |
22:20:41 | FromDiscord | <darltrash> In reply to @kingterrytheterrible12 "it is simple though": it's simple, but not convenient |
22:20:46 | FromDiscord | <kingterrytheterrible12> In reply to @double_spiral "its simple but its": use python |
22:20:53 | FromDiscord | <double_spiral> no i want something compiled |
22:20:57 | FromDiscord | <darltrash> why? |
22:20:59 | FromDiscord | <kingterrytheterrible12> you cant have both |
22:21:00 | FromDiscord | <darltrash> why something compiled? |
22:21:04 | FromDiscord | <double_spiral> or something that can genorate an executable |
22:21:09 | FromDiscord | <kingterrytheterrible12> compiled fast simple easy to use and good tooling |
22:21:10 | FromDiscord | <darltrash> In reply to @kingterrytheterrible12 "you cant have both": yes you can? nim |
22:21:11 | FromDiscord | <raynei486> SDL, SFML, raylib are all quite convenient imo |
22:21:13 | FromDiscord | <darltrash> also Go |
22:21:15 | FromDiscord | <raynei486> just pick one |
22:21:18 | FromDiscord | <kingterrytheterrible12> ok use go |
22:21:22 | FromDiscord | <double_spiral> In reply to @kingterrytheterrible12 "you cant have both": i can if i use nim or mojo 💀 |
22:21:22 | FromDiscord | <darltrash> In reply to @raynei486 "SDL, SFML, raylib are": Yeah! SDL is great! |
22:21:29 | FromDiscord | <raynei486> (edit) "SDL, SFML, raylib are all quite convenient ... imo" added "and easy" |
22:21:29 | FromDiscord | <kingterrytheterrible12> In reply to @double_spiral "i can if i": mojo |
22:21:32 | FromDiscord | <raynei486> especially raylib |
22:21:33 | FromDiscord | <darltrash> mojo is... weird, idk why i never liked it |
22:21:38 | FromDiscord | <kingterrytheterrible12> the python noobs have unvaded |
22:21:40 | FromDiscord | <darltrash> In reply to @raynei486 "especially raylib": raylib is literally all cooked and ready to uise |
22:21:44 | FromDiscord | <kingterrytheterrible12> (edit) "unvaded" => "invaded" |
22:21:49 | FromDiscord | <darltrash> In reply to @kingterrytheterrible12 "the python noobs have": SHUT UP |
22:21:54 | FromDiscord | <darltrash> some people just like using python! |
22:21:58 | FromDiscord | <darltrash> it doesnt make them mediocre! |
22:22:04 | FromDiscord | <double_spiral> is swearing alowed on this server |
22:22:05 | FromDiscord | <darltrash> stop insulting others! |
22:22:14 | FromDiscord | <raynei486> In reply to @darltrash "raylib is literally all": I love raylib so much |
22:22:22 | FromDiscord | <raynei486> I'm not really into gamedev but it makes it so easy |
22:22:25 | FromDiscord | <darltrash> In reply to @raynei486 "I love raylib so": it was great the last time I used it! 🙂 |
22:22:46 | FromDiscord | <kingterrytheterrible12> In reply to @darltrash "some people just like": i dont know why but i am being serious here, why has every python dev i have encountered his age is either no more than 16 or is a scientist of some sort |
22:22:57 | FromDiscord | <darltrash> In reply to @kingterrytheterrible12 "i dont know why": that is true |
22:23:13 | FromDiscord | <double_spiral> i am older than 16 and i am not a scientist |
22:23:17 | FromDiscord | <darltrash> it's weird, they're both newbies or absolute nerds who just want to have an overpowered calculator |
22:23:19 | FromDiscord | <double_spiral> i just know python the best |
22:23:25 | FromDiscord | <kingterrytheterrible12> and also python devs want to make everything in python |
22:23:31 | FromDiscord | <darltrash> In reply to @double_spiral "i just know python": uh, i dont think python is the best, honestly |
22:23:34 | FromDiscord | <kingterrytheterrible12> like rust devs |
22:23:38 | FromDiscord | <darltrash> it's good at what it was designed for |
22:23:44 | FromDiscord | <sOkam! 🫐> its not the best lol |
22:23:44 | FromDiscord | <kingterrytheterrible12> python sucks bad |
22:23:50 | FromDiscord | <double_spiral> In reply to @darltrash "uh, i dont think": not is the best, i just know it the best |
22:23:51 | FromDiscord | <kingterrytheterrible12> like python IS REALLY BAS |
22:23:52 | FromDiscord | <kingterrytheterrible12> (edit) "BAS" => "BAD" |
22:23:54 | FromDiscord | <double_spiral> of all the languages ive used |
22:23:56 | FromDiscord | <darltrash> but it's not good for anything that needs to be quick, compact and easy to get working quick |
22:23:57 | FromDiscord | <sOkam! 🫐> where is nim in that curve if python is the best 🙈 |
22:24:09 | FromDiscord | <kingterrytheterrible12> In reply to @double_spiral "of all the languages": used languages: python |
22:24:23 | FromDiscord | <darltrash> In reply to @heysokam "where is nim in": i think that the comparison between nim and python is a bit dumb, because i dont even think of nim as a second python |
22:24:28 | FromDiscord | <darltrash> i think of it as a pascal on drugs |
22:24:37 | FromDiscord | <double_spiral> In reply to @kingterrytheterrible12 "used languages: python": seriously, is swearing allowed in this server |
22:24:40 | FromDiscord | <kingterrytheterrible12> yes |
22:24:46 | FromDiscord | <darltrash> yeah but dont go ham on it |
22:24:52 | FromDiscord | <double_spiral> In reply to @kingterrytheterrible12 "yes": fuck you |
22:24:57 | FromDiscord | <darltrash> LMAO WHY |
22:24:58 | FromDiscord | <kingterrytheterrible12> no sir fuck you |
22:25:02 | FromDiscord | <darltrash> love eachother |
22:25:06 | FromDiscord | <kingterrytheterrible12> im not gat |
22:25:07 | FromDiscord | <kingterrytheterrible12> (edit) "gat" => "gay" |
22:25:16 | FromDiscord | <double_spiral> In reply to @darltrash "LMAO WHY": he is being a dickhead for no good reason |
22:25:23 | FromDiscord | <kingterrytheterrible12> In reply to @double_spiral "he is being a": use C# |
22:25:25 | FromDiscord | <darltrash> yeah i agree but that's so extreme lol |
22:25:26 | FromDiscord | <kingterrytheterrible12> C# can be compiled |
22:25:28 | FromDiscord | <kingterrytheterrible12> can |
22:25:30 | FromDiscord | <sOkam! 🫐> i have engaged in this lang discussion, so im faulty of this too↵but we are turning into offtopic quite hard |
22:25:33 | FromDiscord | <darltrash> In reply to @kingterrytheterrible12 "use C#": ........... not a bad idea |
22:25:34 | FromDiscord | <sOkam! 🫐> and its happening a lot lately |
22:25:38 | FromDiscord | <sOkam! 🫐> please nim |
22:25:47 | FromDiscord | <darltrash> yeah so, nim has been an amazing language for me so far! |
22:26:07 | FromDiscord | <kingterrytheterrible12> i hope python devs dont invade nim for the love of god |
22:26:23 | FromDiscord | <darltrash> gatekeeper |
22:26:26 | FromDiscord | <double_spiral> FR |
22:26:29 | FromDiscord | <kingterrytheterrible12> no |
22:26:35 | FromDiscord | <darltrash> let's move to offtopic |
22:27:30 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kingterrytheterrible12 "like python IS REALLY": Python is↵# 🐌 🐌 🐌 🐌 |
22:27:40 | FromDiscord | <kingterrytheterrible12> In reply to @sys64 "Python is # 🐌": so ya willing to marry me |
22:38:47 | FromDiscord | <darltrash> In reply to @sys64 "Python is # 🐌": 100% |
23:03:22 | * | Amun-Ra quit (Server closed connection) |
23:03:44 | * | Amun-Ra joined #nim |
23:24:02 | FromDiscord | <Nelson> imagen.png https://media.discordapp.net/attachments/371759389889003532/1150572421921906748/imagen.png |
23:24:04 | FromDiscord | <Nelson> (sorry for the terrible code lol) |
23:24:16 | FromDiscord | <Nelson> but can someone tell me why is this happening? |
23:24:31 | FromDiscord | <Nelson> it's just a couple of lines that are like this, but i dont see any errors on the syntax or smth |
23:27:07 | FromDiscord | <konsumlamm> `char` doesn't support unicode ig |
23:27:59 | FromDiscord | <Nelson> that kind of sucks, i expected the '' stuff to get translated to an integer literal instead of just a char↵(@konsumlamm) |
23:28:18 | FromDiscord | <konsumlamm> it's a weird error message for that though |
23:28:27 | FromDiscord | <Elegantbeef> make a rune proc so then it's just `rune"..."` |
23:28:35 | FromDiscord | <Elegantbeef> I mean the compilation error is probably more useful |
23:28:58 | FromDiscord | <konsumlamm> if you want integers, then why not use integers? |
23:29:32 | FromDiscord | <Nelson> exact same message............... |
23:29:35 | FromDiscord | <Elegantbeef> Unicode is made up of gyphs or runes |
23:29:37 | FromDiscord | <Elegantbeef> rather can be more |
23:29:38 | FromDiscord | <Elegantbeef> Thes glyph/runes are more than a single byte |
23:29:38 | FromDiscord | <Nelson> idk what a rune is but okay \:) |
23:29:40 | FromDiscord | <Elegantbeef> In Nim a char is always a single byte |
23:29:52 | FromDiscord | <Elegantbeef> They want a nice syntax for their table and to know the character at a glance |
23:30:16 | FromDiscord | <Nelson> 'no i dont think you understand, for example, in zig i could literally go like '❤️🩹 |
23:30:17 | FromDiscord | <Nelson> no i dont think you understand, for example, in zig i could literally go like '❤️🩹' |
23:30:20 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#ix=4FYK |
23:30:21 | FromDiscord | <Elegantbeef> Yes Nim is not Zih |
23:30:22 | FromDiscord | <Nelson> yeah but i'm fine with it |
23:30:22 | FromDiscord | <Elegantbeef> Zig even |
23:30:23 | FromDiscord | <Nelson> epic |
23:30:49 | FromDiscord | <Elegantbeef> `import std/unicode` aswell |
23:31:07 | FromDiscord | <Elegantbeef> Nim treats chars as single byte characters and strings as encodeless binary streams |
23:31:41 | FromDiscord | <Elegantbeef> This means `myString[ind]` is a `O(1)` operation unlike Rust for instance |
23:32:24 | FromDiscord | <Nelson> Should I use Runes to abstract characters? |
23:32:32 | FromDiscord | <Nelson> as in, use a Rune instead of an int? |
23:32:39 | FromDiscord | <Elegantbeef> If you want to use unicode characters you have to use `Rune` |
23:32:55 | FromDiscord | <Nelson> okay, thanks for the answer! mega useful \:) |
23:32:56 | FromDiscord | <Elegantbeef> Of course use a Rune instead of an int |
23:33:06 | FromDiscord | <Nelson> idk ¯\_(ツ)\_/¯ |
23:33:08 | FromDiscord | <Elegantbeef> This is a strongly typed language, what's the point of types otherwise! |
23:33:49 | FromDiscord | <Nelson> i mean, zig uses unsigned integers for characters lmao |
23:33:49 | FromDiscord | <Elegantbeef> Right that's not strongly typed 😛 |
23:33:49 | FromDiscord | <Nelson> and i mean, it does make sense, it has never been a problem for me |
23:34:07 | FromDiscord | <Elegantbeef> not all integers are runes and not all runes are integers |
23:34:07 | FromDiscord | <Nelson> but yeah it's better to have a type for it |
23:39:39 | FromDiscord | <Nelson> how do you copy a value in nim? |
23:39:55 | FromDiscord | <Elegantbeef> Just assign it to a new variable |
23:40:08 | FromDiscord | <Nelson> lmao i thought it did referencing |
23:40:16 | FromDiscord | <Nelson> maybe i read the thing wrong |
23:46:15 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#ix=4FYO |
23:48:34 | FromDiscord | <jviega> Oh jeez. Is there any way to suppress the evaluation of backticks in .emit'd code? |
23:48:52 | FromDiscord | <Elegantbeef> emit goes int the body, exportc goes on the proc |
23:49:11 | FromDiscord | <Elegantbeef> `..: SomeNumber {.exportc.} = {.emit: ...}` |
23:49:52 | FromDiscord | <Elegantbeef> Also worth noting you have a generic and you're returning a generic parameter |
23:49:56 | FromDiscord | <Elegantbeef> But you do not specify the generic |
23:51:04 | FromDiscord | <jviega> Beef, can I suppress backtick evaluation an an emit block, or am I SOL? Escaping them doesn't seem to be getting the job done |
23:51:15 | FromDiscord | <Elegantbeef> No clue I do not use emit |
23:52:47 | FromDiscord | <user2m> In reply to @Elegantbeef "No clue I do": yup that seemed to do it! |
23:53:02 | FromDiscord | <user2m> In reply to @Elegantbeef "Also worth noting you": also this is not my code it's from an example from https://github.com/nim-lang/Nim/wiki/Nim-for-TypeScript-Programmers#interoperability-template |