00:36:04 | FromDiscord | <sOkam! 🫐> @pmunch would it be possible to turn either opir or futhark into a c2nim-like application, by using the functions as a library imported from another app?↵What functions should I be looking at to achieve such a goal? |
00:37:29 | FromDiscord | <sOkam! 🫐> I know futhark can export readable code, but I'm talking about an app that takes some input and outputs a file with code directly, without having to extract it from the nimcache folder and create the binding generator etc etc etc, which becomes really awkward to work with from a C-translation-workflow perspective |
01:19:08 | * | a_ia`est- joined #nim |
01:20:25 | * | a_ia`est- left #nim (Glined: User has been banned from the network.) |
01:45:33 | * | lucerne3 joined #nim |
01:47:02 | * | lucerne quit (Ping timeout: 272 seconds) |
01:47:03 | * | lucerne3 is now known as lucerne |
02:09:28 | NimEventer | New thread by carterza: Why is building the community and ecosystem such a struggle?, see https://forum.nim-lang.org/t/10529 |
02:10:12 | * | deadmarshal_ quit (Ping timeout: 240 seconds) |
02:10:22 | * | Onionhammer quit (Quit: Ping timeout (120 seconds)) |
02:10:40 | * | Onionhammer joined #nim |
02:13:00 | * | alice quit (Ping timeout: 240 seconds) |
02:13:22 | FromDiscord | <_gumbercules> now I get to wait until I wake up tomorrow to read a page full of replies telling me I'm an idiot because everyone lives in the EU and is asleep now |
02:13:39 | * | adium quit (Ping timeout: 272 seconds) |
02:21:00 | * | adium joined #nim |
02:21:35 | * | alice joined #nim |
02:26:25 | FromDiscord | <_gumbercules> I'd change my forum username to Gumbercules too but alas, the Nim forum wont' let me |
02:26:46 | * | deadmarshal joined #nim |
02:37:10 | FromDiscord | <gogolxdong666> where is SDL_mutex implement of Nim, sdl2 doesn't have. |
02:37:41 | FromDiscord | <_gumbercules> Probably just isn't wrapped - I found stuff like that when using the SDL2 bindings previously |
02:45:57 | * | greaser|q quit (Changing host) |
02:45:57 | * | greaser|q joined #nim |
03:23:12 | FromDiscord | <thattotallyrealmyth> sent a long message, see http://ix.io/4IbS |
03:24:46 | FromDiscord | <thattotallyrealmyth> If you are building a parser, I have got some notes from a module I did at uni that focuses on the model of computations and has a few weeks worth of notes/excersizes on parsers and compiler design |
03:45:01 | * | xet7 quit (Read error: Connection reset by peer) |
03:57:34 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#ix=4IbV |
03:57:57 | FromDiscord | <user2m> (edit) "https://play.nim-lang.org/#ix=4IbV" => "https://paste.rs/xA6Zq" |
04:42:28 | FromDiscord | <luxurymode> sent a long message, see https://paste.rs/rZp3H |
05:07:19 | FromDiscord | <_gumbercules> sent a code paste, see https://play.nim-lang.org/#ix=4Ic9 |
05:09:07 | * | lucerne quit (Quit: Ping timeout (120 seconds)) |
05:10:22 | * | lucerne joined #nim |
05:17:34 | * | om3ga quit (Ping timeout: 245 seconds) |
05:45:24 | * | om3ga joined #nim |
06:29:34 | * | advesperacit joined #nim |
06:29:57 | * | rockcavera quit (Remote host closed the connection) |
06:52:01 | * | azimut quit (Ping timeout: 252 seconds) |
06:55:01 | * | junaid_ joined #nim |
06:57:39 | FromDiscord | <user2m> In reply to @user2m "I'm trying to run": I found the answer `-d:nimExperimentalAsyncjsThen` I really wish this would be made explicit in the docs.... |
06:59:08 | * | antranigv quit (Ping timeout: 255 seconds) |
07:02:21 | * | alphacentauri quit (Quit: WeeChat 4.0.5) |
07:03:18 | * | alphacentauri joined #nim |
07:08:23 | FromDiscord | <_gumbercules> more evidence of one of the points I tried to make in that long ass forum post I wrote earlier ^ |
07:09:38 | * | antranigv joined #nim |
07:14:16 | FromDiscord | <user2m> In reply to @_gumbercules "more evidence of one": just read your post - an idea that immediately popped into my head would be an online searchable cookbook\ |
07:14:17 | * | PMunch joined #nim |
07:14:53 | FromDiscord | <user2m> the docs are USUALLY helpful but every now and then theres things where I'm just banging my head |
07:15:17 | FromDiscord | <_gumbercules> Yeah - something like that would be great and they exist in certain states of completion but they tend to be maintained by individual contributors and there is no effort to centralize them or make them work for everyone, and it's been that way forever |
07:17:46 | FromDiscord | <_gumbercules> sent a long message, see http://ix.io/4IcJ |
07:19:55 | FromDiscord | <_gumbercules> The docs are helpful but as you alluded to - not everything is always easily found in them / made explicit and questions around what is not get asked quite frequently |
07:20:45 | FromDiscord | <_gumbercules> Not to mention all the silly inane questions that people ask constantly which we could simply answer with a link to some cookbook / FAQ - for instance: why does this Nim code not run as fast as this python code? |
07:21:21 | FromDiscord | <_gumbercules> bam - link to FAQ section about why benchmarks are dumb and things you might be doing to slow down your Nim code / things you could do to speed it up |
07:22:46 | FromDiscord | <_gumbercules> at one point there were efforts to create and maintain this type of thing on Github but of course only a select few people could contribute to them and they've gotten out of date and are now not worth much |
07:24:01 | FromDiscord | <user2m> could you link the OG attempt? |
07:24:11 | FromDiscord | <user2m> from github? |
07:26:35 | FromDiscord | <_gumbercules> sure, one moment |
07:27:50 | FromDiscord | <_gumbercules> https://github.com/nim-lang/Nim/wiki/Unofficial-FAQ |
07:28:09 | FromDiscord | <_gumbercules> and then there is this too - https://nim-lang.org/faq.html |
07:28:57 | FromDiscord | <_gumbercules> I don't think either really help newcomers and I don't think they were written from the perspective of one either |
07:29:40 | FromDiscord | <user2m> gotcha this is still helpful thank you! |
07:30:12 | FromDiscord | <_gumbercules> They might answer questions frequently asked about the language and it's roadmap / design but definitely not questions that get frequently asked in here - like how do I do X, how do I use this library / feature, etc... |
07:30:21 | FromDiscord | <_gumbercules> In reply to @user2m "gotcha this is still": anytime! glad I could help! |
07:54:20 | PMunch | Hmm, it annoys me how poorly Nim does in this benchmark.. |
07:55:50 | PMunch | I mean the Go code looks almost the same as the Nim code but runs 3x faster? |
08:09:45 | FromDiscord | <nnsee> which benchmark is this |
08:23:54 | FromDiscord | <vindaar> In reply to @PMunch "Hmm, it annoys me": have you run perf or similar on it? and tried a different table, like something from adix? |
08:25:13 | PMunch | I tried some tables from adix, just made it slower |
08:26:05 | PMunch | @nnsee, this one https://github.com/jinyus/related_post_gen |
08:26:23 | PMunch | I think we might just get screwed by not being allowed -d:danger |
08:26:53 | * | dza quit (Remote host closed the connection) |
08:36:54 | * | dza joined #nim |
08:39:03 | FromDiscord | <thattotallyrealmyth> is there a plan/project around making nims version of ziglings or rustlings? nimlings! |
08:41:54 | FromDiscord | <Phil> I can't say I'm familiar with either expression, as in: What? 😄 |
08:43:14 | FromDiscord | <Phil> In reply to @PMunch "I think we might": I mean, likely somewhat, but -d: danger didn't give me a 66% performance improvement so I don't think that's enough of an explainer |
08:43:41 | FromDiscord | <Phil> The one time I ran the nim example anyway |
08:48:25 | FromDiscord | <thattotallyrealmyth> sent a long message, see http://ix.io/4IcU |
08:49:23 | FromDiscord | <Phil> Hmmm I'm only aware of advent of code initiative |
08:49:47 | FromDiscord | <thattotallyrealmyth> rustlings is almost like tutortials/seminars at uni but from your shell |
08:50:19 | FromDiscord | <Phil> Could be a really cool project though.↵I mean, at least I learn a lot while writing docs.↵I'm currently contributing a ton to a nim project that wraps GTK and I literally started by writing the nimibook-docs (and integrating already existing docs which made up at least half of it) for it |
08:50:54 | FromDiscord | <thattotallyrealmyth> you launch up rustlings, it takes you to the first question, it gives you a readme file for info needed, it allows you to get hints, and if you still dont get it; you google it and on to the next. its just an interactive way of learning how to program in rust |
08:51:25 | FromDiscord | <Phil> Could also be a really good way to learn nim 😄 |
08:51:28 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "Could be a really": thats really awesome. I think rust with rustlings has defo set a new standard for learning new languages i reckon |
08:52:25 | FromDiscord | <thattotallyrealmyth> i would do it but I am not good enough at coding nor do I know nim enough to even begin making a half decent attempt:dogkek: |
08:52:58 | FromDiscord | <Phil> In reply to @thattotallyrealmyth "i would do it": No need to start out writing the CLI tool.↵This is a multi-step monstrum, could start out first with writing the individual exercises |
08:53:30 | PMunch | With -d:danger it runs almost twice as fast for me |
08:53:55 | FromDiscord | <Phil> Assuming like a dozen exercises for the more basic nim features that already can be a nice and gentle introduction to nim and be useful later down the line when thinking about bundling all the exercises together into a binary 😛 |
08:54:17 | PMunch | @thattotallyrealmyth, sounds a bit like what Excercism is doing |
08:54:40 | FromDiscord | <Phil> And over the scope of individual exercises you can of course also always come to chat and ask for help in that regard, explainers to you so you can turn it into exercises etc. |
08:56:39 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "No need to start": Thats a really good idea; that would also give me a better medium to learning nim more actively! I will get the mastering nim book and think of ways to make the excersizes follow the book |
08:57:32 | FromDiscord | <thattotallyrealmyth> In reply to @PMunch "<@1002236313350701096>, sounds a bit": Ah are they developing like a guided learning path for nim then. Thats great if one is avaliable |
08:57:56 | FromDiscord | <Phil> In reply to @thattotallyrealmyth "Thats a really good": Always happy to help 😄↵And if by the end of it CLI apps are still a scary beast, then it could still be a project you publish and you could keep that in the back of your head to recruit somebody for writing a CLI tool |
08:58:47 | FromDiscord | <Phil> It's far easier to recruit somebody looking for a project if you can just say "Do you wanna build something like rustlings, the exercises are already written!" |
08:59:24 | PMunch | @thattotallyrealmyth, yeah they have a Nim track: https://exercism.org/tracks/nim |
08:59:30 | FromDiscord | <Phil> (edit) "written!"" => "written!".↵So after writing those it's just publishing the exercises, keeping that in the back of your head and work on other stuff until see somebody getting bored, happened a least twice this year 😄" |
08:59:39 | FromDiscord | <Phil> (edit) "It's far easier to recruit somebody looking for a project if you can just say "Do you wanna build something like rustlings, the exercises are already written!".↵So after writing those it's just publishing the exercises, keeping that in the back of your head and work on other stuff until see somebody getting bored, happened a least twice this year ... 😄" added "in this chat that I pushed folks towards projects" |
09:03:52 | FromDiscord | <thattotallyrealmyth> In reply to @PMunch "<@1002236313350701096>, yeah they have": It looks really cool! But I guess it does lack a specific emphasis on nim, instead of teaching you in a targetted manner each feature or compenent of nim; it seems like the focus is on more general programming in nim/logic based instead of purly language synthax and feature based |
09:06:30 | PMunch | That's true |
09:06:53 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "It's far easier to": AHAHHAH that be really awesome. I will defo think long and hard about this. I spent the last day translating my favorite libraries from c/c++ to nim from arduino. Not that I had much success but I learned a fair bit to contiue makin good progress : ) |
09:08:17 | FromDiscord | <Phil> In reply to @thattotallyrealmyth "AHAHHAH that be really": Man you will love that Pmunch is in this chat 😄 |
09:08:43 | FromDiscord | <Phil> (edit) "Pmunch" => "PMunch" |
09:09:43 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "Man you will love": I assume you guys are regular nim contributors? What lead to you guys to finding out about and using nim |
09:11:33 | FromDiscord | <Phil> He wrote futhark to make wrapping C less of a PITA and is pretty much the first name that pops into my mind when it comes to embedded.↵And I think he wrote badger: https://www.youtube.com/watch?v=dcHEhO4J29U |
09:11:59 | FromDiscord | <Phil> And ratel: https://github.com/PMunch/ratel |
09:12:10 | FromDiscord | <thattotallyrealmyth> oh wow... I had actually been going through your blog for wrapping c libraries!!! |
09:12:13 | FromDiscord | <Phil> Though I can't claim to understand the difference |
09:12:30 | FromDiscord | <Phil> PMunch, accept your praise 😛 |
09:13:26 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "PMunch, accept your praise": youre all out here doing the lords work <:10_10:1081586146640941106> |
09:14:26 | FromDiscord | <Phil> I'll take that compliment, though I'm pretty sure I work in fields you're unlikely to touch if you're into embedded ^^ |
09:15:21 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "I'll take that compliment,": Try me! |
09:15:53 | FromDiscord | <Phil> I do like majority webdev and contribute to GTK because I like the visuals of the framework and wanted to learn about wrapping C to turn it into a not-painful API |
09:16:06 | FromDiscord | <Phil> (edit) "API" => "API. And learn about packaging native GUI apps" |
09:16:15 | FromDiscord | <Phil> (edit) "I do like majority webdev and contribute to ... GTKwrapper" added "a" | "aGTK ... because" added "wrapper" |
09:16:50 | FromDiscord | <thattotallyrealmyth> thats really cool stuff. I am the least creative person on this planet so I defo could never work with making anything that needs to look more appealing than a wet cardboard box |
09:17:23 | FromDiscord | <thattotallyrealmyth> when did you first get into webdev? I have a few friends in cs into it and I see them doing some crazy wizardtry on JS and node |
09:18:15 | FromDiscord | <Phil> Funnily enough design basics have very little to do with creativity and everything to do with knowing what information is important compared to the other information and what ways of emphasizing there are to catch somebodies eye |
09:18:45 | FromDiscord | <Phil> It's a bit of learning a few rules by heart and a few patterns and that's it, for everything else you need a designer |
09:20:41 | FromDiscord | <thattotallyrealmyth> Ah alright. Thats still I think at least, smth I could never wrap my head around. I totally respect that; for what its made to be, web dev is way harder than anything else |
09:24:59 | PMunch | @thattotallyrealmyth, glad to hear my articles can be of help :) |
09:25:30 | PMunch | @Phil, Badger is my keyboard firmware, Ratel is the code from badger generalized to work for more than just my keyboard firmware :P |
09:25:43 | PMunch | Nowadays Badger runs on Ratel |
09:26:12 | FromDiscord | <Phil> That's actually just GUI stuff in general, the same rules apply to native GUI 😛↵As for webdev, been in the industry for like 3.5 years at this point and its neat, but JS is a painful language |
09:26:15 | FromDiscord | <Phil> Like, really painful |
09:26:35 | PMunch | And @thattotallyrealmyth to answer your other question, I learned about Nim from a friend who used to send me cool languages you'd never heard of |
09:26:59 | PMunch | Coming from a background of C and Python Nim was naturally an immediate hit with me |
09:28:58 | FromDiscord | <thattotallyrealmyth> In reply to @PMunch "And <@1002236313350701096> to answer": ahahahah thats really cool! Everyone deserves a friend like that. Its really awesome that you are taking the time to help others like myself get adapted to the language and learn how to apply it in their context of interest |
09:29:27 | FromDiscord | <thattotallyrealmyth> In reply to @PMunch "Coming from a background": I definitly really like that its python but way better. I think nim should be the default begineer language |
09:29:43 | FromDiscord | <thattotallyrealmyth> it includes alot of key concepts a begineer should probably learn in a friendly enough way |
09:30:41 | FromDiscord | <thattotallyrealmyth> (edit) "In reply to @PMunch "Coming from a background": I definitly really like that its ... python" added "like" |
09:38:39 | * | madprops quit (Remote host closed the connection) |
09:38:56 | * | madprops joined #nim |
09:38:56 | * | madprops quit (Changing host) |
09:38:56 | * | madprops joined #nim |
10:11:11 | * | junaid_ quit (Quit: leaving) |
10:12:20 | FromDiscord | <Chronos [She/Her]> In reply to @termer "it's really weird": Fair lol, I messed with bytecode briefly :p |
10:13:13 | FromDiscord | <Chronos [She/Her]> In reply to @thattotallyrealmyth "A finite state machines": Thanks for explaining! |
10:17:00 | * | junaid_ joined #nim |
10:19:13 | FromDiscord | <Phil> In reply to @thattotallyrealmyth "it includes alot of": I like to express it as "Nim as a lot of opt-in mechanics that are generally useful, not just in nim. Things you can learn about, but you don't have to.", for stuff like more in-depth compiler knowledge, metaprogramming, memory management, dynamic vs. static dispatch etc. etc. |
10:20:34 | FromDiscord | <Phil> In reply to @PMunch "Nowadays Badger runs on": I swear you had a talk about Ratel that explained how awesome Ratel binaries are |
10:20:48 | FromDiscord | <Phil> Like, I was there at nimconf when you held it but I thought it was also on youtube |
10:21:47 | FromDiscord | <Phil> Found it !↵@thattotallyrealmyth as an arduino guy this may be of interest to you, PMunch introducing Ratel basically:↵https://www.youtube.com/watch?v=0dt3icPj8Kk |
10:22:03 | FromDiscord | <Phil> (edit) "Found it !↵@thattotallyrealmyth as an arduino guy this may be of interest to you, PMunch introducing Ratel ... basically:↵https://www.youtube.com/watch?v=0dt3icPj8Kk" added "for nimconf" |
10:22:11 | PMunch | Ah yes, I was confused because all of the NimConf talks are available on YouTube |
10:24:35 | FromDiscord | <Phil> That thing really needs Ratel in the title 😛 |
10:27:13 | FromDiscord | <dissolved.girl> ... Honestly didn't expect PMunch to look so handsome 😳 |
10:28:17 | PMunch | Uhm, thanks I guess :P |
10:28:48 | PMunch | Hmm, turns out that replacing the table in this benchmark with just a sequence of tuples makes it faster |
10:30:21 | FromDiscord | <vindaar> hashing is (can be) expensive. noticed the same recently in `unchained`. I was caching unit names (strings) at CT using a Table. Turns out that's 50% slower than just regenerating the string names each time, due to the cost of hashing the data types that uniquely identify the unit |
10:36:38 | * | junaid_ quit (Remote host closed the connection) |
10:37:26 | * | junaid_ joined #nim |
10:40:34 | PMunch | Hmm, tried to do a tuple of two sequences instead a sequence of key/value tuples, but that turned out to be slower |
10:45:22 | * | junaid_ quit (Remote host closed the connection) |
10:50:17 | * | junaid_ joined #nim |
10:54:40 | FromDiscord | <sOkam! 🫐> @pmunch missed the question or ignored because its not possible or don't want to bother?↵its an important one for me, but im fine if you just don't have the time or don't want to bother explaining. just wanted to know if you just missed it accidentaly |
11:02:53 | PMunch | Did I miss a question? |
11:05:20 | FromDiscord | <nnsee> probably referring to this: https://media.discordapp.net/attachments/371759389889003532/1159446218783596575/image.png?ex=65310d70&is=651e9870&hm=97a55a696d5111925ea596334cbe5e436a7eb0875dd58679ab671b55c01e7d62& |
11:05:38 | FromDiscord | <sOkam! 🫐> In reply to @heysokam "<@392962235737047041> would it be": this one |
11:05:52 | FromDiscord | <nnsee> more context: |
11:05:54 | FromDiscord | <nnsee> https://media.discordapp.net/attachments/371759389889003532/1159446361171832945/image.png?ex=65310d91&is=651e9891&hm=4478322284939b660f59138109bfcf9f6af92c2dc8c2d891e44c94ded18929d2& |
11:06:03 | FromDiscord | <nnsee> In reply to @heysokam "this one": he probably can't see what you replied to on irc |
11:06:19 | FromDiscord | <sOkam! 🫐> In reply to @nnsee "he probably can't see": yeah but do images even work in irc? |
11:06:43 | FromDiscord | <sOkam! 🫐> i thought it was just text |
11:06:45 | FromDiscord | <nnsee> i don't see why not? it's just a link to a png |
11:07:02 | FromDiscord | <sOkam! 🫐> kk ty |
11:07:08 | FromDiscord | <nnsee> <https://cdn.discordapp.com/attachments/371759389889003532/1159446361171832945/image.png?ex=65310d91&is=651e9891&hm=4478322284939b660f59138109bfcf9f6af92c2dc8c2d891e44c94ded18929d2&> |
11:07:13 | FromDiscord | <nnsee> oh, they have signature checks now? |
11:07:28 | FromDiscord | <nnsee> guess no more using discord as an image/media host |
11:07:35 | FromDiscord | <nnsee> not that i did that, but i know people used to |
11:18:40 | * | junaid_ quit (Remote host closed the connection) |
11:23:05 | FromDiscord | <odexine> Currently the signatures are nonfunctional but are expected to activate within the year yes |
11:42:25 | FromDiscord | <_gumbercules> feels like we're back in the days of AOL chatrooms |
11:43:09 | PMunch | I'm not entirely sure what you mean sOkam |
11:44:24 | PMunch | You want a program that does what Futhark does but just outputs to a file? |
11:46:02 | PMunch | For that you would basically have to do the same stuff that this does: https://github.com/PMunch/futhark/blob/master/src/futhark.nim#L667 |
11:46:40 | PMunch | Of course you can probably drop all the hashing and caching stuff |
11:46:55 | PMunch | And probably only select the logic you need from the branches |
11:48:07 | PMunch | Hmm, might be tricky to make it into a program though without including the Nim compiler since Futhark works by creating NimNodes |
11:48:47 | PMunch | You could of course take all of the logic in Futhark and rewrite it to output strings instead, while still reusing the Opir output as is |
11:49:34 | PMunch | The Opir output is basically just a big JSON file of everything in the C file. Futhark only translates this file to NimNodes, so your tool could translate it into a string instead |
11:51:49 | PMunch | Not sure why you would want to do that though |
12:28:18 | * | rockcavera joined #nim |
12:36:36 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "I like to express": Yeah for sure. I think it’s a lot of fair stuff that I’d rather be taught then be taught the basics but not be given the full story. I think the start is the biggest hurdle and there’s a short gap where you have this massive leap in knowledge; I think it makes python a not very bang for ur buck language. I would think C is but I would definitely change that to nim |
12:37:08 | FromDiscord | <Phil> Define "bang for buck" |
12:38:15 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "Found it ! <@1002236313350701096>": I’ll definitely look into it! I probably need to dig a tad bit deeper since I’ve decided there are some stuff I want to rewrite in nim. I imagine the preformance gain will be worth it and the time spent getting all these libraries working together is better spent rewriting them all in a way that teaches old c code new nim tricks as Pmunch put it : ) |
12:38:18 | FromDiscord | <Phil> I mean, Python also has a lot of valuable things it can teach you.↵First level functions in python are a valuable thing to have in any other language.↵The mixin design pattern can be pretty useful to understand.↵Its "protocol oriented nature" with dunder methods teaches you how you do polymorphism in static dispatch languages typically like nim etc. |
12:39:18 | FromDiscord | <Phil> And it can show you where dynamic typing can shine when it comes to deserialization.↵Like if you need to have a list to contain both a number and a string.↵It is impossible to do this as effortlessly in nim.↵It's still doable, just requires a bit of extra effort in the form of type unions |
12:42:53 | FromDiscord | <thattotallyrealmyth> sent a long message, see http://ix.io/4IdJ |
12:44:47 | FromDiscord | <Phil> In reply to @thattotallyrealmyth "I guess that if": I mean, I never really programmed in C. I just keep looking at the type system and think that programming in C is a bunch of insanity.↵Mostly because of the combination of entirely manual memory management combined with somehow "Pointer to value is either a pointer to one value or a pointer to a list. Have fun figuring out which it is" |
12:45:42 | FromDiscord | <Phil> "Also you better know how long that list is ahead of time" |
12:46:47 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "I mean, I never": HAHAHAHA yeah I imagine there’s a fair bit of that. I could totally be talkin non sense but I guess that would just be my general thoughts. Like you learn about var and let assignments, you get to lightly introduce pre processors and macros, you get to introduce basic concepts related to memory; it feels like almost like C with training wheels at times |
12:47:40 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "And it can show": I did not know this… I assumed this was possible :kekw: |
12:47:58 | FromDiscord | <Phil> In reply to @thattotallyrealmyth "I did not know": It is, just need to use union types |
12:49:22 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "It is, just need": Ah okay. Well yeah, I’m definitely rooting for nim to be more widely adopted and especially for beginners to programming |
12:50:13 | FromDiscord | <thattotallyrealmyth> I think it could be a really valuable tool in teaching good concepts in a manigable way but yet still not compromising on all the other amazing stuff the language could |
12:50:14 | FromDiscord | <thattotallyrealmyth> Do |
12:50:49 | FromDiscord | <Phil> I appreciate the lang for what it has taught me when my base knowledge level before was basically Java, python and js |
12:51:07 | FromDiscord | <Phil> Didn't know jack about compilers, compieltime, different types of dispatch, metaprogramming etc. |
12:51:48 | FromDiscord | <Phil> Not that I know that much more |
12:52:19 | FromDiscord | <jviega> Learning C well will definitely help get a deep understanding of how everything actually works at least 🙂 |
12:52:36 | FromDiscord | <Phil> I'll agree on that one |
12:55:46 | FromDiscord | <thattotallyrealmyth> In reply to @jviega "Learning C well will": Yeah yeah no doubt |
12:57:15 | FromDiscord | <thattotallyrealmyth> Is nim seeing a rise in its adoption recently? I’ve definitely had people at my university talk about it. One of the people writing the compiler for V language goes here and he was praising nim actually during his presentation(it’s how I learned bout it) |
12:58:04 | FromDiscord | <leetnewb> I think it moves in waves |
12:59:17 | FromDiscord | <thattotallyrealmyth> In reply to @leetnewb "I think it moves": Is there one thing nim is particularly popular for? |
13:00:34 | FromDiscord | <Phil> nitter |
13:00:41 | FromDiscord | <nnsee> In reply to @thattotallyrealmyth "Is there one thing": unfortunately, malware |
13:00:46 | FromDiscord | <Phil> And that |
13:01:28 | FromDiscord | <thattotallyrealmyth> In reply to @nnsee "unfortunately, malware": other than infosec? I guess that’s the consequence of it being so easy for write, create win api support and produces really light weight binaries |
13:01:34 | FromDiscord | <leetnewb> In reply to @thattotallyrealmyth "Is there one thing": I think nim casts a very wide net with its features. Hard to pin popularity on any single one. |
13:01:38 | FromDiscord | <thattotallyrealmyth> Which is a W in its self |
13:01:53 | FromDiscord | <thattotallyrealmyth> In reply to @isofruit "nitter": Sorry what’s nitter? |
13:02:01 | FromDiscord | <odexine> twitter proxy |
13:02:05 | FromDiscord | <odexine> "sorry, i mean X" |
13:02:29 | FromDiscord | <Phil> Alternative frontend for twitter, more focussed, less data grabby |
13:02:35 | FromDiscord | <thattotallyrealmyth> (edit) "create" => "great" |
13:03:00 | FromDiscord | <nnsee> In reply to @thattotallyrealmyth "Sorry what’s nitter?": https://nitter.net/potus |
13:03:07 | FromDiscord | <nnsee> (example account) |
13:03:17 | FromDiscord | <thattotallyrealmyth> That’s really cool, I didn’t expect that to be its biggest adoption domain |
13:03:41 | FromDiscord | <thattotallyrealmyth> I was hoping it was embedded programming or smth related :dogkek: |
13:04:09 | FromDiscord | <nnsee> it's very good for embedded as well |
13:04:15 | FromDiscord | <nnsee> like leetnewb said, wide net |
13:04:22 | FromDiscord | <jviega> I mean, Nim's a good systems language that tends to produce faster code than Rust while being more readable and easy to write. |
13:04:40 | FromDiscord | <jviega> As long as you can live with the ecosystem being a lot less developed |
13:05:55 | FromDiscord | <nnsee> C/C++ interop makes the "lot less developed ecosystem" problem not as important |
13:06:05 | FromDiscord | <thattotallyrealmyth> In reply to @jviega "I mean, Nim's a": That’s a really interesting point. I guess I never thought about the speed in comparison to rust |
13:06:29 | FromDiscord | <jviega> The speed isn't generally the important thing |
13:07:13 | FromDiscord | <thattotallyrealmyth> In reply to @nnsee "C/C++ interop makes the": Yeah it’s a major positive that’s what drew me in at the start as well |
13:08:59 | FromDiscord | <thattotallyrealmyth> I’ve got an 8 am lab tmrw so I should probably get going to bed. Definitely learned a fair bit : ) I appreciate you all taking the time to share ur opinions on the language :nim1: |
13:09:01 | FromDiscord | <jviega> But then you need to be comfortable with C/C++, which a lot of people aren't. The community really needs to maintain decent wrappings of popular libraries in a way that's easy to consume. Right now, even stuff that Nim theoretically wraps are barely wrapped, like OpenSSL. It's just enough to get TLS going for https and almost nothing more. |
14:03:18 | arkanoid | we're at nim 2.0, but nimsuggests keeps crashing even for the most simple projects. What's wrong with it? |
14:04:19 | FromDiscord | <odexine> i believe most people would say that it's poorly designed |
14:04:31 | FromDiscord | <odexine> it's difficult to fix |
14:05:21 | FromDiscord | <jviega> Can it be `rm -rf`'d? Seems like the community would be better served if it didn't exist than if everyone tried it and had a bad experience |
14:07:12 | arkanoid | all this tooling is mess is quite a disaster. Just by checking process list I can see that when I open VSCode (configured for lsp) it spawns nimlangserver and nimsuggest process. Then in minutes I get "nimsuggests crashed" message, task manager shows old nimlangserver process and a new nimsuggest process, but editor loses all the completion capabilities. If I close VSCode, I see nimlangserver and |
14:07:14 | arkanoid | nimsuggest process hanging there for no reason even if VSCode is not running |
14:08:19 | FromDiscord | <jviega> Several people in my team won't choose Nim because they had a bad experience w/ it in VSCode as well. |
14:08:29 | FromDiscord | <demotomohiro> sent a long message, see http://ix.io/4Ie7 |
14:10:41 | FromDiscord | <odexine> In reply to @jviega "Can it be `rm": i do wonder if that would be the cased |
14:10:42 | FromDiscord | <odexine> (edit) "cased" => "case" |
14:11:10 | FromDiscord | <jviega> Having nothing would be more inviting in terms of getting someone inspired to write something that works |
14:11:35 | arkanoid | jviega I also have experienced two programmers thrashing Nim after 10 minutes use just due to not working defaults in VSCode environment |
14:12:14 | FromDiscord | <jviega> Yeah, I'm convinced no VSCode support is better than bad VSCode support. |
14:12:32 | FromDiscord | <jviega> It's the most popular development environment period |
14:13:20 | arkanoid | due to how Nim modules work, the feature I miss the most when nimsuggest/lsp are not collaborating, is the impossibility to jump to function definition, or module definition |
14:14:45 | arkanoid | Being not much explicit, Nim, like python, requires these tools to have comfortable experience |
14:40:19 | FromDiscord | <nervecenter> In reply to @arkanoid "nimsuggest process hanging there": My big issue was the VSCode plugin starting a ton of nimsuggest processes until I had maybe 10 running and all just idling there |
14:40:35 | FromDiscord | <nervecenter> And all consuming ~600mb of ram |
14:41:39 | FromDiscord | <sOkam! 🫐> In reply to @PMunch "Not sure why you": well, to achieve c2nim functionality, why else? |
14:42:55 | FromDiscord | <sOkam! 🫐> but using clang, not the c2nim parser |
14:43:09 | arkanoid | nervecenter, I had that too. My 2 cents: 1) if you're using LSP this is kinda less prone 2) assure you're configuring the "nim.project" extension setting per-project, and point to your "main" nim file (the one root module that imports all the others), this way nimsuggest/lsp will launch once on the file and not once for every .nim file tab you open inside vscode |
14:44:53 | FromDiscord | <sOkam! 🫐> In reply to @PMunch "The Opir output is": sounds like what I would need, yep. will look into it ✍️ |
14:45:01 | arkanoid | nervecenter, try to run nimsuggest manually via command line, try to understand how it hooks to one or more nim files, then you understand why the extension "spawns" many nimsuggest processes if you don't set that project property |
14:46:14 | arkanoid | my problem is that even if I set up all these things, I manage to crash nimsuggest for some reason, and from that point on lsp/vscode is unable to recover even if the requires processes seems running |
14:48:14 | FromDiscord | <nervecenter> Okay yeah that makes sense, I never dug into how nimsuggest worked so I didn't know it needed configuring |
14:48:55 | FromDiscord | <nervecenter> I also use makefiles instead of nimble so I don't think any plugin could automatically figure out what my main-level source file is |
14:51:22 | FromDiscord | <.aingel.> In reply to @arkanoid "Being not much explicit,": Isn't python explicit so you need these tools less with python? |
14:51:29 | FromDiscord | <.aingel.> (edit) "In reply to @arkanoid "Being not much explicit,": Isn't python ... explicit" added "more" |
14:53:06 | FromDiscord | <.aingel.> In reply to @arkanoid "we're at nim 2.0,": I've been having decent success with https://github.com/PMunch/nimlsp for vim |
14:54:13 | arkanoid | nervecenter, that option I'm talking about, is not written in nimble file, but is a setting of the vscode nim extension (by saem) |
14:54:24 | arkanoid | you can perfectly stick with makefiles, I guess |
14:55:00 | arkanoid | the point is that nor the makefile, not the vscode extension nor nimsuggest know which nim file is your main file, unless you tell |
14:56:47 | arkanoid | .aingel. imho python modules are more explicit than Nim ones. With python, when you import a module, you are not importing all the names withing it automatically, because there's no "export" system, which Nim has |
14:57:22 | arkanoid | so basically with Nim you end up with a name in your scope that may come from a module very nested away from where you are |
14:57:33 | FromDiscord | <nervecenter> Yes, but to make the extension "just work" for people trying Nim, having it automatically figure out the main source file, maybe through the nimble file, would be good for adoption. |
14:57:47 | FromDiscord | <.aingel.> In reply to @arkanoid ".aingel. imho python modules": Yeah I agree |
14:58:18 | FromDiscord | <.aingel.> In reply to @nervecenter "Yes, but to make": How does rust or crystal do it? |
14:58:28 | FromDiscord | <nervecenter> 🤷♂️ |
14:58:34 | arkanoid | nervecenter, well, for a new user, the default behaviour (opening a nimsuggest process for any opened nim file) is perfectly fine. Problem is when you start importing stuff and opening lot of files |
14:59:21 | FromDiscord | <sOkam! 🫐> In reply to @arkanoid ".aingel. imho python modules": I imagine you know about `from thing import nil`, but mentioning because not enough people know about it |
15:00:28 | * | krux02 joined #nim |
15:01:01 | arkanoid | s0Kam I know, but I don't see it used really. The "default idiomatic nim" (whatever it means) don't import nim, it exports stuff from modules and you have them by default in your context |
15:05:31 | FromDiscord | <kinda-new-here> sent a long message, see https://paste.rs/pnU83 |
15:06:54 | FromDiscord | <Phil> Aye, this is the channel.↵As for the problem, I think you'll need another one of the windows folks here for that I can't help much there outside of making assumptions. |
15:07:23 | FromDiscord | <Phil> I should start to remember who other than ringabout uses windows |
15:09:44 | FromDiscord | <vindaar> While I'm no windows user either, what are you trying to compile? Does this happen on every single program you compile? And how do you call the compiler? |
15:11:25 | FromDiscord | <Phil> @System64 ~ Flandre Scarlet do you have any clue here? IIRC you use windows and may have encountered behaviour like it before |
15:11:32 | FromDiscord | <kinda-new-here> I tried with just a simple echo 1. |
15:11:50 | FromDiscord | <Phil> Could you copy paste the file and the command you run for compiling? |
15:12:31 | FromDiscord | <kinda-new-here> And nim c test.nim. Nothing fancy. |
15:12:47 | FromDiscord | <kinda-new-here> Same with F6 from VSCode. |
15:12:53 | FromDiscord | <Phil> Oh right, matrix, one sec starting up element |
15:13:06 | FromDiscord | <kinda-new-here> Nothing compiles. |
15:14:14 | FromDiscord | <kinda-new-here> I didn't even change my environment, so I suspected some corrupted state stuck somewhere. |
15:14:31 | FromDiscord | <Phil> Can you copy paste just your terminal logs?↵And also how you reinstalled? |
15:16:53 | FromDiscord | <kinda-new-here> I originally installed through Choco, but I also tried manual installation from the official archive. |
15:17:16 | FromDiscord | <kinda-new-here> I'm a bit stumped, because it had been happily working for a few years without changing anything. |
15:17:37 | FromDiscord | <Phil> What nim version were you on? |
15:18:02 | FromDiscord | <kinda-new-here> I must admit that I don't really know which logs you mean. |
15:18:17 | FromDiscord | <kinda-new-here> 2.0 |
15:20:28 | FromDiscord | <Phil> Ah, just me using a convoluted way to ask "Can you copy paste the text in your terminal after the compile command?" |
15:23:36 | FromDiscord | <.aingel.> @enthus1ast Hey are you around by any chance? I'm having a problem compiling the HCR example of nimja after a nim 2.0 update |
15:28:19 | FromDiscord | <kinda-new-here> PS C\:\\dev\\test\> nim c -r .\\test.nim↵Hint\: used config file 'C\:\\tools\\Nim\\nim-2.0.0\\config\\nim.cfg' [Conf]↵Hint\: used config file 'C\:\\tools\\Nim\\nim-2.0.0\\config\\config.nims' [Conf] |
15:28:33 | FromDiscord | <kinda-new-here> The process just doesn't terminate. |
15:29:04 | FromDiscord | <Phil> Hmmm I assume you never touched nim.cfg and config.nims? |
15:29:35 | FromDiscord | <kinda-new-here> but it's still using a full processor thread. |
15:29:47 | FromDiscord | <kinda-new-here> No, I didn't. |
15:30:58 | FromDiscord | <Phil> During your manual installation you basically just downloaded the .zip file and ran finish.exe? Or did you do a complete compiler compilation? |
15:31:34 | FromDiscord | <kinda-new-here> Yes. Exactly. The problem started while I had nim installed through chocolatey, tho. |
15:32:02 | FromDiscord | <kinda-new-here> I didn't try compiling myself. |
15:32:32 | FromDiscord | <Phil> If nobody here on windows is currently available the next stop is more likely to be to make a forum post |
15:32:32 | FromDiscord | <Phil> Though did you install choosenim? |
15:33:02 | FromDiscord | <Phil> Like, I have no clue if choosenim works on windows in any capacity, if it does it might be worth a try to install that and choose a nim version through it, it tends to be pretty decent at installing |
15:33:35 | FromDiscord | <kinda-new-here> yes, but the installation didn't work and I didn't want to troubleshoot |
15:33:55 | FromDiscord | <kinda-new-here> I used to use choosenim until maybe a year ago. |
15:33:58 | rockcavera | kinda-new-here any installation does not work? manual, choosenim, etc. |
15:33:58 | FromDiscord | <Phil> Hmm yeah next step I can only think of forum post |
15:35:03 | rockcavera | have you tried compiling from source? It's very simple... |
15:35:30 | FromDiscord | <kinda-new-here> installation manual and choco did work. Choosenim didn't. |
15:36:51 | rockcavera | so I don't understand your problem if manual and choco installation work |
15:37:49 | FromDiscord | <kinda-new-here> Otherwise it seems time to finally register a forum account \:D |
15:37:50 | FromDiscord | <Phil> If I were brave enough to install windows and not absolutely slammed for time I might be starting to look into choosenim and general installation because this is just a sad state of affairs |
15:37:50 | FromDiscord | <Phil> But windows is just scary at this point |
15:38:10 | FromDiscord | <kinda-new-here> thanks for your help anyway! |
15:38:37 | rockcavera | kinda-new-here https://www.reddit.com/r/nim/comments/10g8fi7/comment/j575r80/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button |
15:43:50 | * | def- quit (Quit: -) |
15:51:39 | * | azimut joined #nim |
16:01:06 | * | def- joined #nim |
16:13:55 | FromDiscord | <.aingel.> Where can I find the docs for "dyn(" |
16:14:00 | FromDiscord | <.aingel.> (edit) ""dyn("" => "`dyn(`" |
16:14:24 | FromDiscord | <Phil> More context, you mean dynlib? |
16:15:45 | FromDiscord | <Phil> It is too late Aingel, I have already seen the message and am looking at the docs for dynlib! 😄 |
16:17:23 | FromDiscord | <.aingel.> In reply to @isofruit "It is too late": Haha I am sorry! |
16:17:30 | FromDiscord | <.aingel.> Yeah it turns out it was a macro for something |
16:17:38 | FromDiscord | <Phil> Ah check |
16:17:40 | FromDiscord | <.aingel.> My lsp doesn't go to definitions of macros apparently, so I thought it was a system lib |
16:39:04 | FromDiscord | <enthus1ast> Have not tried it yet↵(@.aingel.) |
16:39:37 | FromDiscord | <enthus1ast> If you could open an issue I will have a look |
16:39:45 | FromDiscord | <.aingel.> In reply to @enthus1ast "Have not tried it": Gotcha, it seems like there's an issue with nim 2.0 forcing GC safe |
16:39:49 | FromDiscord | <.aingel.> In reply to @enthus1ast "If you could open": Already did! |
16:40:00 | FromDiscord | <enthus1ast> Oh 😌 |
16:40:35 | FromDiscord | <.aingel.> 😺 |
16:40:56 | FromDiscord | <enthus1ast> Do you have code based on this? Or just exploring? |
16:40:57 | FromDiscord | <.aingel.> In reply to @enthus1ast "Oh 😌": Can the filewatcher use global vars or is that not allwoed anymore in nim 2.0? |
16:41:08 | FromDiscord | <.aingel.> In reply to @enthus1ast "Do you have code": Yeah I have a project using it |
16:41:21 | FromDiscord | <.aingel.> Although I disabled hcr I wanted to enable it again to get it working |
16:41:38 | FromDiscord | <.aingel.> It used to work but there was some problem with hcr and I wanted to see if I could fix it to get hcr totally working |
16:53:39 | FromDiscord | <enthus1ast> yeah there are multiple issues |
16:54:45 | FromDiscord | <enthus1ast> i will look into them, but today i have no time unfortunately |
16:56:52 | FromDiscord | <enthus1ast> just a tip\: for my last project i've used\:↵↵https://github.com/treeform/guardmons/blob/master/src/guardmons/watchmon.nim |
16:57:03 | FromDiscord | <enthus1ast> i recompiled the application on a file change |
16:57:50 | FromDiscord | <enthus1ast> it |
16:58:14 | FromDiscord | <enthus1ast> i've used this for another project that required constant recompilation and was good enough (and not too big) |
16:58:23 | FromDiscord | <enthus1ast> maybe you can use this as well until its fixed |
17:05:48 | FromDiscord | <.aingel.> In reply to @enthus1ast "maybe you can use": Gotcha, thank you ! |
17:13:41 | FromDiscord | <Phil> ... anyone willing to go a deep dive troubleshooting into owlkettle with me because I'm drawing way too many lbanks |
17:13:43 | FromDiscord | <Phil> (edit) "lbanks" => "blanks" |
17:26:32 | FromDiscord | <Chronos [She/Her]> I'm not sure on how I'd implement GUIs oof |
17:27:11 | FromDiscord | <Chronos [She/Her]> For the most part, I should be able to just reuse the logic for map rendering, but then there's the issue of what size the screen is depending on the device (for example, phones) |
17:50:19 | * | xet7 joined #nim |
17:51:58 | FromDiscord | <Phil> Shakes fist at GTK↵"You win for now, Cursed SpinRow Widget!"↵Yeah that thing crashes on me way too much |
17:52:04 | FromDiscord | <Phil> (edit) "Shakes fist at GTK↵"You win for now, Cursed SpinRow Widget!"↵Yeah that thing crashes on me way too much ... " added "and I just don't see what's going on" |
18:03:30 | FromDiscord | <sOkam! 🫐> i struggled to get the examples running, so on my part that's why I didn't say a word |
18:06:37 | FromDiscord | <Phil> Oh? Were you on windows or sth? |
18:07:13 | FromDiscord | <Phil> Always thought it shouldn't be too hard with gtk under windows installed, though how easy that one is I have no clue |
18:21:58 | FromDiscord | <Phil> If there's anything that could be documented to make that experience easier I'm happy to add it to the docs |
18:26:42 | FromDiscord | <sOkam! 🫐> I meant more in terms of tweaking and creating my own stuff. I think I built the basic example, tried to look around casually, and was like... "yeah, this need a deep dive, won't happen anytime soon" and continued with something else |
18:27:13 | FromDiscord | <sOkam! 🫐> its probably not difficult, it just needs some studying |
18:27:27 | FromDiscord | <Phil> The realization I've come to is that Adwaita is where the magic happens |
18:27:33 | FromDiscord | <Phil> The basic widgets in general owlkettle are nice and all |
18:27:48 | FromDiscord | <Phil> But basically you mostly need to know Box for the most part because that's the equivalent to Html divs |
18:28:24 | FromDiscord | <sOkam! 🫐> I was thinking about creating an app to replace airtable for my writing management with an sqlite database... but then I realized its not a simple task and left it for another time 🙂 |
18:28:26 | FromDiscord | <Phil> Compiling owlkettle examples e.g. nets you free lightmode/darkmode conversions (At least I think those didn't happen when compiling / brewing with the normal owlkettle brew proc |
18:28:28 | FromDiscord | <Phil> (edit) "proc" => "proc)" |
18:28:46 | FromDiscord | <Phil> Replacing whattable? |
18:29:28 | FromDiscord | <sOkam! 🫐> #googleit its like an excel database manager, that has a crazy good interface for managing images+data |
18:29:56 | FromDiscord | <sOkam! 🫐> that's mostly what I would want, images (aka a moodbard) but with a database table attached to each image |
18:33:00 | FromDiscord | <.aingel.> In reply to @enthus1ast "just a tip\: for": https://github.com/emcrisostomo/fswatch |
18:33:16 | FromDiscord | <.aingel.> What do you think about this? Watchmon seems to just use basic polling, which I don't know if is all that good |
18:36:09 | FromDiscord | <Phil> It would be so fire if products could be more about what they are than what they promise you |
18:36:38 | FromDiscord | <Phil> So like this one? https://www.airtable.com/solutions/product |
18:37:07 | * | azimut quit (Ping timeout: 252 seconds) |
18:37:08 | FromDiscord | <Phil> That... doesn't look like a dbm though ´, hmm |
18:37:40 | FromDiscord | <Phil> I give up, that webpage is giving me an aneurism |
18:37:53 | FromDiscord | <sOkam! 🫐> In reply to @isofruit "That... doesn't look like": its not, that's the point |
18:38:02 | FromDiscord | <sOkam! 🫐> well it is, but more behind the scenes |
18:38:10 | FromDiscord | <sOkam! 🫐> in the frontend you just deal with an excel sheet |
18:39:04 | FromDiscord | <sOkam! 🫐> its like an overpowered excel sheet that understands relationships between things, but without having to deal with the whole db management complexity |
18:39:29 | FromDiscord | <Phil> That seems like the backend logic alone might eat you alive |
18:39:42 | * | azimut joined #nim |
18:39:44 | FromDiscord | <Phil> Before even considering any gui elements |
18:39:51 | FromDiscord | <sOkam! 🫐> now that I know coding I don't have much use in it, and I see your point. Its very counterintuitive↵but as an artist, with an artist brain and no coding skills at all... airtable is -beyond- invaluable |
18:40:07 | FromDiscord | <sOkam! 🫐> the problem is the damn paywall and restrictions, and then you cannot export your data without coding skills |
18:40:36 | FromDiscord | <sOkam! 🫐> In reply to @isofruit "That seems like the": how so? its just a database management app, right? or am I missing something |
18:41:28 | FromDiscord | <Phil> In reply to @heysokam "how so? its just": The way you described it being able to understand data relationship seemed like it having complex algorithms that automatically recognizes data-relationships without you typing them out and then building database schemas on the fly |
18:41:48 | FromDiscord | <sOkam! 🫐> In reply to @isofruit "The way you described": i mean... that is just a relationship in a database? |
18:42:04 | FromDiscord | <sOkam! 🫐> i don't understand what you just described, but i was mentioning a simple `othertable.ID` entry |
18:42:15 | FromDiscord | <Phil> Ohhhhh |
18:42:39 | FromDiscord | <sOkam! 🫐> you cannot do that with excel. it doesn't show up the data you are linking to another table |
18:42:51 | FromDiscord | <sOkam! 🫐> but with a database table ID, you can bring that info |
18:42:51 | FromDiscord | <Phil> I was like "So basically you wrapped all of SQL and put an excel abstraction layer over it that was so insanely well designed that it was intuitive for the everyday person" |
18:43:05 | FromDiscord | <sOkam! 🫐> lol hell no, not even airtable does that |
18:43:15 | FromDiscord | <sOkam! 🫐> i don't know how i would even use such a tool at all |
18:43:51 | FromDiscord | <Phil> That's just what it initially sounded like to me 😄↵Wrapping all of SQL is such an arduous task that the common approaches tend to be "don't" |
18:44:03 | FromDiscord | <sOkam! 🫐> what I was using it for is having a screen full of thumbnails/images... and each of them has data attached to them↵and in another view, you just see the database table like normal, and the image is one of the fields |
18:44:17 | FromDiscord | <Phil> And the next most common approach is "Wrap half of it with a custom language that should be less annoying to deal with" |
18:45:04 | FromDiscord | <sOkam! 🫐> In reply to @isofruit "And the next most": is this not what `db_connector` is for? |
18:45:22 | FromDiscord | <Phil> In reply to @heysokam "is this not what": Oh I was talking SQL the language and its features, not sql drivers |
18:46:20 | FromDiscord | <Phil> Because fun stuff like recursive queries, queries for windows of values (e.g. the 5th to 10th value of a query), entries grouped by value etc. etc. are also things that it does that I just never ever want to deal with providing an interface for |
18:46:26 | FromDiscord | <Phil> (edit) "an" => "a specific" |
18:47:08 | FromDiscord | <sOkam! 🫐> isn't it easier to just hardcode a bunch of operations and deal with those? |
18:47:25 | FromDiscord | <sOkam! 🫐> why wrap the entire sql lang? |
18:47:45 | FromDiscord | <Phil> For full feature compatibility when your customer inevitably wants to do crazy complex stuff |
18:47:54 | FromDiscord | <sOkam! 🫐> not judging, just asking because i don't understand what you mean |
18:48:18 | FromDiscord | <Phil> Like "I have a list of that link to each other, I want to find the articles that only link to each other" |
18:48:23 | FromDiscord | <Phil> (edit) "" => "articles" |
18:48:27 | FromDiscord | <sOkam! 🫐> In reply to @isofruit "For full feature compatibility": ah so you are thinking industrial-level stuff. yeah, i see what you mean↵well, this idea is hella lot more simple than that |
18:48:36 | FromDiscord | <Phil> (edit) "Like "I have a list of articles that link to each other, I want to find the ... articlesother" added "pairs of 2" | "other"" => "other and nothing else"" |
18:48:43 | FromDiscord | <sOkam! 🫐> thats probably why i was missing your point |
18:48:54 | FromDiscord | <sOkam! 🫐> (edit) "point" => "point, totally different frame of mind / perspective" |
18:49:03 | FromDiscord | <Phil> I may be missing the forest for the trees, very fair and never unlikely |
19:08:08 | * | dtomato quit (Quit: The Lounge - https://thelounge.chat) |
19:08:17 | FromDiscord | <Elegantbeef> @Phil lol you tried summoning me but I had no internet, so try harder |
19:12:45 | * | dtomato joined #nim |
19:14:25 | * | nyeaa4928423010 quit (Quit: Ping timeout (120 seconds)) |
19:14:45 | * | nyeaa4928423010 joined #nim |
20:00:48 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @kinda-new-here "Yes. Exactly. The problem": Remove every installation of Nim, and install Nim the official way |
20:18:12 | FromDiscord | <thattotallyrealmyth> In reply to @jviega "But then you need": Is there a particular reason wrappings of popular libraries is poor? Has their been a consideration on simply translating them to nim? |
20:21:38 | FromDiscord | <jviega> It takes a lot of manual work people generally don't want to do, esp for large libraries. For the libraries I wrap, I only wrap what I need myself! |
20:22:53 | FromDiscord | <thattotallyrealmyth> In reply to @jviega "It takes a lot": Yeah that’s fair. But nim is a relatively young language no? So I’m guessing it’ll keep going uphill from here |
20:23:02 | FromDiscord | <jviega> No |
20:23:22 | FromDiscord | <thattotallyrealmyth> I went to open a git repo but nimlings already exists and the persons last commit was two years ago :^) |
20:23:55 | FromDiscord | <jviega> 1.0 was 4 years ago, but I think it's been well over a decade since it went public |
20:24:26 | FromDiscord | <thattotallyrealmyth> In reply to @jviega "1.0 was 4 years": Ah I guess cuz I assumed 2.0 was only a few months ago |
20:25:02 | FromDiscord | <thattotallyrealmyth> But thats good time. Any reason why some parts have been underdeveloped/slow for adoption? |
20:26:35 | FromDiscord | <jviega> Hard for me to say, I've only been idling here a year myself. |
20:28:30 | FromDiscord | <jviega> I see the leadership such as it is would prefer to have a tiny standard library and doesn't spend a lot of time on it, and they're also not focused on community building, so something like that would have to self-assemble. |
20:40:03 | FromDiscord | <leetnewb> In reply to @thattotallyrealmyth "Yeah that’s fair. But": If you think of 1.0 as the springboard, it's possible. There are a lot of language options today though. |
20:58:33 | PMunch | sOkam, well it was more a question of why you would want a c2nim like experience |
20:58:39 | PMunch | But to each their own I guess |
20:58:40 | * | PMunch quit (Quit: Leaving) |
21:07:47 | FromDiscord | <jviega> Agreed, what's the point of going C -> Nim which is going to go to C anyway, unless you own the code and want to port it to Nim, and even then, why bother? |
21:10:29 | termer | maintainability usually |
21:37:35 | * | advesperacit quit () |
21:52:53 | FromDiscord | <Elegantbeef> One could argue type safety 😛↵(@jviega) |
22:02:59 | FromDiscord | <jviega> If it's a big enough code base that works well, then that's probably not worth the trade-off 🙂 |
22:04:33 | * | Jjp137 quit (Quit: Leaving) |
22:05:43 | * | Jjp137 joined #nim |
22:18:21 | FromDiscord | <Chronos [She/Her]> In reply to @jviega "Agreed, what's the point": Rewriting of C libraries in Nim without having to worry about keeping C interop in mind↵↵It'd still be low-level for sure, but I'd imagine on a language level it'd be easier to interop with that code and to make it take advantage of Nim features 'natively' (such as memory management) |
22:18:57 | FromDiscord | <Elegantbeef> Eh thanks to Arc you can use C libraries indistinguishably from Nim code |
22:19:11 | FromDiscord | <Chronos [She/Her]> Depending on what the library does too, compiling it for use on the web without WASM may be a plus in some cases? Like compiling Lua to JS (I know that exists already with WASM but) |
22:19:20 | FromDiscord | <Chronos [She/Her]> In reply to @Elegantbeef "Eh thanks to Arc": That doesn't work with refc nor orc though |
22:19:23 | FromDiscord | <Chronos [She/Her]> Well, idk about orc |
22:19:25 | FromDiscord | <Chronos [She/Her]> But refc |
22:19:30 | FromDiscord | <Chronos [She/Her]> And the various other GCs |
22:19:31 | FromDiscord | <Elegantbeef> It obviously works with orc |
22:19:38 | FromDiscord | <Elegantbeef> Who cares about any other GC |
22:19:55 | FromDiscord | <Chronos [She/Her]> Ppl doing Go interop I'd imagine? 🤷♀️ |
22:20:09 | FromDiscord | <Elegantbeef> No one even does that |
22:20:30 | FromDiscord | <Chronos [She/Her]> Maybe it'd be useful because you wouldn't have to mess with a build system |
22:20:37 | FromDiscord | <Chronos [She/Her]> Just throwing out uses here really |
22:20:46 | FromDiscord | <Chronos [She/Her]> Not that I'd have any :p |
22:20:59 | FromDiscord | <Chronos [She/Her]> Some build systems are utter pain I'd imagine |
22:21:09 | FromDiscord | <Chronos [She/Her]> Major con that'd happen tho: Build times would be inflated massively |
22:21:25 | FromDiscord | <Chronos [She/Her]> Also language translation will not be smooth in terms of syntax |
22:21:29 | FromDiscord | <jviega> Go interop basically requires you to carry around the entire go runtime. |
22:21:47 | FromDiscord | <Chronos [She/Her]> It'd still be unreadable C, just now formatted slightly differently for Nim |
22:21:51 | FromDiscord | <jviega> Yeah, it's a pipe dream to get it working for any significant piece of C code. It'd never be worth the effort |
22:22:01 | FromDiscord | <Chronos [She/Her]> Yeaah |
22:22:13 | FromDiscord | <Elegantbeef> RIIN |
22:22:17 | FromDiscord | <Chronos [She/Her]> In reply to @jviega "Go interop basically requires": I thought only the GC needed to be carried around |
22:22:19 | FromDiscord | <Chronos [She/Her]> RIIN? |
22:22:54 | FromDiscord | <jviega> Not if you're calling out to go for anything significant where it needs the runtime |
22:23:04 | FromDiscord | <Chronos [She/Her]> Fair |
22:23:08 | FromDiscord | <jviega> It doesn't use libc or anything |
22:23:13 | FromDiscord | <Chronos [She/Her]> Go makes massive binaries too f |
22:28:34 | FromDiscord | <Elegantbeef> Link everything including the linker! |
22:43:31 | FromDiscord | <sOkam! 🫐> @jviega @pmunch translating a 450sloc from a game engine slowly over time, in a one-way-trip way, in order to do a total conversion of the code into Nim forever↵I think that's more than worth the effort on automating the process somewhat, don't you think?↵The code is complex (and bug-prone) enough as it is, without introducing parsing errors. So it needs to be slowly translated, and a "well translate everything all at once with c2 |
22:44:34 | FromDiscord | <jviega> 450k loc?? Too much to move to any language |
22:44:42 | FromDiscord | <sOkam! 🫐> and the "well just wrap it with futhark" has been proprosed way too many times to count, but its a +20y/o engine. It was not built to be general purpose, nor supportive of a modular system like libraries do nowadays. Its crazy monolithic |
22:45:19 | FromDiscord | <sOkam! 🫐> In reply to @jviega "450k loc?? Too much": That's why I said it needs to be slowly over time, as code is used, documented and reviewed |
22:47:20 | * | nyeaa4928423010 quit (Quit: Ping timeout (120 seconds)) |
22:47:38 | * | nyeaa4928423010 joined #nim |
22:50:47 | * | azimut_ joined #nim |
22:51:13 | * | azimut quit (Ping timeout: 252 seconds) |
22:53:48 | * | disso-peach joined #nim |
23:23:49 | * | antranigv quit (Ping timeout: 245 seconds) |
23:30:08 | * | antranigv joined #nim |
23:46:01 | FromDiscord | <geekrelief> In Nim 2.0 if an enum field and type have a name collision, is there a way to get the compiler to disambiguate between them without qualification? |
23:46:32 | FromDiscord | <Elegantbeef> Not that I know |
23:47:17 | FromDiscord | <geekrelief> k, looks like I need a bunch of edits to update gdnim. |