00:00:01 | * | junland_ quit (Quit: %ZNC Disconnected%) |
00:00:32 | FromDiscord | <clyybber> @Elegant Beef is it a hyena or a dog? |
00:00:42 | FromDiscord | <Elegant Beef> my PFP? |
00:00:45 | FromDiscord | <clyybber> ye |
00:00:52 | FromDiscord | <Elegant Beef> it's a doggo |
00:01:00 | FromDiscord | <Kiloneie> Cooperation is the key through these things. Don't quote me on this xD... |
00:01:01 | FromDiscord | <clyybber> pet him for me will ya? |
00:01:23 | FromDiscord | <clyybber> > Cooperation is key |
00:01:27 | FromDiscord | <clyybber> Google probably |
00:01:31 | FromDiscord | <Elegant Beef> https://streamable.com/wsm6v |
00:01:41 | FromDiscord | <Elegant Beef> that's what he thinks about your hyena comment |
00:01:48 | * | junland joined #nim |
00:02:18 | FromDiscord | <clyybber> looks like hes thinking about *other* things |
00:02:31 | FromDiscord | <Kiloneie> No no no google. If you say google, you made them money, like i just did... All money... |
00:02:52 | FromDiscord | <clyybber> type google create money |
00:03:01 | FromDiscord | <clyybber> why does google not pay me to type google?? |
00:03:03 | FromDiscord | <Elegant Beef> Dogs had to seperate length leashes, so he wanted toy |
00:03:12 | FromDiscord | <Elegant Beef> Dogs had two seperate length leashes, so he wanted toy |
00:03:49 | FromDiscord | <clyybber> where do you live where its daytime rn? |
00:04:03 | FromDiscord | <Elegant Beef> Canuckistan |
00:04:26 | FromDiscord | <Elegant Beef> How do you figure it's daytime? |
00:04:43 | FromDiscord | <clyybber> 11pm is daytime |
00:04:46 | FromDiscord | <clyybber> alright! |
00:04:56 | FromDiscord | <Elegant Beef> it's 5pm right now |
00:05:08 | FromDiscord | <clyybber> ok calculator |
00:05:22 | FromDiscord | <Kiloneie> Random probably, it's 1:04 in my place gmt+1, central Europe. |
00:05:24 | FromDiscord | <Elegant Beef> Im in middle of nowhere Canada |
00:05:24 | FromDiscord | <clyybber> @Elegant Beef you might be neighbours with disruptek |
00:05:32 | FromDiscord | <clyybber> hes in some wilderness too |
00:05:45 | FromDiscord | <clyybber> probably getting his packets delivered by the moose mail |
00:05:53 | FromDiscord | <Elegant Beef> Could you imagine if disruptek live near me, i'd cry |
00:05:53 | FromDiscord | <clyybber> and I'm talking TCP packets |
00:05:56 | FromDiscord | <clyybber> those are heavy |
00:05:58 | FromDiscord | <Elegant Beef> imagine being close to that guy |
00:06:14 | FromDiscord | <clyybber> well, its just a computer with disbot written all over it |
00:06:23 | FromDiscord | <Elegant Beef> true |
00:06:24 | FromDiscord | <clyybber> disruptek is just the name of the vm |
00:06:27 | FromDiscord | <Kiloneie> Probably Oregon, if my USA knowledge is correct. |
00:06:47 | FromDiscord | <Elegant Beef> If he's in the same timezone, oregon,wyoming,colorado, and montana |
00:06:49 | FromDiscord | <Elegant Beef> i believe |
00:07:12 | FromDiscord | <clyybber> @Kiloneie same here |
00:07:19 | FromDiscord | <clyybber> we must be neighbours!!! |
00:07:23 | FromDiscord | <clyybber> how exciting! |
00:07:28 | * | krux02 quit (Remote host closed the connection) |
00:07:47 | * | Guest81820 quit (Ping timeout: 260 seconds) |
00:08:16 | FromDiscord | <Elegant Beef> Where are you located clyybber |
00:08:20 | FromDiscord | <Elegant Beef> Germ any? |
00:08:21 | FromDiscord | <clyybber> bavaria |
00:08:28 | FromDiscord | <clyybber> don't you dare us call germany |
00:08:30 | FromDiscord | <clyybber> jk lol |
00:08:41 | FromDiscord | <Elegant Beef> i didnt |
00:08:43 | * | dadada_ joined #nim |
00:08:44 | FromDiscord | <Elegant Beef> I called it germ any |
00:08:51 | FromDiscord | <clyybber> im not a germ |
00:08:54 | FromDiscord | <clyybber> and I'm not any |
00:08:58 | FromDiscord | <clyybber> rude. |
00:09:21 | FromDiscord | <Elegant Beef> sorry aboot that eh? |
00:09:35 | FromDiscord | <clyybber> I bin a rengschburger du oida hundskriapl |
00:09:39 | * | ftsf joined #nim |
00:09:52 | FromDiscord | <Elegant Beef> Uhoh is that declaration of a 3rd war you want to lose? |
00:09:58 | FromDiscord | <Kiloneie> i am Slovenia any day, figure that one out xD... |
00:10:21 | FromDiscord | <clyybber> @Kiloneie Nice, I was in slovenia once |
00:10:28 | FromDiscord | <clyybber> but only drove through |
00:10:35 | FromDiscord | <clyybber> the muesli I bought there was nice tho |
00:10:50 | FromDiscord | <Elegant Beef> Solvenia, most well known for being the homeland of the current US first lady 😄 |
00:11:27 | FromDiscord | <Elegant Beef> *Feel free to take shots at my moose ridden, maple soaked country* |
00:11:46 | FromDiscord | <clyybber> I wouldn't dare shoot a moose |
00:11:53 | FromDiscord | <clyybber> much less a maple |
00:14:25 | * | Hideki_ joined #nim |
00:14:36 | * | clyybber quit (Quit: WeeChat 2.7) |
00:14:53 | FromDiscord | <Kiloneie> That is cheap you know, Slovenia is probably one of the most natural contries available. Seriously, if you want nature, it's right here, not that me the computer freak cares too much xD... |
00:15:32 | FromDiscord | <Elegant Beef> I mean Canada is massive so we've got nature too, just spreadout 😛 |
00:19:29 | FromDiscord | <clyybber> @Kiloneie Yeah, the landscape was beautiful |
00:19:55 | FromDiscord | <clyybber> wish I'd have been able to stay there a while |
00:19:57 | FromDiscord | <Kiloneie> It's probably similar, most of our country is in industry, it's crazy how industry is going here right now, like it's on nitro. Really fast, probably worth investing. |
00:20:31 | FromDiscord | <Elegant Beef> Yea im in town of less then 10k, i've got got quite a bit of farm fields and trees near me |
00:20:48 | FromDiscord | <clyybber> I'm in a village 😄 |
00:20:54 | FromDiscord | <clyybber> less than 3k |
00:20:56 | FromDiscord | <Elegant Beef> It's basically a rest stop for oil families |
00:21:04 | FromDiscord | <clyybber> probably less than 1k even |
00:21:09 | * | ptdel quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
00:21:16 | FromDiscord | <Kiloneie> There is less than 200 in mine xD |
00:21:19 | FromDiscord | <Elegant Beef> Yea but you're in europe so you can walk 10 m and be in a town 😄 |
00:21:23 | FromDiscord | <Kiloneie> Weak :P |
00:21:31 | FromDiscord | <clyybber> @Elegant Beef true that |
00:21:42 | FromDiscord | <clyybber> learn to ride a moose dude |
00:21:51 | FromDiscord | <Elegant Beef> Nearest larger settlement near me is ~40km away with ~12k people |
00:22:12 | FromDiscord | <Elegant Beef> Nearest large city is 300km away |
00:22:33 | FromDiscord | <Kiloneie> None here, just maybe 1 bear and some deer xD |
00:22:37 | FromDiscord | <Elegant Beef> you guys could probably go to most mainland cities in 300km 😄 |
00:22:43 | * | dadada_ quit (Ping timeout: 260 seconds) |
00:22:44 | FromDiscord | <Elegant Beef> We've got mice, and also deer |
00:22:48 | FromDiscord | <Elegant Beef> or is it meese |
00:22:50 | FromDiscord | <Elegant Beef> 😄 |
00:23:10 | FromDiscord | <clyybber> meese dont know |
00:23:12 | FromDiscord | <Kiloneie> Canada xD |
00:23:37 | FromDiscord | <Kiloneie> Probably a bigger natural park than our entire country |
00:23:42 | * | dadada_ joined #nim |
00:23:45 | FromDiscord | <clyybber> @Elegant Beef tu es *elegant boeuf* ? |
00:23:59 | FromDiscord | <Elegant Beef> Not a canadien |
00:24:01 | FromDiscord | <Elegant Beef> But i can read that |
00:24:11 | FromDiscord | <Elegant Beef> no im not |
00:24:19 | FromDiscord | <Elegant Beef> je suis elegant beef |
00:24:25 | FromDiscord | <clyybber> buttery smooth escape |
00:24:33 | FromDiscord | <clyybber> I'll let it slip |
00:25:05 | FromDiscord | <Elegant Beef> one of my national parks is 6,600km^2 |
00:25:14 | FromDiscord | <Elegant Beef> one of my provinces national parks is 6,600km^2 |
00:25:16 | FromDiscord | <Kiloneie> Yeah that french is very soft, i can read it.xD. |
00:25:33 | FromDiscord | <clyybber> damn, thats amazing |
00:25:34 | FromDiscord | <Kiloneie> Omg that park is huge |
00:25:48 | FromDiscord | <Elegant Beef> I mean i took FSL courses in middle school but they taught dick all |
00:25:50 | FromDiscord | <Elegant Beef> Yea |
00:26:29 | FromDiscord | <Elegant Beef> Look at this density |
00:26:29 | FromDiscord | <Elegant Beef> https://cdn.discordapp.com/attachments/371759389889003532/678396744236531773/iu.png |
00:26:39 | FromDiscord | <clyybber> same here, only I hated french |
00:26:42 | FromDiscord | <Elegant Beef> those two dark spots are 50% of the population |
00:26:48 | FromDiscord | <clyybber> until I didn't have to learn it anymore |
00:26:51 | FromDiscord | <Elegant Beef> the other 50% lives in the remainder |
00:26:52 | FromDiscord | <clyybber> now I kinda like it |
00:27:07 | FromDiscord | <clyybber> lol |
00:29:16 | FromDiscord | <Kiloneie> Omg it's like some reich map |
00:29:29 | FromDiscord | <Kiloneie> xD Nazi :P |
00:29:29 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
00:29:39 | FromDiscord | <clyybber> wait wut |
00:29:50 | FromDiscord | <Elegant Beef> We do have confederate flags up here, but never seen a nazi flag |
00:30:26 | FromDiscord | <Kiloneie> Joke guys xFD |
00:30:37 | FromDiscord | <clyybber> I know, no one here is serious |
00:30:42 | FromDiscord | <clyybber> except for disruptek |
00:30:48 | FromDiscord | <clyybber> hes so serious hes dead |
00:31:10 | FromDiscord | <Elegant Beef> I wasnt joking about the confederate flag |
00:31:21 | FromDiscord | <Elegant Beef> in the middle of canada, a US civil war flag |
00:31:26 | FromDiscord | <Kiloneie> Noone would actually put nazi blshitt here, over the fact most of it is wrong |
00:32:06 | FromDiscord | <Kiloneie> Except tank techiniques |
00:32:14 | FromDiscord | <Kiloneie> xD joke |
00:32:54 | FromDiscord | <clyybber> wunderwaffe |
00:33:11 | FromDiscord | <clyybber> @Elegant Beef you mean like southern cross? |
00:33:16 | FromDiscord | <clyybber> that would be.. ironic |
00:33:41 | FromDiscord | <Elegant Beef> yes |
00:33:49 | FromDiscord | <Elegant Beef> in the middle of canada the stars and bars |
00:33:51 | FromDiscord | <clyybber> lol |
00:34:03 | FromDiscord | <Elegant Beef> Im not even near the border |
00:34:12 | FromDiscord | <Elegant Beef> im ~1k away from the border |
00:34:19 | FromDiscord | <Elegant Beef> im ~1000k away from the border |
00:34:47 | FromDiscord | <Kiloneie> How big is Canada anyways? I have a friend there in Quebec. |
00:34:51 | FromDiscord | <Elegant Beef> big |
00:35:00 | FromDiscord | <clyybber> que? |
00:35:05 | FromDiscord | <Elegant Beef> It's the second largest country by landmass |
00:35:07 | FromDiscord | <clyybber> bec. |
00:35:49 | FromDiscord | <Elegant Beef> |
00:35:49 | FromDiscord | <Elegant Beef> https://cdn.discordapp.com/attachments/371759389889003532/678399094925819905/Canada20over20Europe20size20comparison.png |
00:36:22 | FromDiscord | <Elegant Beef> It's like the size of the EU with the population of half of germany |
00:37:02 | FromDiscord | <Kiloneie> SounDs half German |
00:37:28 | * | dadada_ quit (Ping timeout: 265 seconds) |
00:38:29 | FromDiscord | <Kiloneie> Not to be rude, but my country is going exponential in industry, should probably invest xD... |
00:38:38 | FromDiscord | <clyybber> stonks |
00:38:44 | * | dadada_ joined #nim |
00:39:07 | FromDiscord | <clyybber> I just hope it doesn't ruin your flora and fauna |
00:39:20 | FromDiscord | <clyybber> what kind of industries btw? |
00:42:24 | FromDiscord | <Kiloneie> Military pistols, / probably guns, medicine Krka which is probably in most Slavic countries, Revoz of Renault etc... Huge... |
00:42:49 | shashlick | @deech - https://github.com/nimterop/nimterop/blob/master/nimterop/build.nim#L256 |
00:43:00 | FromDiscord | <clyybber> ah yeah krka is a big name |
00:43:14 | FromDiscord | <Kiloneie> It is actually too big for my country, but it is not too big. |
00:44:43 | FromDiscord | <Kiloneie> They are incredibly weird in their employment procedures, i seriously do not reccommend. |
00:44:59 | FromDiscord | <clyybber> every big company is eventually |
00:45:23 | FromDiscord | <clyybber> its bad |
00:45:47 | FromDiscord | <Kiloneie> I was at their employment procedure, but they were incredibly personnal. |
00:46:14 | FromDiscord | <clyybber> probably trying to see if you are willing to do things that are ethically debatable |
00:46:58 | FromDiscord | <Kiloneie> 0 % reccomendation unlesy you enjoy being a slave... |
00:47:55 | shashlick | Remember mercaptor |
00:52:49 | * | dadada_ quit (Ping timeout: 272 seconds) |
00:53:52 | * | dadada joined #nim |
00:54:15 | * | dadada is now known as Guest93387 |
00:56:14 | FromDiscord | <Kiloneie> Do you seriously mean Mercator?... |
00:56:57 | * | abm quit (Quit: Leaving) |
01:05:06 | FromDiscord | <clyybber> gn8 peeps |
01:05:58 | disrupteq | peace |
01:06:02 | shashlick | Probably, too lazy to check |
01:07:26 | * | Guest93387 quit (Ping timeout: 265 seconds) |
01:08:44 | * | dadada_ joined #nim |
01:10:15 | * | Trustable quit (Remote host closed the connection) |
01:27:14 | FromGitter | <Varriount> If anyone here lives on the east coast of the US, we might be able to meet up |
01:27:55 | FromGitter | <Varriount> I've met with zaharycarter (and Araq at a convention). It would be great to meet another Nim developer in person |
01:58:02 | * | dadada_ quit (Ping timeout: 240 seconds) |
01:58:43 | * | Hideki_ quit (Remote host closed the connection) |
02:00:34 | * | Hideki_ joined #nim |
02:05:39 | * | Hideki_ quit (Ping timeout: 272 seconds) |
02:10:10 | shashlick | Next time I'm visiting the area, sure |
02:13:39 | * | Hideki_ joined #nim |
02:19:03 | * | marmotini_ joined #nim |
02:20:11 | * | chemist69 quit (Ping timeout: 246 seconds) |
02:22:20 | * | chemist69 joined #nim |
02:22:45 | * | voltist joined #nim |
02:24:01 | * | marmotini_ quit (Ping timeout: 272 seconds) |
02:25:52 | voltist | Is there a proc in the standard library that converts iterators into seqs? |
02:28:14 | disrupteq | sequtils.toSeq |
02:34:40 | disruptek | hmm, nimph doesn't seem to work with git.sr.ht links. |
02:38:46 | disruptek | here's another fun one: Uppernamed package /directories/ confuse nimph because it's not clear that `import FeedNim` is equivalent to `import feednim`. 🤦 |
02:42:26 | disruptek | the filenames of all .nim/.nimble files are CaseSensitive. oi what does it all mean? |
02:44:07 | disruptek | then the import in the package imports `feednim/atom`, which doesn't work because... case sensitive fs. |
02:44:48 | disruptek | maybe modules need to be case-insensitive because people cannot be. |
02:46:21 | disruptek | eh or it's a code defect. |
02:52:03 | disruptek | `nimph fork` to the rescue. |
02:54:43 | * | Hideki_ quit (Remote host closed the connection) |
03:08:27 | * | voltist quit (Ping timeout: 240 seconds) |
03:11:49 | disruptek | alehander: https://www.reddit.com/r/ProgrammingLanguages/comments/f4gfum/pattern_matching_in_your_language/ |
03:18:20 | FromDiscord | <Elegant Beef> Soo generic return types? |
03:20:57 | FromDiscord | <Elegant Beef> i get you can do |
03:20:57 | FromDiscord | <Elegant Beef> `name*[T]() T` |
03:21:02 | FromDiscord | <Elegant Beef> but issue with passing in a type value |
03:22:09 | FromDiscord | <Elegant Beef> `getEntity(0).getComponent(MoveUpper)` something that allows this basically |
03:31:47 | * | muffindrake quit (Ping timeout: 272 seconds) |
03:33:45 | * | muffindrake joined #nim |
03:36:12 | FromGitter | <Varriount> Elegant Beef: You can also pass in typedesc parameters |
03:36:32 | FromDiscord | <Elegant Beef> uhh |
03:36:53 | FromDiscord | <Elegant Beef> I completely understand but you can elaborate for my friend in the back of the class? |
04:12:47 | FromGitter | <Varriount> https://nim-lang.org/docs/manual.html#special-types-typedesc-t |
04:12:55 | FromGitter | <Varriount> Elegant Beef ^ |
04:16:31 | FromDiscord | <Elegant Beef> Thank you |
04:16:33 | FromDiscord | <Elegant Beef> Works perfectly |
04:40:48 | * | marmotini_ joined #nim |
04:41:53 | shashlick | libclang is overrated |
04:44:31 | leorize | it's the only one in it's game that support every crazy C stuff people can write |
04:44:53 | FromDiscord | <Elegant Beef> so im looking at https://nim-lang.org/docs/manual.html#type-relations and it seems you have to implement your own methods to check if a type is convertable to another type? |
04:45:11 | leorize | no |
04:45:17 | leorize | it's a specification |
04:45:33 | FromDiscord | <Elegant Beef> Like i have a subtype B that inherits from A, and i just want to see if B is of a specific type |
04:45:49 | FromDiscord | <Elegant Beef> It's stored as type A so... |
04:45:55 | * | marmotini_ quit (Ping timeout: 260 seconds) |
04:46:49 | FromDiscord | <Elegant Beef> > The following section defines several relations on types that are needed to describe the type checking done by the compiler. |
04:46:49 | FromDiscord | <Elegant Beef> Did not read that cause i skipped the first lines |
04:48:02 | FromGitter | <deech> shashlick, does it handle proxy server auth? |
04:48:49 | FromDiscord | <Elegant Beef> so how can you check if a type is explcitly convertible? |
04:51:11 | * | LER0ever joined #nim |
04:58:42 | FromDiscord | <Elegant Beef> *Atleast i hope try catching isnt the solution* |
05:23:22 | shashlick | deech: nope, if configured for the underling tool sure |
05:24:24 | shashlick | leorize: I'll agree for clang but libclang isn't the full ast |
05:24:42 | shashlick | Doesn't inspire migrating from tree-sitter |
05:24:49 | shashlick | What more do I really get |
05:24:59 | shashlick | Looking at ANTLR4 |
05:25:04 | shashlick | Seems far cooler |
05:26:20 | shashlick | Will be ideal if I can get preprocessor info also in the ast |
05:27:00 | shashlick | Then we can create wrappers that can work cross platform |
05:28:00 | shashlick | tree-sitter croaks on that so I have to use gcc -E |
05:47:17 | * | fvs joined #nim |
05:54:12 | * | dddddd quit (Ping timeout: 248 seconds) |
06:16:34 | * | noonien quit (Quit: Connection closed for inactivity) |
06:29:51 | * | marmotini_ joined #nim |
06:34:52 | * | marmotini_ quit (Ping timeout: 268 seconds) |
06:45:45 | * | marmotini_ joined #nim |
06:46:40 | * | tefter joined #nim |
06:54:02 | * | marmotini_ quit (Ping timeout: 240 seconds) |
07:15:51 | FromDiscord | <Winton> I have been asked the question several of my partner if with Nim is so good to make sales system? |
07:16:12 | FromDiscord | <Winton> all done desk |
07:16:41 | FromDiscord | <Winton> If you have a tool to carry out these projects for companies |
07:20:08 | FromGitter | <Varriount> Winton: Well, it depends on the requirements of the system |
07:21:50 | FromGitter | <Varriount> Elegant Beef: I'm guessing here - you have a container or structure full of "ref object" types, and need to turn them back into their proper types? |
07:24:07 | FromDiscord | <Elegant Beef> yes |
07:24:30 | FromDiscord | <Winton> |
07:24:30 | FromDiscord | <Winton> https://cdn.discordapp.com/attachments/371759389889003532/678501941726281728/maxresdefault.jpg |
07:24:31 | FromDiscord | <Elegant Beef> right now im just try catching |
07:25:29 | FromDiscord | <Elegant Beef> Nim should be capable to do that it has all the required tools to make GUI and data, but if it's a case of effort i'd assume nim would require more work |
07:25:34 | FromDiscord | <Winton> I went to a company to talk about Nim and they asked me if this language has a library and the ability to handle eg ... hospitality system or super market system etc ... |
07:25:35 | FromDiscord | <Elegant Beef> But im also a novice |
07:25:36 | FromDiscord | <Elegant Beef> so 😄 |
07:26:09 | FromDiscord | <Elegant Beef> Well C/C++ should have a library to support that so you could argue nim does |
07:26:35 | FromDiscord | <Winton> This company manages great software to make, hostel, supermarket, bank system in short I told him that I would find out this case |
07:26:51 | FromDiscord | <Winton> This company manages great software to make, hostel, supermarket, bank system in short I told him that I would find out this case |
07:27:00 | FromDiscord | <Winton> they use pure C# |
07:27:47 | FromDiscord | <Winton> @Elegant Beef haa Ok no problem. I just have 2 months using nim |
07:28:01 | FromDiscord | <Elegant Beef> Well nim can use C++/C libraries and also make GUI applications through a multitude of graphics toolkits, so it's technically capable |
07:28:20 | FromDiscord | <Elegant Beef> Assuming there is a C or C++ library you want to use, or make your own |
07:28:29 | FromDiscord | <Winton> https://github.com/filcuc/nimqml |
07:28:36 | FromDiscord | <Winton> https://github.com/oskca/webview |
07:29:27 | FromDiscord | <Winton> I'm going to take a look at that and thank you very much we hope you like it |
07:29:37 | FromDiscord | <Elegant Beef> I think it's more a case of "do they want nim, and the implications of using a relatively unknown language" |
07:29:53 | FromDiscord | <Elegant Beef> > I'm going to take a look at that and thank you very much we hope you like it |
07:29:54 | FromDiscord | <Elegant Beef> huh? |
07:34:04 | FromDiscord | <Winton> we'll see what happens |
07:46:12 | FromGitter | <Varriount> Elegant Beef: are all possible types known, or is the number unknown? |
07:47:26 | FromDiscord | <Elegant Beef> unknown |
07:48:30 | FromGitter | <Varriount> Then you either want to go with using methods, or embedding procedure references in the structure |
07:48:32 | FromDiscord | <Winton> we must always give the opportunity to something new |
07:49:09 | FromDiscord | <Elegant Beef> embedding procedure references in the structure? |
07:49:12 | FromDiscord | <Winton> I like to program in C # and I had not tried another language because they didn't attract my attention but I met Nim and well I really feel comfortable and it's easy |
07:49:31 | FromDiscord | <Elegant Beef> I mean right now im using trycatch for getting components from entity |
07:49:36 | FromDiscord | <Winton> to differences of C / C ++ / Rust / |
07:49:52 | FromDiscord | <Elegant Beef> Yea im in a similar boat |
07:50:01 | FromDiscord | <Elegant Beef> most of my coding experience is C# specifically game related |
07:50:03 | FromGitter | <Varriount> If you don't know the types ahead of time, how are you using try/catch? |
07:50:25 | FromDiscord | <Elegant Beef> `try: T(object)` |
07:50:30 | FromDiscord | <Elegant Beef> basically |
07:50:54 | FromGitter | <Varriount> Yes, but you have a variable number of `T`? |
07:50:58 | FromDiscord | <Winton> > most of my coding experience is C# specifically game related |
07:50:58 | FromDiscord | <Winton> @Elegant Beef 😮 |
07:51:20 | FromDiscord | <Elegant Beef> I mean T is variable but it's only one in this case |
07:51:25 | FromDiscord | <Winton> My world is to create desktop business software |
07:51:33 | FromDiscord | <Elegant Beef> Im getting components on an entity |
07:51:40 | FromDiscord | <Elegant Beef> so im getting all or first of a T |
07:52:22 | FromDiscord | <Winton> although I want to give it a spin using nim more in the future it is faster and as time progresses it is progressing |
07:52:44 | FromDiscord | <Elegant Beef> This is the current method |
07:52:44 | FromDiscord | <Elegant Beef> https://hastebin.com/otewodibop.md |
07:52:58 | FromDiscord | <Elegant Beef> Yea i'd really like to use nim for gamedev |
07:53:03 | FromDiscord | <Elegant Beef> It has some nice features/logic |
07:53:21 | FromDiscord | <Winton> 👌 |
07:53:23 | FromGitter | <Varriount> https://nim-lang.org/docs/manual.html#types-procedural-type |
07:53:55 | FromDiscord | <Elegant Beef> Yea im already using that |
07:54:15 | FromDiscord | <Elegant Beef> but you may want cross component communication |
07:54:21 | * | fvs quit (Quit: leaving) |
07:54:54 | FromDiscord | <Elegant Beef> and communicating to a Component level component is quite useless when it's more of an abstract object |
07:55:56 | FromGitter | <Varriount> https://nim-lang.org/docs/manual.html#generics-is-operator |
07:56:12 | FromGitter | <Varriount> Although that's at compile time |
07:56:58 | FromDiscord | <Elegant Beef> I've still not got around to thinking about difference between runtime and compile time |
07:57:19 | FromGitter | <Varriount> And finally, https://nim-lang.org/docs/typeinfo.html |
07:58:32 | FromDiscord | <Elegant Beef> uhh |
07:58:35 | FromDiscord | <Elegant Beef> pfffft |
07:58:36 | FromDiscord | <Elegant Beef> uhhh |
07:59:18 | FromDiscord | <Elegant Beef> Could be im tired, or im a dullard i dont see how these exactly help |
08:00:00 | * | gmpreussner quit (Quit: kthxbye) |
08:01:15 | FromGitter | <Varriount> Though, that doesn't work with gc:arc |
08:04:57 | * | gmpreussner joined #nim |
08:06:46 | Araq | yeah, don't use tyepinfo |
08:09:47 | FromDiscord | <Elegant Beef> So what's the alternative for passing the type? |
08:10:17 | Araq | thinking about the problem in a completely different way |
08:10:49 | Araq | types do model what is invariant, if you pass them around, you're misusing them |
08:11:42 | FromDiscord | <Elegant Beef> My C# mind says you're wrong 😄 |
08:11:52 | FromDiscord | <Elegant Beef> But my willingness to learn says ok |
08:12:06 | * | arecaceae quit (Remote host closed the connection) |
08:12:30 | * | arecaceae joined #nim |
08:12:37 | FromDiscord | <Elegant Beef> Hell generic C# functions make you do `FuncName<ReturnType>(params);` |
08:13:28 | FromDiscord | <Rika> Just because it's possible doesn't mean it's proper |
08:13:58 | FromDiscord | <Elegant Beef> The C# thing is propre |
08:13:59 | FromDiscord | <Elegant Beef> The C# thing is proper |
08:14:15 | FromDiscord | <Elegant Beef> But again coming from C# there are things that dont make a lot of sense that i've got to learn |
08:14:43 | FromDiscord | <Rika> Okay let me understand your problem first |
08:15:21 | FromDiscord | <Elegant Beef> I have a list of components which are the base types, i want to get only components that are actually a specific type |
08:16:24 | * | dadada joined #nim |
08:16:37 | FromDiscord | <Rika> What is in entity.components |
08:16:46 | FromDiscord | <Elegant Beef> it's a sequence of components |
08:16:47 | * | dadada is now known as Guest82791 |
08:16:48 | FromDiscord | <Rika> Like, the type implementation |
08:17:02 | FromDiscord | <Elegant Beef> !repo nimcs |
08:17:03 | disbot | https://github.com/beef331/nimcs -- 9nimcs: 11Nim ECS 15 1⭐ 0🍴 |
08:17:05 | FromDiscord | <Elegant Beef> here is the source |
08:17:10 | FromDiscord | <Elegant Beef> easier than explaining everything |
08:17:18 | FromDiscord | <Elegant Beef> should be in entity.nim |
08:18:49 | FromDiscord | <Rika> Just read it |
08:19:15 | FromDiscord | <Elegant Beef> inb4 *it's the worst code i've ever seen* 😛 |
08:20:05 | Araq | a "proper" ECS doesn't use inheritance and no dynamic binding |
08:20:09 | * | solitudesf joined #nim |
08:20:27 | FromDiscord | <Elegant Beef> Well that's an observer based ECS |
08:21:12 | FromDiscord | <Elegant Beef> Some of this code is just placeholder for testing |
08:22:10 | FromDiscord | <Elegant Beef> and what do you mean dynamic binding? |
08:24:56 | Araq | onCreated* : proc(comp: Component) |
08:24:56 | Araq | update* : proc(comp : Component, deltaTime : float32) |
08:24:56 | Araq | onDestroy* : proc(comp: Component) |
08:25:11 | FromDiscord | <Elegant Beef> I mean the overarching ECS seems fine, need to make systems instead of using the ECS, but get component will still be needed to check if the components are the required ones |
08:25:24 | skrylar[m] | :think: |
08:25:28 | FromDiscord | <Elegant Beef> This is mostly based off the described system on the wikipedia |
08:25:35 | skrylar[m] | Depending on what you mean by dynamic binding, yes i think i've seen some that do |
08:25:44 | skrylar[m] | although that was in that the components were dynamically attached |
08:25:48 | Araq | yeah, just forget wikipedia |
08:26:16 | Araq | or alternatively don't write an "ECS", write something that makes sense |
08:28:07 | FromDiscord | <Elegant Beef> idk i can justify both dynamic binding and inheritance, but that's because of unity |
08:29:13 | skrylar[m] | closures somewhat remove the need for inheritance |
08:29:26 | FromDiscord | <Elegant Beef> Well i only use inheritance from component |
08:29:45 | FromDiscord | <Elegant Beef> And i guess systems would use inheritance |
08:30:04 | FromDiscord | <Elegant Beef> That's a relatively laxed version and is more like an abstract class then true inheritance |
08:30:17 | FromDiscord | <Elegant Beef> Component/System would be more like templates |
08:30:29 | FromDiscord | <Elegant Beef> dont know if that's the approriate term for nim |
08:32:45 | FromDiscord | <Elegant Beef> The way i see it is there would be a entity handler which stores references to entities, and instantation of entities/components, then your system iterates over those checking if entities have the required components and then do what they want |
08:33:25 | skrylar[m] | there's usually only one entity and all the special stuff goes in components |
08:33:39 | FromDiscord | <Elegant Beef> yea i know that |
08:33:41 | skrylar[m] | well one type of entity |
08:33:48 | FromDiscord | <Elegant Beef> yea there is no inheritance for entity |
08:34:00 | FromDiscord | <Elegant Beef> it's just a named object with an index for the array |
08:34:06 | FromDiscord | <Elegant Beef> it's just a named object with an index for the sequence |
08:34:30 | FromDiscord | <Elegant Beef> Components is where inheritance is currently for adding functionality, mostly just for testing |
08:34:42 | skrylar[m] | i want to say rimworld just does a linear scan when finding components and a lot of them do it that way, but i'm not certain |
08:35:01 | FromDiscord | <Elegant Beef> but you you want to store components in a bucket and get their true types for any system |
08:35:07 | FromDiscord | <Elegant Beef> so inhertiance makes sense |
08:35:10 | FromDiscord | <Elegant Beef> or an interface |
08:35:18 | FromDiscord | <Elegant Beef> so inheritance makes sense |
08:35:34 | FromDiscord | <Elegant Beef> a linear scan? |
08:36:25 | skrylar[m] | what i did in some cbor code was have an object for ex. writing and it just has a closure that takes a command code for writing/close/flush and there's no subclassing or anything, you just write one function |
08:36:48 | skrylar[m] | but i dunno what this ecs is specifically for so |
08:37:01 | FromDiscord | <Elegant Beef> for me it's primarly for gamedev |
08:37:20 | FromDiscord | <Elegant Beef> so many components/systems |
08:39:34 | FromDiscord | <Elegant Beef> To stop checking every single frame if an entity has the required components, i'd use a callback that systems subscribe to, check if the changes allow it to use then add the entity index to an int set for usable entity |
08:39:46 | FromDiscord | <Elegant Beef> It's atleast good enough for the people i hangout with |
08:39:58 | skrylar[m] | i guess so. |
08:40:28 | FromDiscord | <Elegant Beef> Im clearly the wrong person to be writting a ECS |
08:41:01 | skrylar[m] | it's just a methodology to get around having game objects with crazy inheritance trees so. |
08:41:13 | skrylar[m] | really anything with get/set entity is "an ecs" |
08:41:36 | FromDiscord | <Elegant Beef> Yea im basing it of the wikipedia article with my own variations |
08:41:44 | FromDiscord | <Elegant Beef> which apparently are un nim like 😄 |
08:42:39 | skrylar[m] | altho having inherited stuff is sort of anti-ecs, so anything more than just being a base type for components to deal with type safety in the background is un-ecslike :) |
08:43:13 | FromDiscord | <Elegant Beef> *so are you saying what im doing is un ecslike?* |
08:43:54 | skrylar[m] | yes but whatever works works |
08:45:29 | FromDiscord | <Elegant Beef> I mean i am basically just using inheritance to have commonalities with the components/systems |
08:45:56 | FromDiscord | <Elegant Beef> so im only encouraging a 1 layer deep inheritance |
08:48:00 | * | nsf joined #nim |
08:49:29 | FromDiscord | <Elegant Beef> I'd ideally use interfaces to really encourage the composition over inheritance |
08:50:14 | FromDiscord | <Elegant Beef> But ill continue working on this, at worse i learn more nim, and get a shitty ECS 😄 |
08:50:32 | skrylar[m] | theres not really much to them |
08:50:34 | Araq | ECS = struct of arrays instead of arrays of struct + plus buzzwords from the OO people who never understand anything |
08:51:13 | skrylar[m] | those smalltalk guys made some fun toys |
08:51:19 | FromDiscord | <Elegant Beef> Uhh |
08:51:33 | FromDiscord | <Elegant Beef> What Araq |
08:51:33 | Araq | in order to re-compute the 'struct' aspect (Player/Unit/Enemy) you need an ID mechanism. And that's about it, ymmv |
08:51:51 | FromDiscord | <Elegant Beef> how does an int give you a type? |
08:52:35 | skrylar[m] | in some of the silly ones its just a seq[Component] and when you ask for a component it just walks the seq type checking |
08:52:54 | FromDiscord | <Elegant Beef> Hmm |
08:52:58 | FromDiscord | <Elegant Beef> I sense im being mocked |
08:53:15 | Araq | forget about the types, a monster has a position, velocity etc and has an ID, so you tell the system "ID == 4 just died" and all the position/velocity/etc "subsystems" must update their data |
08:53:34 | Araq | I'm not mocking you at all. |
08:53:52 | FromDiscord | <Elegant Beef> but the systems need to know what objects they work on |
08:54:14 | FromDiscord | <Elegant Beef> which can only be got by knowning the componets either on added or calculated |
08:54:24 | FromDiscord | <Elegant Beef> calculated on the fly* |
08:54:36 | Araq | well every system works on a single type, e.g. Position (= Vector3) |
08:54:46 | FromDiscord | <Elegant Beef> Not true |
08:55:20 | FromDiscord | <Elegant Beef> Rendering requires creation of a matrix, which needs position,scale, and the entities parent versions |
08:55:30 | FromDiscord | <Elegant Beef> it also needs a mesh |
08:55:32 | FromDiscord | <Elegant Beef> and a renderer |
08:55:37 | skrylar[m] | i think that was an example |
08:55:57 | FromDiscord | <Elegant Beef> Well still you need to know the entity has the type |
08:56:01 | skrylar[m] | position is always weird cause depending on the engine it either lives in the physics component or it lives in its own transform component |
08:56:10 | skrylar[m] | i think godot does it with the transform component |
08:56:16 | FromDiscord | <Elegant Beef> Same with unity |
08:56:28 | FromDiscord | <Elegant Beef> but transform is forced on Game objects |
08:56:33 | Araq | type Entity = distinct int # the ID |
08:56:53 | FromDiscord | <Elegant Beef> Of the entity |
08:57:08 | FromDiscord | <Elegant Beef> are you hardcoding your entities and their types? |
08:57:17 | FromDiscord | <Elegant Beef> their components* |
08:57:21 | skrylar[m] | i should duck back out of this tho |
08:57:38 | FromDiscord | <Elegant Beef> i mean im just trying to understand 😄 |
08:58:35 | FromDiscord | <Elegant Beef> Like by definition of the ECS entities have compoonent stored on/with them, which are checked by systems |
08:58:55 | FromDiscord | <Elegant Beef> I dont quite understand how you can avoid the check of types |
08:59:21 | Araq | oh I don't but in a nutshell: I model the "types" as set[enum] |
08:59:32 | FromDiscord | <Elegant Beef> so manually? |
08:59:56 | Araq | "manually", "hard coded", yes yes. |
09:00:01 | FromDiscord | <Elegant Beef> And how about their data,how do you hold those? |
09:01:32 | Araq | where they belong, in the sub-systems |
09:01:48 | FromDiscord | <Elegant Beef> So you're going to hold data inside the systems |
09:02:05 | FromDiscord | <Elegant Beef> which are large bodies that control all entities |
09:02:59 | Araq | no idea what you're talking about |
09:03:25 | FromDiscord | <Elegant Beef> Let's say you have a renderer system, which looks for a mesh |
09:03:34 | FromDiscord | <Elegant Beef> You have that enum on the entity so it knows it has to render it |
09:03:41 | FromDiscord | <Elegant Beef> how do you get the actual mesh it's supposed to render |
09:04:22 | Araq | no, the renderer system doesn't "look for a mesh", it has an array of meshes to render |
09:04:38 | FromDiscord | <Elegant Beef> That's just not how the system is supposed to work |
09:04:42 | FromDiscord | <Elegant Beef> I mean it'd work |
09:04:51 | FromDiscord | <Elegant Beef> but now your data isnt in components and they're just flags |
09:04:57 | FromDiscord | <Elegant Beef> components are both flags and dataholders |
09:05:03 | * | Araq sighs |
09:05:40 | FromDiscord | <Elegant Beef> Yea me big dumb OOP man |
09:05:40 | FromDiscord | <Elegant Beef> 😄 |
09:07:30 | Araq | you store the data as separate arrays, the rest follows from that |
09:07:41 | FromGitter | <Varriount> Elegant Beef: An entity has a "mesh ID" component (or member, etc). When the render system is processing entities, it uses that ID to determine the mesh |
09:08:02 | FromDiscord | <Elegant Beef> I got that |
09:08:18 | FromDiscord | <Elegant Beef> but the component should hold the data, not the entity or the system |
09:08:27 | FromDiscord | <Elegant Beef> The component should have the id for the resource in memory |
09:08:32 | Araq | not necessarily, ideally the subsystems don't care about entity IDs at all |
09:09:19 | Araq | the ID mechanism is used to keep the separate arrays coherent so that e.g. a monster that died doesn't continue to walk around |
09:09:21 | * | Guest82791 quit (Ping timeout: 272 seconds) |
09:09:42 | * | jjido joined #nim |
09:10:04 | Araq | it's like a column based database |
09:10:16 | FromGitter | <Varriount> Araq: Ah, you're using the concept where each system has its own array of entities |
09:10:28 | * | dadada joined #nim |
09:10:58 | FromDiscord | <Elegant Beef> Well i am to, on component add revaluate if the entity can be used by the system, add it to a list if it can |
09:11:09 | FromDiscord | <Elegant Beef> Well i am to, on component add/remove/entity destroyed revaluate if the entity can be used by the system, add it to a list if it can |
09:11:28 | Araq | gotta go, bbl |
09:11:29 | FromDiscord | <Elegant Beef> then go through the list getting the data from the entity and doing what you need |
09:11:32 | FromDiscord | <Elegant Beef> Buh bye |
09:11:37 | FromDiscord | <Elegant Beef> sorry for irritating you 😄 |
09:11:58 | Araq | no worries. ECS is becoming the new "model view controller" |
09:12:07 | FromGitter | <Varriount> I gotta sleep. Good night |
09:12:16 | FromDiscord | <Elegant Beef> I still think im going to follow my way and you can dislike me from across the court |
09:12:18 | FromDiscord | <Elegant Beef> buh bye |
09:12:22 | FromDiscord | <Elegant Beef> im also outta here |
09:12:37 | Araq | nobody ever understood what MVC was about and eventually we replaced it the frontend vs backend |
09:12:39 | Araq | :P |
09:17:03 | * | tefter quit (Ping timeout: 268 seconds) |
09:29:32 | * | tane joined #nim |
09:33:45 | * | lritter joined #nim |
09:37:05 | * | JustASlacker joined #nim |
09:44:11 | * | lritter quit (Ping timeout: 268 seconds) |
09:48:50 | * | lritter joined #nim |
10:03:05 | skrylar[m] | ergh. i really expected to be able to stick an importc on individual enums to sanitize their names |
10:07:09 | * | marmotini_ joined #nim |
10:11:23 | * | Hideki_ joined #nim |
10:20:02 | * | solitudesf quit (Ping timeout: 240 seconds) |
10:20:31 | * | JustASlacker quit (Ping timeout: 260 seconds) |
10:59:57 | * | JustASlacker joined #nim |
11:15:12 | * | nsf quit (Quit: WeeChat 2.7) |
11:26:09 | * | JustASlacker quit (Ping timeout: 272 seconds) |
11:28:36 | dadada | there should be a way to use gccgo compiled go modules in nim |
11:29:06 | dadada | at least if I'm not mistaken they shouldn't be much different from c libraries?! |
11:29:34 | dadada | and as the go ecosystem is pretty great, this would matter a lot |
11:37:33 | * | tane quit (Quit: Leaving) |
11:39:25 | * | krux02 joined #nim |
12:04:48 | * | dddddd joined #nim |
12:20:10 | lqdev[m] | dadada: you could probably import symbols from them using importc, but I'm not sure how the go runtime would be handled |
12:26:41 | * | JustASlacker joined #nim |
12:29:42 | * | tane joined #nim |
12:42:13 | FromGitter | <Varriount> dadada: Go/C interop is tricky, and full of rules |
12:48:50 | FromDiscord | <exelotl> Go/C interop is horrifying, it's one of the reasons I switched to Nim |
12:51:54 | FromGitter | <gogolxdong> Why does finalize result of std/sha1 is different from openssl SHA1_Final? |
13:01:40 | * | tefter joined #nim |
13:04:31 | FromGitter | <gogolxdong> never mind. |
13:07:03 | * | nsf joined #nim |
13:08:56 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
13:10:22 | dadada | Varriount, exelotl: the night is dark and full of terrors |
13:31:14 | * | marmotini_ quit (Ping timeout: 240 seconds) |
13:31:29 | * | jjido joined #nim |
13:33:49 | * | marmotini_ joined #nim |
13:34:53 | * | marmotini_ quit (Remote host closed the connection) |
13:39:34 | * | chenhq2005 joined #nim |
13:43:44 | * | chenhq2005 quit (Client Quit) |
13:44:27 | * | chenhq2005 joined #nim |
13:45:07 | FromDiscord | <sveri> Hi, I used the vscode nim plugin. Is there a way to ignore warnings / errors in a file or per line? |
13:45:16 | FromDiscord | <sveri> Hi, I use the vscode nim plugin. Is there a way to ignore warnings / errors in a file or per line? |
13:46:13 | FromDiscord | <Rika> pragmas |
13:46:21 | * | Hideki_ quit (Remote host closed the connection) |
13:47:06 | FromDiscord | <exelotl> https://nim-lang.github.io/Nim/manual.html#pragmas-disabling-certain-messages |
13:47:14 | * | Hideki_ joined #nim |
13:47:17 | FromDiscord | <Rika> and this too https://nim-lang.org/docs/manual.html#pragmas-compilation-option-pragmas |
13:48:08 | FromDiscord | <exelotl> you can use a `config.nims` or `nim.cfg` file to disable some warning for the whole project |
13:49:10 | * | abm joined #nim |
13:49:22 | * | MarderIII joined #nim |
13:49:35 | FromDiscord | <Rika> ~~can we promote hints into warnings/errors?~~ |
13:49:49 | FromDiscord | <Rika> specific ones |
13:51:49 | * | Hideki_ quit (Ping timeout: 272 seconds) |
13:53:26 | FromDiscord | <sveri> @Rika Thanks, one step into the right direction. If I understand this correctly I put them on the top of a nim file and it accounts for the whole file, right? |
13:53:33 | FromDiscord | <Rika> yes |
13:53:36 | FromDiscord | <sveri> Is it possible to disable this for specific lines of code? |
13:53:41 | FromDiscord | <Rika> if you want sections, use the push and pop pragmas |
13:53:46 | FromDiscord | <Rika> https://nim-lang.org/docs/manual.html#pragmas-push-and-pop-pragmas |
13:53:47 | * | dadada quit (Ping timeout: 260 seconds) |
13:54:11 | * | solitudesf joined #nim |
14:00:26 | FromDiscord | <sveri> Hm, it seems like this is a problem only for the vs code plugin. I have a function that is used as a callback on thread creation. It is reported as unused by the vs code plugin, but not by the compiler. |
14:01:52 | FromDiscord | <sveri> Anyway, thanks for teaching me about the hint / push / pop pragmas 🙂 |
14:03:02 | FromDiscord | <exelotl> oh yeah specifically for unused warnings, there's a {.used.} pragma you can attach to the variable/procedure |
14:03:35 | * | natrys joined #nim |
14:03:36 | * | dadada joined #nim |
14:04:00 | * | dadada is now known as Guest34874 |
14:04:36 | FromDiscord | <sveri> Ah, that's even better, this is recognized by the plugin 🙂 |
14:09:14 | FromDiscord | <Rika> ~~i think you can push pop the used pragma too so~~ |
14:14:23 | * | Hideki_ joined #nim |
14:20:51 | * | chenhq2005 quit (Read error: Connection reset by peer) |
14:28:54 | FromDiscord | <Rika> huh, what would `The semaphore timeout period has expired.` mean when using asyncdispatch |
14:38:40 | * | MarderIII is now known as warkruid |
14:53:14 | * | LER0ever quit (Remote host closed the connection) |
15:12:27 | * | Hideki_ quit (Remote host closed the connection) |
15:12:43 | * | warkruid quit (Quit: Leaving) |
15:13:36 | * | Hideki_ joined #nim |
15:17:38 | * | Hideki_ quit (Ping timeout: 240 seconds) |
15:20:21 | * | Hideki_ joined #nim |
15:26:51 | Guest34874 | is there a whitepaper/pdf that sums up nim nicely? |
15:26:53 | * | Guest34874 is now known as dadada |
15:38:43 | Zevv | Rika: funny, that does not come from nim, afaik |
15:40:21 | FromDiscord | <Rika> searched it, its from somewhere in windows |
15:40:36 | FromDiscord | <Rika> odd that it's the message i got from an exception, wonder what happened |
15:41:51 | * | marmotini_ joined #nim |
15:42:22 | FromDiscord | <Rika> https://hastebin.com/raw/wiqowohuqo hmm |
15:51:34 | dadada | nim's wikipedia page could use some love, I'm seeing to it |
15:54:37 | dadada | "to see to sth" means "to look after sth" |
15:55:11 | FromDiscord | <Rika> why even use an alternate way to say something if you gotta explain it |
15:55:29 | dadada | well, it didn't really appear alternative to me when I first typed it |
15:55:46 | dadada | then I remembered that I learned this through listening to a lot of English podcasts |
15:56:21 | dadada | and that not everyone in here might have acquired those nuances |
15:56:44 | dadada | so I tried to clear it up for them |
15:58:35 | FromDiscord | <Rika> i see |
16:04:17 | * | couven92 joined #nim |
16:09:37 | * | fvs joined #nim |
16:20:20 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
16:35:15 | * | ftsf quit (Ping timeout: 260 seconds) |
16:44:19 | * | actuallybatman joined #nim |
16:47:19 | FromDiscord | <exelotl> got my textadept just right :D |
16:47:19 | FromDiscord | <exelotl> https://cdn.discordapp.com/attachments/371759389889003532/678643577844138003/unknown.png |
16:48:41 | FromDiscord | <exelotl> improved the Nim syntax highlighting and made a VS Code like theme |
16:52:47 | FromDiscord | <exelotl> I also added a module someone made to get nimsuggest working, but it needs some love |
16:56:26 | disruptek | i like the fold indicators. |
16:56:33 | FromGitter | <reversem3_twitter> Does anyone of if there is python to nim module? Calling python in nim? |
16:56:41 | disruptek | several. |
16:56:47 | disruptek | !repo python |
16:56:49 | disbot | https://github.com/nim-lang/python -- 9python: 11 15 28⭐ 9🍴 & 29 more... |
16:56:59 | disruptek | look at that, python. |
16:57:02 | FromGitter | <reversem3_twitter> Thanks |
16:57:49 | FromGitter | <reversem3_twitter> !repo python3 |
16:57:50 | disbot | https://github.com/matkuki/python3 -- 9python3: 11Python 3 wrapper for Nim 15 12⭐ 1🍴 7& 5 more... |
16:58:05 | disruptek | preconditions for nigel. i think they want to be a tree. |
16:58:47 | FromDiscord | <Recruit_main_70007> this is for creating nim libraries for python i believe |
16:59:53 | disruptek | join irc and send a /msg disbot !repos python |
16:59:58 | * | sagax quit (Remote host closed the connection) |
17:00:39 | disruptek | or search github manually: language:nim python |
17:01:12 | FromGitter | <reversem3_twitter> Ok |
17:02:58 | * | tefter quit (Quit: WeeChat 2.7) |
17:03:22 | * | LER0ever joined #nim |
17:08:37 | * | LER0ever quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
17:27:09 | dadada | I put a reference to nim on python's wikipedia page ... don't know why noone bothered to do this before me :D |
17:29:04 | * | FromDiscord <Recruit_main_70007> its free real state |
17:30:19 | dadada | exactly |
17:31:17 | FromDiscord | <Rika> let's see if it got edited out quick |
17:31:40 | dadada | so far they only moved it into alphabetical order |
17:31:46 | dom96 | I did, it gets removed :) |
17:31:55 | dadada | why? |
17:33:15 | dom96 | who knows, people dislike niche things |
17:34:14 | dadada | when did that happen last time? |
17:34:19 | disruptek | that sentence needs a period in any event. |
17:34:33 | dadada | then edit it :D |
17:34:37 | disruptek | nah. |
17:35:55 | * | MarderIII joined #nim |
17:36:34 | dadada | is there a page that shows all the companies using Nim? that would be free advertisement for both the companies and NIm |
17:36:58 | FromDiscord | <Recruit_main_70007> ive seen that somewhere |
17:37:01 | * | MarderIII quit (Client Quit) |
17:37:08 | FromDiscord | <Rika> only status is large enough to help afaik |
17:37:10 | dadada | well, I could understand if you'd only give away this "real esate" for some donations |
17:37:21 | * | MarderIII joined #nim |
17:37:34 | dadada | real estate |
17:41:31 | * | nsf quit (Quit: WeeChat 2.7) |
17:44:05 | * | xet7 quit (Quit: Leaving) |
17:44:06 | * | MarderIII quit (Quit: Leaving) |
17:44:15 | disruptek | naysayers: aws lambda's tree tier does not expire after a year. |
17:44:26 | * | MarderIII joined #nim |
17:44:39 | * | MarderIII is now known as warkrkuid |
17:45:22 | * | xet7 joined #nim |
17:46:40 | * | sagax joined #nim |
17:57:17 | * | SyrupThinker joined #nim |
18:04:14 | FromGitter | <Varriount> There was quite the fight to get an article on Wikipedia in the first place |
18:04:53 | * | NimBot joined #nim |
18:06:41 | * | sigmapie8 joined #nim |
18:06:56 | dadada | perceptions change, Nim is now beyond 1.0 |
18:07:10 | dadada | 4 speeches at fosdem |
18:07:33 | FromGitter | <Varriount> Nah, it was more because of a lack of secondary sources |
18:07:58 | * | actuallybatman quit (Read error: No route to host) |
18:07:58 | dom96 | yep |
18:07:59 | FromGitter | <Varriount> Well, secondary sources that were counted as secondary sources, anyway |
18:08:07 | dom96 | the article itself was removed like 5 times |
18:09:14 | FromGitter | <Varriount> There are certain subjects that just aren't covered by Wikipedia-approved secondary sources. Programming languages and tools are one of them |
18:09:35 | FromGitter | <Varriount> Or at least, not covered often |
18:10:20 | dadada | hmm, isn't a primary source more important? |
18:10:33 | dadada | like from the horses mouth? |
18:10:59 | dadada | horse's mouth |
18:11:00 | dom96 | no, because it's not reliable |
18:11:13 | dom96 | I could make any sorts of claims about Nim |
18:11:17 | dom96 | and so could Andreas |
18:11:21 | disruptek | the whole idea is to archive facts for which "it is known." |
18:11:27 | dom96 | You need primary sources and secondary sources that back up those claims |
18:12:00 | dadada | ya |
18:19:30 | * | jjido joined #nim |
18:26:03 | * | abm quit (Ping timeout: 272 seconds) |
18:30:15 | * | warkrkuid quit (Remote host closed the connection) |
18:30:43 | * | warkrkuid joined #nim |
18:31:46 | * | ptdel joined #nim |
18:31:55 | * | JustASlacker quit (Ping timeout: 265 seconds) |
18:36:26 | * | couven92 quit (Ping timeout: 240 seconds) |
18:36:47 | * | sigmapie8 quit (Ping timeout: 240 seconds) |
18:37:09 | * | sigmapie8 joined #nim |
18:45:33 | * | JustASlacker joined #nim |
18:46:43 | * | vivus joined #nim |
18:49:06 | disruptek | password123 |
18:49:10 | disruptek | oops |
18:49:32 | Yardanico | disruptek: I only see *********** |
18:49:41 | disruptek | ssshhhh |
18:49:47 | disruptek | you'll draw attention to it. |
18:50:14 | dom96 | /ns identify dom96 hunter123 |
18:50:29 | disruptek | see what you've done? |
18:51:05 | disruptek | now my ashley madison account is compromised. |
18:52:02 | * | JustASlacker quit (Ping timeout: 240 seconds) |
19:01:26 | FromGitter | <deech> dom96, does Git dependency, eg. `requires = "foo#head"` also clone submodules in `foo`? |
19:05:26 | FromGitter | <deech> Looks like it does, https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/download.nim#L28. Neat! |
19:06:13 | dom96 | yep, it should |
19:07:03 | * | marmotini_ quit (Quit: Leaving...) |
19:08:46 | * | JustASlacker joined #nim |
19:09:28 | * | marmotini_ joined #nim |
19:18:50 | * | tefter joined #nim |
19:21:22 | * | abm joined #nim |
19:27:49 | * | warkrkuid quit (Quit: Leaving) |
19:31:45 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
19:47:33 | FromGitter | <deech> I'm sure I'm missing something in the Nimble docs but is there a way to have custom project specific build flags, eg. something like `--myproject:staticbuild` which sets the`staticbuild` flag for the `myproject` dependency? |
19:48:07 | dom96 | nope, that's not a feature that is supported |
19:48:12 | * | jjido joined #nim |
19:48:21 | dom96 | not something that we considered tbh |
19:50:43 | * | nsf joined #nim |
19:51:34 | FromGitter | <deech> Is there some other way to get options down to dependencies? |
19:51:45 | disruptek | yes, define them yourself. |
19:52:04 | FromGitter | <deech> I don't understand. |
19:52:21 | disruptek | define them in your project's configuration. |
19:52:31 | disruptek | someproject.nim.cfg, ideally. |
19:54:40 | disruptek | ~motd is Tell me a story about when your instinct, your "programmer's spidey sense", saved your bacon. Or worse... |
19:54:40 | disbot | motd: 11Tell me a story about when your instinct, your "programmer's spidey sense", saved your bacon. Or worse... |
19:55:23 | FromGitter | <deech> So if `projectA` depends on `projectB` I have a file called `projectB.nim.cfg` in `projectA` that sets custom options for just that dependency? |
19:55:31 | disruptek | nope. |
19:55:40 | FromGitter | <deech> That's what I want. |
19:55:47 | disruptek | well, that's not a feature of the compiler. |
19:57:23 | disruptek | ~features is begin in the unfortunate state of /unimplemented/ |
19:57:23 | disbot | features: 11begin in the unfortunate state of /unimplemented/ |
20:02:58 | * | sigmapie8 quit (Quit: Leaving) |
20:05:27 | * | gendarme joined #nim |
20:07:33 | FromDiscord | <Recruit_main_70007> How can I import a namespace as in this example, but from a dll? |
20:07:33 | FromDiscord | <Recruit_main_70007> https://nim-lang.org/docs/manual.html#importcpp-pragma-namespaces |
20:08:55 | * | theelous3 joined #nim |
20:09:04 | FromDiscord | <Recruit_main_70007> (Pls @ in response if you are from discord, or @ me if they have answered, I am very busy) |
20:12:25 | * | gendarme quit (Remote host closed the connection) |
20:12:50 | * | gendarme joined #nim |
20:17:25 | * | gendarme quit (Remote host closed the connection) |
20:17:50 | * | gendarme joined #nim |
20:18:37 | dom96 | bah, why does Nim define `main` to take 3 arguments |
20:18:41 | dom96 | that's not portable! |
20:21:28 | nisstyre | Why is there not a proc to just get the current DateTime in UTC? |
20:21:47 | dom96 | isn't there? |
20:22:12 | nisstyre | no, not as far as I can tell |
20:22:15 | nisstyre | https://nim-lang.org/docs/times.html#utc%2CDateTime |
20:22:19 | nisstyre | utc takes a DateTime object |
20:22:24 | nisstyre | so you need to have constructed it first |
20:22:39 | dom96 | now().utc()? |
20:23:01 | nisstyre | yeah that seems to work |
20:23:06 | nisstyre | for some reason I thought now() returned Time |
20:25:48 | * | noonien joined #nim |
20:29:29 | * | nsf quit (Quit: WeeChat 2.7) |
20:34:08 | disruptek | that's +1 for bad spidey senses. |
20:34:30 | disruptek | +2 if you count dom's main(). |
20:37:07 | * | lritter quit (Quit: Leaving) |
20:49:49 | * | sekao joined #nim |
20:50:42 | sekao | is epochTime() good enough to use for quick and dirty performance tests or is there something better? i just want to know approx. how long a function takes to run |
20:51:06 | disruptek | !repo disruptek/criterion |
20:51:07 | disbot | no results 😢 |
20:51:17 | disruptek | well, it's a fork of an archived repo. |
20:51:27 | Zevv | sekao: use cpuTime() |
20:51:32 | disruptek | if it's too complex, then cpuTime. |
20:52:08 | sekao | great ill check it out |
21:10:34 | * | sekao quit (Remote host closed the connection) |
21:15:22 | disruptek | i want a command-line tool that can give me a histogram for fileLastModified over time, given any directory. |
21:27:08 | SyrupThinker | Sounds pretty simple to write, *he said, choking on all the special cases* |
21:28:14 | FromDiscord | <Recruit_main_70007> why is dynlib giving an error here: |
21:28:14 | FromDiscord | <Recruit_main_70007> |
21:28:15 | FromDiscord | <Recruit_main_70007> const rlbotdll: string = "RLBot_Core_Interface.dll" |
21:28:15 | FromDiscord | <Recruit_main_70007> |
21:28:15 | FromDiscord | <Recruit_main_70007> |
21:28:15 | FromDiscord | <Recruit_main_70007> type rlbot {.importc, dynlib: rlbotdll.} = object |
21:28:15 | FromDiscord | <Recruit_main_70007> |
21:28:17 | FromDiscord | <Recruit_main_70007> invalid pragma: dynlib: rlbotdll |
21:28:43 | disruptek | ~pastes |
21:28:44 | disbot | no footnotes for `pastes`. 🙁 |
21:28:46 | disruptek | ~paste |
21:28:47 | disbot | paste: 11a frowned-upon behavior in chat; please use a service such as https://play.nim-lang.org/ or http://ix.io/ or https://gist.github.com/ and supply us a URL instead. -- disruptek |
21:29:21 | FromDiscord | <Recruit_main_70007> https://play.nim-lang.org/#ix=2bUb |
21:29:55 | FromDiscord | <Recruit_main_70007> throws: |
21:29:55 | FromDiscord | <Recruit_main_70007> `Error: invalid pragma: dynlib: rlbotdll` |
21:34:49 | * | Jesin quit (Quit: Leaving) |
21:37:03 | * | solitudesf quit (Ping timeout: 268 seconds) |
21:37:22 | * | Jesin joined #nim |
21:37:38 | * | gpb joined #nim |
21:39:43 | FromGitter | <Varriount> Recruit_main_70007: You can't import a type from a dll |
21:40:19 | * | gpb quit (Remote host closed the connection) |
21:41:55 | * | gendarme quit (Remote host closed the connection) |
21:42:35 | * | gendarme joined #nim |
21:43:50 | * | natrys quit (Ping timeout: 268 seconds) |
21:48:31 | FromDiscord | <clyybber> dom96: Time for a forum rebuild? |
21:49:25 | disruptek | why so serious? |
21:53:05 | FromDiscord | <Recruit_main_70007> Varriount, ok thanks |
21:54:03 | FromDiscord | <clyybber> disruptek: supp |
21:54:24 | disruptek | sup dawg |
21:56:39 | * | couven92 joined #nim |
21:57:18 | * | natrys joined #nim |
22:08:47 | FromDiscord | <Elegant Beef> So my ECS seems to be now properly ECSd, it |
22:08:55 | FromDiscord | <Elegant Beef> it's a miracle what working on something does |
22:11:33 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:13:59 | FromDiscord | <Elegant Beef> Also didnt realize i didnt need to check for types when adding components |
22:14:08 | dom96 | clyybber: sure, time which I will hopefully find tomorrow |
22:14:28 | FromDiscord | <Elegant Beef> If the type isnt convertable to Component the compiler complains, which was unexpected to see |
22:16:23 | * | fvs quit (Quit: leaving) |
22:27:28 | * | marmotini_ quit (Remote host closed the connection) |
22:30:34 | FromGitter | <Varriount> Recruit_main_70007: And that's not a Nim limitation, type information isn't (usually) stored in DLLs |
22:30:53 | * | jjido joined #nim |
22:31:12 | FromGitter | <Varriount> Though, it's an interesting idea |
22:31:47 | * | JustASlacker quit (Ping timeout: 272 seconds) |
22:34:48 | * | natrys quit (Quit: natrys) |
22:35:01 | disruptek | leorize: ping |
22:43:21 | FromDiscord | <Recruit_main_70007> Varriount, yeah, I heard of that, but thought namespaces weren’t included in there |
22:44:34 | FromDiscord | <Recruit_main_70007> Thanks anyway |
22:44:49 | * | tane quit (Quit: Leaving) |
22:46:52 | FromDiscord | <clyybber> dom96: Awesome! |
22:47:21 | dom96 | Currently trying to get my game running on Android |
22:47:31 | dom96 | Amazingly, tougher to do than on iOS |
22:51:32 | disruptek | this test raises on g++/arc: |
22:51:36 | disruptek | # Exception on access |
22:51:36 | disruptek | let va = try: discard rOk.error; false except: true |
22:51:38 | disruptek | doAssert va, "not an error, should raise" |
22:51:51 | disruptek | .. from my badresults package. |
22:55:43 | disruptek | so #13065 just need the test disabled? |
22:55:45 | disbot | https://github.com/nim-lang/Nim/pull/13065 -- 3Better C++ based exception handling |
23:03:44 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:13:07 | * | ptdel quit (Ping timeout: 240 seconds) |
23:37:25 | * | abm quit (Quit: Leaving) |
23:43:33 | * | ptdel joined #nim |
23:51:47 | FromDiscord | <treeform> dom96, I am interested to know more about your android struggles. |
23:51:59 | FromDiscord | <treeform> even reading files on Android is hard. |
23:52:08 | FromDiscord | <treeform> I got stuck on just reading files |
23:53:03 | dom96 | I just got stuck on that :) |
23:53:06 | dom96 | I'm using SDL though |
23:53:12 | dom96 | which has its own magic for asset loading |
23:59:43 | dom96 | also, got weird crash when using sockets |