00:00:04 | FromDiscord_ | <Shield> I'm checking the difference between 0.20.2 and 0.19.0 for threads.nim and I'm not seeing any changes |
00:00:31 | FromDiscord_ | <Shield> for bohem at least |
00:00:49 | FromDiscord_ | <Shield> threads.nim got split into two files but that's affect other stuff |
00:01:06 | FromDiscord_ | <Shield> has to be something else |
00:01:27 | * | abm quit (Quit: Leaving) |
00:08:09 | shashlick | My suspicion is that the dlls didn't really load a gc in 0.19 |
00:08:20 | shashlick | For boehm so there wasn't any mixup |
00:08:31 | shashlick | And it probably got fixed |
00:09:09 | shashlick | I guess I could do a bisect |
00:32:37 | * | krux02_ quit (Remote host closed the connection) |
00:33:08 | FromDiscord_ | <Shield> did you try changing tlsEmulation flag? |
00:50:44 | FromDiscord_ | <Shield> gc_common.nim has some changes, but it's odd that the error points to gch.stack.bottom == nil |
00:51:14 | FromDiscord_ | <Shield> that logic is the same for both 0.19.0 and 0.20.2 |
01:00:40 | shashlick | Well I was using boehm in 0.19 so |
01:03:04 | shashlick | wonder where i can find libgo.dll, don't see anything |
01:05:24 | FromDiscord_ | <Shield> nimGC_setStackBottom is defined within a "when not defined(useNimRtl)" so how does that even work? I don't think it should enter that block if you use "useNimRtl" |
01:05:32 | FromDiscord_ | <Shield> maybe something wrong with flags? |
01:08:50 | FromDiscord_ | <Shield> could've sworn that i've seen go's binaries, I'm searching |
01:44:01 | FromDiscord_ | <Shield> sorry I couldn't find it |
01:50:24 | shashlick | no when you build nimrtl, it has a createNimRtl flag |
01:50:30 | shashlick | you cannot use it with the useNimRtl flag |
01:50:37 | shashlick | https://github.com/nim-lang/Nim/blob/v0.20.2/lib/system/inclrtl.nim#L22 |
01:50:42 | shashlick | so nimrtl gets built with that code |
01:51:02 | shashlick | i think the logic is that nimrtl still uses the regular gc so all standard gc stuff should be included |
01:51:53 | shashlick | i think i'll spend some time doing the bisect instead |
01:52:01 | shashlick | i suspect libgo.dll will also fail similar to boehm |
01:55:05 | * | lritter joined #nim |
02:08:30 | FromDiscord_ | <Shield> I don't see any logic to handle multithreading in go |
02:09:39 | FromDiscord_ | <Shield> nimGC_setStackBottom is empty in boehm when you don't use nimrtl |
02:13:52 | shashlick | looks like boehm is in mmdisp.nim |
02:13:56 | shashlick | looking at the history |
02:14:43 | FromDiscord_ | <Shield> yeah, nimGC_setStackBottom is defined in both gc_common and mmdisp, both are inside "when not defined(useNimRtl)" |
02:16:17 | shashlick | there's no real change in mmdisp between 0.19.6 and after tht's relevant |
02:19:17 | * | nif quit (Quit: ...) |
02:19:26 | * | nif joined #nim |
02:20:14 | FromDiscord_ | <Shield> check cgen.nim, it's injecting nimGC_setStackBottom calls and handles hcr so something was added there |
02:20:28 | FromDiscord_ | <Shield> otherwise I don't see how this function is called |
02:21:23 | FromDiscord_ | <Shield> without useNimRtl it's either empty or calls the thing which shows up in the error, with it it's just empty |
02:23:11 | FromDiscord_ | <Shield> can you give me your test case? |
02:23:36 | shashlick | let me try making a minimal test |
02:23:48 | shashlick | basically might need to load a dll with threads on |
02:26:26 | FromDiscord_ | <Shield> are you creating threads in the dll or the main exe? are you using spawn? |
02:26:45 | FromDiscord_ | <Shield> try to see what's inside nimrtl_nimGC_setStackBottom in the generated c file |
02:29:34 | shashlick | i'm creating threads in both |
02:29:47 | shashlick | but interestingly this crashes very early |
02:31:50 | leorize | shashlick: what kind of newruntime example do you need? IMO it's quite straight forward |
02:33:52 | shashlick | does newruntime support tables? |
02:36:04 | leorize | not atm, but I think you can port tables to newruntime |
02:36:24 | leorize | https://github.com/nim-lang/Nim/issues/11933 |
02:36:27 | leorize | cooldome is on it |
02:37:20 | shashlick | okay i'll wait then cause i use tables |
02:42:33 | FromDiscord_ | <Shield> doesn't newruntime mean that you have to implement '=', sink, and move for every type you use? |
02:45:10 | leorize | no |
02:45:17 | leorize | only if you want to use destructors |
02:46:27 | leorize | if your type contains destructible types, the compiler will generates `=destroy` for your type automatically |
02:48:12 | leorize | so most of the time you wouldn't have to make your own `=`, sink and destroy |
02:48:28 | * | lritter quit (Ping timeout: 246 seconds) |
02:49:22 | * | lritter joined #nim |
02:54:18 | FromDiscord_ | <Shield> cool, I have to wait for the libraries to catch up |
02:56:32 | shashlick | @Shield - i got a minimal example |
02:57:55 | FromDiscord_ | <Shield> post it |
02:58:09 | FromDiscord_ | <Shield> btw are you using a debugger? |
03:00:03 | shashlick | yes |
03:00:46 | shashlick | https://github.com/nim-lang/Nim/issues/11967 |
03:14:49 | FromDiscord_ | <Shield> I noticed that you aren't using boehm in the example, does that not matter? |
03:20:26 | FromDiscord_ | <Shield> it just crashes on my machine, no errors, just a message box |
03:21:39 | leorize | didn't Araq said nimrtl and threads was fixed long ago? and that the docs just aren't updated? |
03:25:25 | FromDiscord_ | <Shield> it crashes on joinThread |
03:28:54 | FromDiscord_ | <Shield> the message box points to nimrtl.dll |
03:37:33 | * | theelous3 quit (Ping timeout: 245 seconds) |
03:38:57 | FromDiscord_ | <Shield> using boehm it creates 6 extra threads and just hangs, I had to kill the process |
03:39:20 | FromDiscord_ | <Shield> I can't make sense out of it if there is no error messages |
03:43:09 | FromDiscord_ | <Shield> threads work fine without nimrtl, I think it's still broken |
03:45:07 | * | GaveUp quit (Ping timeout: 268 seconds) |
03:46:10 | shashlick | This example is for nimrtl |
03:46:14 | shashlick | Not boehm |
03:47:28 | FromGitter | <Varriount> Araq: Were you able to figure out that utf8 console thing? |
03:55:02 | FromDiscord_ | <Shield> same crash either way |
03:55:36 | * | chemist69 quit (Ping timeout: 252 seconds) |
03:57:39 | * | chemist69 joined #nim |
04:01:40 | * | dddddd quit (Remote host closed the connection) |
04:03:41 | * | GaveUp joined #nim |
04:30:15 | * | arecaceae quit (Remote host closed the connection) |
04:30:38 | * | arecaceae joined #nim |
04:40:23 | * | endragor joined #nim |
04:49:45 | * | endragor quit (Remote host closed the connection) |
05:20:42 | * | Jjp137 quit (Ping timeout: 268 seconds) |
05:22:40 | * | Jjp137 joined #nim |
05:25:11 | * | solitudesf joined #nim |
06:01:42 | * | narimiran joined #nim |
06:02:24 | * | narimiran quit (Remote host closed the connection) |
06:04:49 | * | narimiran joined #nim |
06:40:49 | * | Trustable joined #nim |
06:58:17 | * | krux02 joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:02:45 | * | ng0 joined #nim |
07:04:39 | * | gmpreussner joined #nim |
07:50:14 | * | Trustable quit (Remote host closed the connection) |
07:59:35 | * | Ven`` joined #nim |
08:01:51 | * | narimiran quit (Remote host closed the connection) |
08:02:46 | * | narimiran joined #nim |
08:36:01 | * | Trustable joined #nim |
08:45:30 | * | Trustable quit (Remote host closed the connection) |
08:49:41 | * | Trustable joined #nim |
08:53:46 | * | terps joined #nim |
08:56:59 | * | endragor joined #nim |
09:16:59 | dom96 | Araq, I may have found a bug in exception handling. I'm guessing iterators do some magic to set the `excHandler` in excpt.nim? |
09:29:01 | FromGitter | <alehander42> @mratsim do we have some BoW stuff in nim |
09:29:05 | FromGitter | <alehander42> (bag of words encoding?) |
09:46:43 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:51:04 | * | terps quit (Ping timeout: 264 seconds) |
10:13:31 | * | clyybber joined #nim |
10:13:40 | * | endragor quit (Remote host closed the connection) |
10:31:55 | FromDiscord_ | <Kiloneie> How is Nim's support for embeds ? I recall seeing posts and discussion on Rasberry Pi ? |
10:31:56 | * | theelous3 joined #nim |
10:34:04 | lqdev[m] | is it ok to use unsafe features of Nim for optimization purposes? |
10:34:45 | lqdev[m] | @Kiloneie well it can run on a Raspberry Pi, I managed to build 0.19.4 a while ago on mine |
10:35:22 | * | narimiran quit (Ping timeout: 246 seconds) |
10:36:58 | FromDiscord_ | <Kiloneie> Was is simple work ? Like if i were to say it supports such devices, that i would be correct ? |
10:37:22 | FromDiscord_ | <Kiloneie> I mean i know it works on them, but difficulty for new comers and the like |
10:41:32 | dom96 | There is no difficulty |
10:41:34 | dom96 | RPi runs linux |
10:41:49 | dom96 | you can even install via apt-get on Raspbian IIRC |
10:43:47 | FromDiscord_ | <Kiloneie> Does it run on Arduino as well ? |
10:44:28 | dom96 | it runs on everything C runs on |
10:44:34 | dom96 | Arduino is more challenging though |
10:44:54 | FromDiscord_ | <Kiloneie> Oh yeah of course C xD. Then it also runs on playstations |
10:45:00 | FromDiscord_ | <Kiloneie> everywhere |
10:46:13 | * | actuallybatman joined #nim |
10:47:40 | * | ng0 quit (Ping timeout: 260 seconds) |
10:48:39 | FromDiscord_ | <Kiloneie> I do have one Mbed laying around, should give it a try one day. |
10:56:12 | * | endragor joined #nim |
11:02:11 | * | ng0 joined #nim |
11:08:10 | Zevv | small embedded systems is also one of the things that should greatly benefit from the new runtime |
11:10:24 | krux02 | Kiloneie: Supporting Raspberry Pi is pretty straight forward. We do already support Linux and we do compile to C. So compiling to Rasberry Pi was just about getting some minor processor details correct. |
11:12:18 | krux02 | Kiloneie: We do not have a play station development kit. And since nobody without a dev kit can develop for a Play station we cannot claim that we have Playstation support. |
11:14:51 | * | dddddd joined #nim |
11:21:51 | FromDiscord_ | <Kiloneie> krux02 yeah i get that, nobody wants their indie games there anyways as you need a significant capital first, as license to get there without a company getting it cheaper for you, is quite expensive, especially if you need to update any critical errors you did not catch before release |
11:22:06 | clyybber | We have nintendo switch support tho |
11:22:42 | krux02 | same deal, we don't have hardware to test it on. |
11:23:04 | * | sagax quit (Remote host closed the connection) |
11:23:07 | krux02 | Somebody made it work at some point. But we would not know if it would break at some point. |
11:23:48 | clyybber | I thought about getting a switch, since I like the concept and CFW seems to be pretty advanced at this point |
11:24:53 | clyybber | But afaik in newer models the hardware bug allowing CFW to be flashed, is patched |
11:25:12 | krux02 | I have a switch and a play station. But as I said, neither Nintendo or Sony has interest to open their console for unlicensed third party softwar. |
11:26:40 | clyybber | krux02: Oh, sure. But you can flash CFW and then run unlicensed third party software |
11:27:11 | clyybber | krux02: Though I think nintendo may ban your console from their online service when caught |
11:27:40 | krux02 | Would that mean that I can't download my payed games anymore? |
11:27:54 | krux02 | Or does it mean no online multiplayer? |
11:28:18 | clyybber | krux02: It means no online multiplayer |
11:28:34 | * | actuallybatman quit (Ping timeout: 246 seconds) |
11:28:38 | krux02 | I could live with that. I am not using that part anyway. |
11:29:06 | krux02 | For some reason playing games with random dudes on the Internet that I wouldn't even talk to in real live doesn't really interest me. |
11:30:08 | clyybber | This is the most advanced CFW atm: https://github.com/Atmosphere-NX/Atmosphere |
11:30:53 | FromDiscord_ | <Kiloneie> Playing with randoms is cool(Warcraft 3 mods, the king of mods game), but talking to them using VoIP... nope, i draw the line there, most people don't like that either. |
11:31:08 | * | FromGitter quit (Remote host closed the connection) |
11:32:02 | krux02 | Yea, but I also have a raspberry PI. I would really enjoy if the Raspberry Pi would take over game consoles in General for simple and easy living room games. It is already very intuitive. The only thing that is missing in my opinion is, I can't pay for the games I play there. |
11:32:25 | FromDiscord_ | <Kiloneie> Yeah, all these consoles require their specific console's libraries/stuff. |
11:32:30 | * | FromGitter joined #nim |
11:32:50 | FromDiscord_ | <Kiloneie> Well marketing, and stuff, Raspberry Pi isn't exactly designed to run games. |
11:32:56 | clyybber | krux02: Do you have a 3B or the newer one? |
11:33:01 | krux02 | I have 3B |
11:33:05 | clyybber | Same |
11:33:06 | krux02 | I played many games on it. |
11:33:17 | FromDiscord_ | <Kiloneie> What's the max that board can handle ? |
11:33:17 | clyybber | I have put lakka on it and use it as an emulator home console |
11:33:28 | clyybber | Kiloneie: PS1 emulation I'd say |
11:33:43 | FromDiscord_ | <Kiloneie> okay so my first PC i ever had then |
11:33:50 | FromDiscord_ | <Kiloneie> Half life 2 and the like, but not Crysis |
11:33:54 | clyybber | Yeah |
11:33:55 | krux02 | for exaple Castlevania: Symphony of the Night is great. I also played with my brother Riven (Myst 2) |
11:34:27 | FromDiscord_ | <Kiloneie> I would be impressed if it could run Crysis 1. How much does that board cost ? |
11:34:48 | clyybber | Kiloneie: The newer model should be able to |
11:35:01 | clyybber | It costs around 35 bucks I think |
11:35:12 | krux02 | Riven is great to play on the Raspberry Pi. I took the Pi with to play with my brother during christmas and then later I took the game over to his house in Düsseldorf to continue our game there. |
11:35:54 | FromDiscord_ | <Kiloneie> it says 35 and more, which is like 45€ for me |
11:35:58 | krux02 | No online. just pure old scool adventure puzzle solving. |
11:36:54 | FromDiscord_ | <Kiloneie> 66.98 € + about 5€ shipping |
11:37:01 | FromDiscord_ | <Kiloneie> well... it's still cheap |
11:37:14 | FromDiscord_ | <Kiloneie> the 4GB model |
11:37:56 | krux02 | The Pi is worth its money. But I would relly like if it had more dedicated games for it. I know it isn't PS4 or even PS3 graphics. But to be honest, most games that I play are with practical graphics anyway. |
11:38:31 | FromDiscord_ | <Kiloneie> well ARM processor design is more power efficient, but it's gonna take decades to replace x86 platform, if ever... |
11:39:01 | FromDiscord_ | <Kiloneie> with AMD coming back like madman, it doesn't look like it will |
11:39:12 | krux02 | Games that I would really onjoy on the Pi are "Enter the Gungeon", "Brogue", "Spelunky". |
11:39:31 | FromDiscord_ | <Kiloneie> Enter the Gungeon thats great yes. |
11:39:44 | FromDiscord_ | <Kiloneie> Also Secrets of Grindea |
11:40:18 | krux02 | they are all Rogue likes, where "Brogue" is probably the most rogue like game you can get without actually playing "rogue". |
11:40:42 | krux02 | I think "rouge" would work on the PI. |
11:41:11 | FromDiscord_ | <Kiloneie> Well that's pacman graphics xD... that's a bit too old for me |
11:41:19 | krux02 | without emulation. I found out that Rogue is my package repository and I can just install and play it on a modern computer without emulation. |
11:42:19 | FromDiscord_ | <Kiloneie> Terraria should be good for that as well(as long as you don't blow the ocean, that will kill your Pi) |
11:42:38 | krux02 | Kiloneie: no Brogue is not Pacman graphics. It is charset graphics. It definitly needs some getting used to. But is a great and accessible game behind that. And if you know Diablo 1 you realize how much rogue is in it. |
11:43:56 | FromDiscord_ | <Kiloneie> I played D1 a tiny bit before Diablo 2, it was fun when i was like 7-8, then Diablo 2 took over for me. i can't get used to rigid graphics like that anymore. Zelda a link to the past is the best pixel graphics i can find for me, that is a nutz game. |
11:44:16 | FromDiscord_ | <Kiloneie> You gotta play it if you haven't |
11:45:35 | krux02 | I played both D1 and D2 and Zelda. I don't agree that Zelda has the best pixel graphics, nor did D2 took over D1 for me. |
11:45:49 | krux02 | I still prefor D1 oven D2 because the atmosphere is better. |
11:47:11 | krux02 | Zelda is a good game. Solid quality over the entire Lineup. But I don't think that any Zelda game is Outstanding. |
11:47:25 | krux02 | Anyway, we should talk Nim here not games. |
11:47:35 | krux02 | Even though it is weekend and I do like to talk about games. |
11:48:23 | clyybber | krux02: Enter the gungeon runs on raspberry pi |
11:48:37 | krux02 | clyybber: I have to check that one out. |
11:49:08 | clyybber | At least I remember seeing a video where it did |
11:49:15 | clyybber | I havent tried it out myself though |
11:50:05 | krux02 | well I would want a version that I can start from the retropi menue. When it requires the classic desktop, I don't really want it. Then I prefer to use my actual desktop. |
11:50:52 | FromDiscord_ | <Kiloneie> We need a games section for this xD, nobody uses offtopic lol. |
11:50:56 | krux02 | Regarding Nim, I would like to avertise a PR that I worked on and put some effort in. I would like to know from you what sucks about it: https://github.com/nim-lang/Nim/pull/11823/files |
11:51:54 | krux02 | Kiloneie: I like to make games in Nim, so it is fine to mention good games. It is all research :P. |
11:52:10 | * | stefanos82 joined #nim |
11:52:43 | FromDiscord_ | <me2beats> mingW found in Anaconda 3 |
11:52:43 | FromDiscord_ | <me2beats> https://cdn.discordapp.com/attachments/371759389889003532/612252463227207715/w.JPG |
11:54:06 | FromDiscord_ | <Kiloneie> Well since some of you said that in the background Godot Engine sucks, i would love to see an even better engine for 2D that Godot is in Nim |
11:54:42 | krux02 | Kiloneie: Regarding Terraria. It is a nice game, but too much grind. Do you know "Clonk"? That is what I played a ton of before Minecraft or Terrario existed (sadly it is a broken game). |
11:55:28 | FromDiscord_ | <Kiloneie> i used to use Game Maker a ton and it was great, but ever since i learned Godot, i can't even look at Game Maker anymore, it's just inferior in every way especially performance, which used to be GMs greatest problem for years. |
11:55:28 | FromDiscord_ | <Kiloneie> |
11:55:28 | FromDiscord_ | <Kiloneie> But i also don't agree with everything Godot does, it needs some Game Maker's touch of simplicity on it a bit more. |
11:55:55 | FromDiscord_ | <Kiloneie> Clonk, no never heard of. well Terraria is a grind, but nowhere near Diablo 2 xD |
11:56:33 | krux02 | Kiloneie: You can't make a general purpose 2D engine. An engien should have what you need. What you need depends on the kind of game you want to make. And then you can think about reusing old stuff and build up a library of useful stuff and call that an engine. But creating an engine without a Game in mind is stupid. |
11:56:42 | FromDiscord_ | <Kiloneie> did you know that hardest to drop item in Terraria is about 1:5000, whilst in diablo it's 1: 1 000 000(yes a million, and that's from a specific boss, everyone else has even worse drop rate) |
11:57:18 | krux02 | Kiloneien: the grind is why I did not like Diablo 2. The first one was much less grindy and had more memorable moments in it. |
11:57:21 | FromDiscord_ | <Kiloneie> I wouldn't say that it's stupid, but being general purpose has it's problems |
11:58:08 | FromDiscord_ | <Kiloneie> i would say it's strength comes from the speed of production, 2D games don't eat much performance, making Terraria in Godot is very much possible, and would probably run faster since Terraria is Full C# |
11:58:35 | FromDiscord_ | <Kiloneie> krux02 you don't need to grind in Diablo 2, jsut need the right build |
11:58:55 | krux02 | Kiloneien: When I play a game I don't want to care about drop rates. When I realize I start to care about such things I question if the game is still fun for me or if the game just tricked me into grinding. Usually I stop playing the game at that point. |
11:58:57 | FromDiscord_ | <Kiloneie> if you wan't the ultimate cookie cutter, play smiter xD that thing can do full uber tristram in like 4 seconds |
11:59:23 | krux02 | Kiloneie: If you just want to finish on normal, you don't need to grind. And that is also where I stopped playing the game. |
11:59:42 | FromDiscord_ | <Kiloneie> well Diablo 2's grind system is close to being the best one ever, even though the game is old as hell. |
12:00:14 | krux02 | I disrespect any grind system. I remember how my brother played the game. |
12:00:19 | krux02 | Baal run after Baal run. |
12:00:21 | FromGitter | <gogolxdong> Someone plays WOW? |
12:00:24 | FromDiscord_ | <Kiloneie> you gotta finish Hell, that's where real diablo beggins :P(i stopped on act 3 or 4 of hell , never finished either D: almost NO build works in hell) |
12:00:41 | krux02 | just the room befor Baal, not actually killing him, because of the XP. |
12:00:43 | FromDiscord_ | <Kiloneie> Baal run with bots or people is a cheap way of doing it |
12:00:49 | krux02 | That was not interesting to watch at all. |
12:01:08 | FromDiscord_ | <Kiloneie> best way is to go single player because netcode is so bad in diablo 2 |
12:01:28 | krux02 | well I have to go. |
12:01:39 | FromDiscord_ | <Kiloneie> try playing it right now, most hits wont hit because game shows you that you are on position idk 200 200, but in really you are not there at all |
12:01:42 | FromDiscord_ | <Kiloneie> have fun |
12:02:58 | krux02 | Kiloneien: every game is an illusion. XP, gold, your character. It is all just an illusion. |
12:03:09 | krux02 | If you don't forget that, you are less affected by grind. |
12:04:20 | FromDiscord_ | <me2beats> hey guys so do I need to patch mingw config if it is found on my system? I'm in finish.exe |
12:05:18 | FromDiscord_ | <Kiloneie> that's why i played Heroes of The Storm till 3 months ago, to become best of the best. i got close... Master rank, one day i will get to Grand Master, i know i can because i was half way to there already once, then the last time i played, that month i was destroying GMs left and right xD. That's my kind of grind. |
12:08:36 | * | krux02 quit (Remote host closed the connection) |
12:15:16 | * | nc-x joined #nim |
12:15:55 | nc-x | @zacharycarter Can you check this hcr fix https://github.com/nim-lang/Nim/pull/11971 with your project? |
12:21:16 | * | nc-x quit (Remote host closed the connection) |
12:22:50 | * | nsf joined #nim |
12:23:20 | * | endragor quit (Remote host closed the connection) |
12:31:32 | FromGitter | <zacharycarter> Sure, when I get home in about an hour I will |
12:32:10 | * | ng0 quit (Read error: Connection reset by peer) |
12:32:10 | * | leorize quit (Remote host closed the connection) |
12:35:07 | * | ng0 joined #nim |
12:36:19 | FromDiscord_ | <me2beats> yay! but for this I needed to add a variable to the Windows environment variables. I'm on Windows 7 now. |
12:36:19 | FromDiscord_ | <me2beats> https://cdn.discordapp.com/attachments/371759389889003532/612263428756865045/hello_world.JPG |
12:38:04 | * | leorize joined #nim |
12:39:13 | * | clyybber quit (Quit: WeeChat 2.5) |
12:46:47 | * | nsf quit (Quit: WeeChat 2.5) |
12:50:46 | * | nsf joined #nim |
12:53:38 | FromDiscord_ | <me2beats> I want to write apps and maybe games (mostly 2D) using nim. At the moment my main language is Python and I really like Kivy framework. I like the flexibility of the event system in it, work with kiivy properties, also kivy has quite convenient animation system (imo) and kv language. I love Python for conciseness and highlevelness. maybe you guys could suggest something on this topic that uses nim (pls) |
12:58:06 | * | terps joined #nim |
12:59:55 | * | nsf quit (Quit: WeeChat 2.5) |
13:00:05 | * | endragor joined #nim |
13:02:15 | FromGitter | <mratsim> @alehander42 https://github.com/Nim-NLP |
13:02:32 | FromGitter | <mratsim> Use nim-fasttext |
13:04:38 | * | endragor quit (Ping timeout: 245 seconds) |
13:06:57 | * | Trustable quit (Remote host closed the connection) |
13:11:31 | * | endragor joined #nim |
13:11:43 | * | endragor quit (Remote host closed the connection) |
13:14:46 | * | noonien joined #nim |
13:14:58 | noonien | hello folks |
13:15:03 | noonien | does nim have anything similar to go interfaces? |
13:21:22 | * | terps quit (Ping timeout: 252 seconds) |
13:27:09 | * | endragor joined #nim |
13:28:19 | FromGitter | <zacharycarter> nc-x: saw your comment about stack corruption needing to be fixed |
13:28:34 | FromGitter | <zacharycarter> wondering if Araq or someone else can provide some guidance about how that might be approached |
13:31:48 | FromGitter | <zacharycarter> although I don't see any special treatment for HCR in `gc.nim` or `gc_common.nim` |
13:31:50 | FromGitter | <zacharycarter> maybe that means there needs to be |
13:45:00 | * | narimiran joined #nim |
13:49:48 | * | joki1337 joined #nim |
13:50:23 | * | joki1337 quit (Client Quit) |
13:54:28 | * | NimBot joined #nim |
13:56:20 | FromGitter | <zacharycarter> There is this code in compiler/cgen.nim : https://github.com/nim-lang/Nim/blob/devel/compiler/cgen.nim#L1277-L1301 |
13:56:25 | FromGitter | <zacharycarter> I wonder if that has anything to do with this |
14:05:39 | * | Ven`` joined #nim |
14:08:03 | FromDiscord_ | <Shield> just to throw my opinion, making terraria in godot will certainly not be faster at all |
14:08:53 | FromDiscord_ | <Shield> XNA was and is still one of the fastest frameworks I ever tried, C# or not, it does magic, it also helps that it targets directx, which is available on ancient machines and generally has better drivers than opengl |
14:09:52 | FromDiscord_ | <Shield> godot is too wastful memory wise to have the same large maps |
14:10:04 | FromDiscord_ | <Shield> and also forget water physics on gdscript |
14:10:35 | FromDiscord_ | <Shield> godot is great for prototyping, but you'll start hitting walls insanly fast |
14:11:02 | FromDiscord_ | <Shield> if you're making something not too generic or simple |
14:13:03 | FromDiscord_ | <Shield> but I digress, would going from normal gc to newruntime require heavy code refactoring? I'm stuck waiting for it to be more mature |
14:14:44 | FromGitter | <deech> What is the best way of freeing a `proc` passed as a function pointer to a C function? Freeing the pointer itself is fine but what about the captured environment? |
14:22:05 | Araq | system.rawEnv gives you access to the environment pointer but I never used it |
14:26:04 | FromGitter | <deech> So how do you free a closure passed as a function pointers? |
14:27:55 | * | lritter quit (Quit: Leaving) |
14:31:08 | * | endragor quit (Remote host closed the connection) |
14:35:09 | * | terps joined #nim |
14:35:45 | Araq | mratsim: http://ithare.com/cppcon2017-day-2-why-local-allocators-are-a-good-thing-and-why-i-am-very-cautious-about-stl-paralellized-algos/ |
14:36:05 | Araq | deech: why do you need to free it? |
14:39:43 | FromGitter | <mratsim> @Araq yes totally agree, can we make creating pool allocators easy :P |
14:42:09 | FromGitter | <deech> When you pass a `proc`as an FP the GC presumably stops tracking it and it's captured environment because it has no way of knowing who owns it. |
14:48:39 | * | terps quit (Ping timeout: 264 seconds) |
14:48:50 | * | Ven`` quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
14:57:41 | FromDiscord_ | <Shield> shouldn't you use gc_ref and unref on it? |
15:01:38 | * | endragor joined #nim |
15:04:04 | * | sagax joined #nim |
15:06:11 | * | endragor quit (Ping timeout: 248 seconds) |
15:08:28 | Zevv | does anyone know what this guys problem could is? https://forum.nim-lang.org/t/5102 |
15:11:51 | FromDiscord_ | <me2beats> @Shield could you advise me some nim framework / library for creating gui apps using a lot of animation? I don't need widgets native look but I need it to be crossplatform |
15:13:19 | FromGitter | <deech> Shield, nice, had no idea that existed. |
15:13:21 | FromDiscord_ | <Shield> Zevv I remember having trouble with reading from files, it was related to linebreaks |
15:13:21 | * | theelous3 quit (Read error: Connection reset by peer) |
15:14:45 | FromDiscord_ | <Shield> windows come with its own little caveats |
15:16:28 | FromDiscord_ | <Shield> @me2beats did you try Dear ImGui? you can't go wrong with it, it uses opengl and is crossplatform |
15:16:59 | FromDiscord_ | <Shield> I didn't have much luck with anything else |
15:27:48 | skrylar[m] | i see some interesting links cropped up since i last read here |
15:28:29 | Zevv | shield: that was my guess as well, but the file is opened in binary mode, so I don't understand what is happening |
15:33:32 | * | go|dfish quit (Ping timeout: 258 seconds) |
15:34:49 | skrylar[m] | Clonk was neat. Godot doesn't suck in the background per se but they have... interesting... priorities |
15:37:42 | FromDiscord_ | <Kiloneie> Is anyone making a Nim graphical library ? |
15:38:06 | FromDiscord_ | <Kiloneie> That is, not a wrapper/bind of an existing C/C++ library ? |
15:40:43 | FromDiscord_ | <Kiloneie> okay this might be it: https://nimble.directory/pkg/rapid |
15:40:43 | FromDiscord_ | <Kiloneie> not sure |
15:41:21 | * | nsf joined #nim |
15:51:36 | * | Trustable joined #nim |
15:53:33 | * | hoijui joined #nim |
15:56:15 | FromGitter | <mratsim> Punch had some GUI lib |
15:56:22 | FromGitter | <mratsim> PMunch* |
15:59:41 | Calinou | skrylar[m]: out of curiosity, what do you mean by interesting priorities? |
15:59:59 | Calinou | just a reminder, in open source projects, people work on what they want to work on :) |
16:02:16 | * | hoijui quit (Quit: Leaving) |
16:07:27 | * | endragor joined #nim |
16:09:45 | * | go|dfish joined #nim |
16:12:31 | * | endragor quit (Ping timeout: 268 seconds) |
16:15:27 | * | go|dfish quit (Ping timeout: 245 seconds) |
16:23:25 | FromDiscord_ | <Shield> not when they switched to patreon, it seems that the engine is making a lot of revenue making tutorials about the engine instead of making games |
16:24:42 | FromDiscord_ | <Shield> they also waste time on silly things like renaming words and postponing good features or merging useful PRs |
16:24:51 | FromDiscord_ | <Shield> running in circles give them more profit it seems |
16:25:44 | * | snooptek quit (Remote host closed the connection) |
16:28:43 | FromDiscord_ | <Shield> I may be a more salty about it than I should tho |
16:28:55 | FromDiscord_ | <Shield> a bit* |
16:29:58 | * | go|dfish joined #nim |
16:44:19 | * | wildtrees joined #nim |
16:47:21 | Calinou | most likely, yeah :P |
16:48:05 | Calinou | I don't mean what you mean by "revenue making tutorials about the engine" though. The paid courses that are being advertised aren't sold for the Godot foundation's profit |
16:48:27 | Calinou | Godot is under the umbrella of the Software Freedom Conservancy, in fact, the developers *cannot* sell something that has a market value since it's a 501(c)(3() organization |
16:48:39 | Calinou | this is why none of the Patreon perks have a market value |
16:49:21 | FromGitter | <zacharycarter> Kiloneie: What do you mean by a `Nim graphical library`? |
16:50:02 | FromGitter | <zacharycarter> I think Godot just gets way too much hype for what it is - if and when someone produces something technically impressive with it, I might change my tune |
16:50:15 | FromGitter | <zacharycarter> For now it seems to me like it's good for 2d games and that's about it |
16:50:17 | lqdev[m] | @Kiloneie yeah, that's a game library made (almost) from scratch. it's not pure Nim though |
16:51:01 | FromGitter | <zacharycarter> I just don't know if Kiloneie meant something like bgfx / gfx-rs / magnum or a game library |
16:51:22 | lqdev[m] | I mean, you can use rapid as just a gfx library no problem. the engine part is optional |
16:51:44 | Calinou | I feel the hype is mostly justified, it's kind of a paradigm shift compared to all the previous open source engines out there |
16:51:49 | lqdev[m] | the API is sort of similar to JS canvas, but optimized for OpenGL |
16:52:10 | Calinou | some people blow it out of proportion, but still, it's a huge step up from "use C++ for everything" which was the status quo in open source until Godot came by |
16:52:26 | Calinou | (I remember unironically telling people to mod id Tech 3/4 instead of using Unity…) |
16:52:33 | Calinou | that was before Godot was open sourced, that is |
16:53:00 | FromGitter | <zacharycarter> I don't think the status quo was use C++ for everything - plenty of engines had scripting languages before godot |
16:53:09 | FromGitter | <zacharycarter> godot just makes you learn one you can only use in Godot |
16:53:18 | FromGitter | <zacharycarter> with questionable reasoning as to why as well |
16:53:30 | Calinou | it's explained in the documentation :) |
16:53:48 | FromGitter | <zacharycarter> I know it's explained - the explanation is what I'm quesitoning |
16:53:56 | FromGitter | <zacharycarter> or one thing I question about the engine anyway |
16:53:57 | Calinou | when you're able to understand a few programming languages, learning one more is not that difficult in my experience |
16:54:05 | FromGitter | <zacharycarter> that's not really the point |
16:54:14 | Calinou | you had to learn Nim after all to be part of this community :P |
16:54:18 | FromGitter | <zacharycarter> I don't want to learn another one that I can only apply when I'm using Godot |
16:54:30 | FromGitter | <zacharycarter> I wanted to use Nim and it's 1000% more useful than GDSCript |
16:55:09 | FromGitter | <zacharycarter> I'm glad UE4 doesn't have UDK Script anymore |
16:55:18 | skrylar[m] | Calinou: there was some drama about people trying to patch in or suggest i think high efficiency work stealing queues and it was kiboshed with the rationale that godot wasn't attempting to compete against AAA-level console engines and was gonna just keep using dicts and lists for all the things. so the engines set to be better than the usual NW.js backed engine but they're not interest in UE grade stuff |
16:55:18 | FromGitter | <zacharycarter> or whatever it was called |
16:55:43 | Calinou | skrylar[m]: oh, to be fair, that contributor was very uncooperative in finding a compromise |
16:56:08 | Calinou | they are smart, but they have trouble dealing with others online… |
16:56:11 | FromDiscord_ | <me2beats> @Shield thanks I'll have a look at this |
16:56:17 | skrylar[m] | gdscript is basically python but smaller and with some syntax additions that make it fit the environment better, so i don't really mind. although i got bit by its weird interpretaion of by-reference |
16:56:44 | skrylar[m] | there was a nimdot package, dunno if its up to date. you certainly can use whatever with godot through gdnative and an api |
16:56:54 | Calinou | the Nim bindings aren't really maintained anymore, it seems |
16:57:43 | skrylar[m] | i never used udk script but i can't really condemn an engine specific script unless its bad (LSL) but often they have certain shims and tweaks that make them fit their host better |
16:57:57 | Calinou | Quake used QuakeC after all ;) |
16:58:10 | Calinou | (and that was a really bad language, even for its time) |
16:58:23 | skrylar[m] | gd's is that its meant to have a heavy number of small scripts in many nodes which is something that doesn't really work with an off the shelf (usually you see big globbing lua files or the like) |
16:59:55 | skrylar[m] | as for 2d no, i tried a littl once but didn't get any traction in the irc for opinions on api design and whatnot. i have a fltk binding and a currently untested gdk one, with the point of putting a haiku-esque api on top but that has taken a backseat for a while |
17:10:30 | * | krux02 joined #nim |
17:14:18 | FromGitter | <zacharycarter> I'd rather just cobble together libraries than use an engine like Godot |
17:14:26 | FromDiscord_ | <Shield> don't get me wrong, I had far more fun with godot than unity, it's also amazingly small, compare like 100mb of the engine and its export templates with a bunch of gigs and a slow mess to start |
17:14:54 | FromDiscord_ | <Shield> I also don't like to judge a tool by what was made using it, a tool is a tool, you don't rely on other people to show you what you can do with it |
17:14:59 | FromGitter | <zacharycarter> speaking of which - I'm going to give Magnum a spin tonight |
17:15:24 | skrylar[m] | i appreciate being able to just import assets and fire off tweens or rig up complex animations with the timeline tool |
17:15:43 | skrylar[m] | in 2.x it used to even bake the atlasses for you but they decided those aren't important for some reason |
17:15:53 | FromDiscord_ | <Shield> and complaining that gdscript as a disadvantage is weird, I picked it up in 10mins, it's simplified python, and object inheritence works like nim, simple and easy |
17:16:21 | skrylar[m] | a simple way to do nim<->gdnative would be nice though |
17:16:21 | FromDiscord_ | <Shield> syntax can be exclusive, but programming concepts are shared by all languages |
17:17:07 | skrylar[m] | i had a bug bear where trying to do procedural world gen was an.. adventure, since things like structs don't exist nor do user classes you have to instantiate them by require/loading the .gd file itself and then running a constructor |
17:18:10 | * | laaron joined #nim |
17:18:47 | FromDiscord_ | <Shield> if you want a shitty scripting language, try game maker's GML |
17:19:00 | * | endragor joined #nim |
17:19:19 | FromDiscord_ | <Shield> to this day I'm surprised people tolerated that mess for this long, it's a feat of its own |
17:21:35 | skrylar[m] | the visual scripting was nice though |
17:22:02 | skrylar[m] | have looked at janet slightly but i'm not sure if i'd say its better than lua+fennel |
17:22:43 | skrylar[m] | luavm is one of very few script vms you can reliably run untrusted code on because you can fully sandbox memory use and you can hook the debug api to prevent infinite loops |
17:24:10 | * | endragor quit (Ping timeout: 246 seconds) |
17:36:00 | skrylar[m] | gitea has been taking me for a wild ride today. accepts gpg keys, then fails when trying to load ssh keys. then it lets you push a repo with http auth, but only after you make a special access token because 2fa, but you cant clone from http first because git says http isn't supported :confu |
17:37:17 | * | laaron quit (Quit: ZNC 1.7.1 - https://znc.in) |
17:37:45 | * | laaron joined #nim |
17:50:16 | Calinou | skrylar[m]: atlas support will be back in 3.2, it's already in the `master` branch :) https://godotengine.org/article/atlas-support-returns-godot-3-2 |
17:51:29 | * | endragor joined #nim |
17:56:07 | * | endragor quit (Ping timeout: 268 seconds) |
17:58:05 | * | endragor joined #nim |
18:03:16 | FromDiscord_ | <Shield> my issue from 2017 on 2.1.4 is still open and still relevant for the new version.... |
18:15:12 | FromDiscord_ | <me2beats> After I downloaded some repo, for example nimx, how to use it? Do I need to do something with some config files? |
18:18:21 | FromDiscord_ | <me2beats> Ah it seems I can use nimble install |
18:19:46 | * | endragor quit (Remote host closed the connection) |
18:27:44 | lqdev[m] | Calinou: meanwhile my engine has a built-in texture packer so you don't need an atlas at all |
18:27:51 | lqdev[m] | seriously tho, why don't more people use these |
18:28:29 | lqdev[m] | I'm considering making texture packing automatic, so you can' |
18:28:46 | lqdev[m] | s/can'/can't screw up your performance |
18:39:07 | * | actuallybatman joined #nim |
19:02:33 | * | oalvarez quit (Ping timeout: 245 seconds) |
19:07:14 | * | oalvarez joined #nim |
19:09:01 | * | oalvarez quit (Client Quit) |
19:24:47 | Calinou | @Shield which issue? |
19:27:28 | skrylar[m] | @lqdev probably cause the maxrects paper is hard to find unless you already know to look for it |
19:31:19 | FromGitter | <awr1> @zacharycarter what is magnum? |
19:31:58 | skrylar[m] | they also have that 'largetexture' type and i dunno if thats SVT textures or what |
19:32:07 | skrylar[m] | svt textures were kind of fascinating once |
19:32:27 | FromGitter | <awr1> unreal has turned me off visual scripting |
19:32:34 | FromGitter | <awr1> too easy to get into a big mess |
19:33:17 | FromDiscord_ | <Shield> Calinou tooltips render wrong when you zoom, sometimes they don't even show up in the viewport, which defeats the purpose of tooltips |
19:33:41 | Calinou | ah, I see. I suppose this is an issue with GraphEdit? |
19:34:00 | Calinou | if this is in a project, you may want to implement your own tooltips as you will have much more control over them (position, animation, etc) |
19:35:21 | FromDiscord_ | <Shield> it was crucial for a menu heavy game, kinda silly but it's the little things that get to me, there was also another problem that I can't remember |
19:35:57 | FromDiscord_ | <Shield> you also cannot load assets from another threads, with also defeats the purpose, no streamless level loading |
19:36:15 | FromDiscord_ | <Shield> which* |
19:36:20 | FromGitter | <awr1> the thing with nimscript (the last time I looked with) was that I would like to use it as a scripting language but integrating compiled procedures to script-side is too tedious |
19:36:27 | FromGitter | <awr1> it needs to be dead simple to be attractive |
19:36:27 | FromDiscord_ | <Shield> seamless |
19:36:47 | Calinou | texture streaming is planned for 4.0 as part of the Vulkan renderer rewrite :) |
19:36:50 | skrylar[m] | hmm visual scripting as in gdevelop or mmf are nice. visual scripting as in gd's noodles not so much |
19:37:06 | FromDiscord_ | <Shield> damn I need to sleep |
19:37:11 | FromGitter | <awr1> 1) 0 of what? |
19:37:18 | FromGitter | <awr1> oh godot |
19:37:33 | FromGitter | <awr1> texture streaming is so tricky |
19:37:44 | skrylar[m] | they're nice for "glue" if you can have like fungus does where a linear stack of "this character says ..." "shake screen" and then go to noodles to deal with branching |
19:37:48 | skrylar[m] | noodles for expressions is godawful |
19:37:50 | * | FromGitter quit (Read error: Connection reset by peer) |
19:38:08 | * | FromGitter joined #nim |
19:38:29 | FromGitter | <awr1> also nimscript needs to be reliably sandboxable |
19:38:47 | FromDiscord_ | <Shield> asset loading is a problem and I believe that in 2019 we shouldn't have loading screens at all |
19:38:56 | FromDiscord_ | <Shield> or any slowdown |
19:38:59 | Calinou | most games still have loading screens though :) |
19:39:23 | FromDiscord_ | <Shield> for 3d games, sure, for 2d games, it's a mistake |
19:39:56 | * | FromGitter quit (Read error: Connection reset by peer) |
19:40:14 | * | FromGitter joined #nim |
19:40:24 | FromDiscord_ | <Shield> also "waiting for godot" is a big meme, 3.0 took long enough, nobody wants to bank on 4.0, but that's another subject |
19:41:05 | Calinou | if you're working on a polished game, by the time your game is ready to release, 4.0 will likely be out :) |
19:42:33 | FromDiscord_ | <Shield> I'd only want to use an engine for crossplatform, I say nim will have better android support before 4.0 will be out |
19:42:44 | FromGitter | <awr1> during that xbox project whatever-it's called (the planned successor to the xb1, the name escapes me) thing they showed at E3 they mentioned something along the lines "using the SSD as virtual RAM" and i had to wonder if that is either "we have a pagefile now" or, more futuristically , some type of new I/O configuration where SSDs being able to mmap directly into VRAM, which could be a HUGE win for quick asset loading |
19:43:20 | FromDiscord_ | <Shield> btw, I heard a lot of devs talking how the switch was really easy to port to |
19:43:33 | Calinou | the Switch has a Tegra X1 after all, with Vulkan support |
19:43:53 | FromGitter | <awr1> yeah but a lot of developers for the switch don't use vulkan, they use NVN or w/e it's called |
19:44:25 | FromGitter | <awr1> undocumented magic nvidia API : - ) |
19:44:49 | FromGitter | <awr1> (publicly undocumented) |
19:46:52 | FromDiscord_ | <eagle> ```Note however that Nim is both case- and underscore-insensitive meaning that helloWorld and hello_world would be the same name. The exception to this is the first character, which is case-sensitive. Names can also include both numbers and other UTF-8 characters, even emojis should you wish that, but keep in mind you and possibly others will have to type them.``` |
19:46:52 | FromDiscord_ | <eagle> WHYYYYY ? |
19:47:02 | FromDiscord_ | <eagle> ```Note however that Nim is both case- and underscore-insensitive meaning that helloWorld and hello_world would be the same name. The exception to this is the first character, which is case-sensitive. Names can also include both numbers and other UTF-8 characters, even emojis should you wish that, but keep in mind you and possibly others will have to type them.```WHYYYYY ? |
19:47:37 | FromDiscord_ | <Shield> it's a feature 😄 |
19:48:02 | FromGitter | <awr1> the case insensitivity thing is like the first thing everybody new to Nim complains about and then when you get into Nim you quickly learn that it really isn't that big of a deal |
19:48:03 | FromDiscord_ | <Shield> the only thing I'll miss is using underscore at the beginning of variable names |
19:49:22 | FromDiscord_ | <Shield> no more fights between camelcase and other conventions, I like it |
19:49:22 | Calinou | the style guide recommends using camelCase anyway |
19:49:32 | Calinou | so if you stick to it, you won't run into trouble |
19:49:37 | FromDiscord_ | <eagle> ``` |
19:49:37 | FromDiscord_ | <eagle> hello_world |
19:49:37 | FromDiscord_ | <eagle> hElLoWoRlD |
19:49:38 | FromDiscord_ | <eagle> h_e_l_l_o_w_o_r_l_d |
19:49:38 | FromDiscord_ | <eagle> ``` |
19:49:38 | FromDiscord_ | <eagle> it's the same var |
19:49:49 | FromDiscord_ | <eagle> ``` |
19:49:49 | FromDiscord_ | <eagle> hello_world |
19:49:49 | FromDiscord_ | <eagle> hElLoWoRlD |
19:49:49 | FromDiscord_ | <eagle> h_e_l_l_o_w_o_r_l_d |
19:49:49 | FromDiscord_ | <eagle> ```it's the same var |
19:49:56 | skrylar[m] | @awr1 could just be optane |
19:50:03 | solitudesf | dont edit messages in discord |
19:50:07 | FromGitter | <awr1> considering what araq's original inspirations were for nim, it's a loaned feature from ada |
19:50:29 | solitudesf | they get sent each time you edit to irc |
19:50:36 | skrylar[m] | i don't really like the partial insensitivity. i preferred back when it was full insensitivity |
19:50:38 | FromDiscord_ | <eagle> sorry |
19:50:57 | FromGitter | <awr1> you can enable strict case sensitivity with a compiler flag |
19:51:14 | skrylar[m] | that is the opposite of what i want so 10/10 |
19:51:45 | FromGitter | <awr1> but yeah it's useful if you're like, linking to a C library that uses snake_case and you want to do NEP-1 style throughout your project |
19:51:58 | skrylar[m] | now that its partially conditional it does have a higher cognitive load because theres this magic one glyph that it matters on, whereas otherwise it was just "this is always how it works" |
19:52:26 | FromDiscord_ | <Shield> partial insensitivity is good, I like to keep my types starting with uppercase, and I want to use lowercase for variables without conflicting |
19:52:42 | FromGitter | <awr1> agreed on the partial insensitivity front |
19:52:55 | skrylar[m] | never had a problem with the t prefixes -shrug- |
19:53:15 | FromGitter | <awr1> T prefixes remind me too much of C's _t |
19:53:52 | FromGitter | <awr1> i actually didn't find out until recently that apparantly _t is meant to be reserved for posix/stdlib stuff only |
19:54:01 | FromDiscord_ | <Shield> hungarian notation is extra noise |
19:54:59 | skrylar[m] | i have an anti-RSI script in my emacs that auto-types the snakes for identifiers |
19:55:02 | FromDiscord_ | <Shield> that's typing extra letters before autocomplete is helpful |
19:55:10 | skrylar[m] | well it reads - and turns it conditionally in to _'s |
19:55:31 | FromGitter | <awr1> but yeah almost everyone new to nim will complain about the syntax, either by virtue of "where are my curly braces" or "case insensitivity blegh" |
19:55:51 | skrylar[m] | its different so it bad |
19:56:16 | * | nif quit (Quit: ...) |
19:56:26 | * | nif_ joined #nim |
19:56:31 | FromDiscord_ | <Shield> nonsense, I'd rather have "end" key word like lua than curly braces |
19:57:24 | FromGitter | <awr1> can't say i'm a fan of wirth-ian syntax, but to each their own |
19:57:44 | FromGitter | <zetashift> @awr1 I think zachary means this with Magnum: https://magnum.graphics/ |
19:57:48 | skrylar[m] | i would rather have parens because paredit ;) |
19:58:08 | skrylar[m] | well, lispy-mode or parinfer |
19:58:08 | FromGitter | <awr1> oh no |
19:58:09 | FromGitter | <awr1> Nimlisp |
19:58:21 | skrylar[m] | (setf (jobstate) 'good) |
19:58:42 | skrylar[m] | i have a partial clone of tab9 in nim somewhere too |
20:11:28 | FromGitter | <awr1> (https://files.gitter.im/nim-lang/Nim/EQdT/image.png) |
20:11:30 | FromGitter | <awr1> meanwhile, in bizarro world |
20:13:19 | FromDiscord_ | <me2beats> what's wrong here? |
20:13:19 | FromDiscord_ | <me2beats> ```nim |
20:13:20 | FromDiscord_ | <me2beats> template times(x: expr, y: stmt): stmt = |
20:13:20 | FromDiscord_ | <me2beats> for i in 1..x: |
20:13:20 | FromDiscord_ | <me2beats> y |
20:13:20 | FromDiscord_ | <me2beats> |
20:13:20 | FromDiscord_ | <me2beats> 10.times: |
20:13:22 | FromDiscord_ | <me2beats> echo "Hello World" |
20:13:23 | FromDiscord_ | <me2beats> ``` |
20:14:07 | FromGitter | <awr1> stmt is obsolete, use untyped |
20:14:59 | FromGitter | <awr1> so is expr i believe. you can just use int there |
20:17:37 | FromDiscord_ | <me2beats> works! cool |
20:17:51 | FromDiscord_ | <eagle> ``` |
20:17:51 | FromDiscord_ | <eagle> proc f(x: int): int = x + x |
20:17:51 | FromDiscord_ | <eagle> |
20:17:51 | FromDiscord_ | <eagle> echo f 2 |
20:17:51 | FromDiscord_ | <eagle> echo 2.f |
20:17:51 | FromDiscord_ | <eagle> echo f(2) |
20:17:52 | FromDiscord_ | <eagle> ``` this us true ? |
20:17:58 | FromDiscord_ | <eagle> ils* |
20:18:04 | FromDiscord_ | <eagle> is* |
20:18:50 | FromGitter | <awr1> please don't post markdown directly, use https://play.nim-lang.org/ |
20:19:11 | FromGitter | <awr1> also all of those work, yes |
20:19:51 | FromDiscord_ | <eagle> ok sorry for markdown and thanks |
20:27:01 | * | stefanos82 quit (Quit: Quitting for now...) |
20:28:06 | FromDiscord_ | <Shield> "echo f 2" works when there's no ambiguity |
20:28:37 | lqdev[m] | same with expr, use typed |
20:28:54 | FromDiscord_ | <Shield> I which syntax highlight worked properly for command calls, they are cool |
20:29:50 | planetis[m] | its --styleCheck:error btw |
20:30:12 | * | Trustable quit (Remote host closed the connection) |
20:31:46 | planetis[m] | and you will get error message: x.nim(95, 12) Error: 'helloworld'' should be: 'helloWorld'' |
20:33:55 | * | nsf quit (Quit: WeeChat 2.5) |
20:43:47 | * | narimiran quit (Ping timeout: 248 seconds) |
20:48:28 | FromDiscord_ | <me2beats> I installed nimx using nimble (yay), but in which folder? Want to see the files |
20:51:13 | FromDiscord_ | <Shield> C:\Users\[user name]\.nimble\pkgs on windows |
20:51:51 | FromDiscord_ | <Shield> \user name\ |
21:02:20 | FromDiscord_ | <me2beats> found it, cool! today I have a little chaotic acquaintance with Him. The syntax is really impressive. I program on Python mostly. Yet |
21:02:31 | FromDiscord_ | <me2beats> found it, cool! today I have a little chaotic acquaintance with Nim. The syntax is really impressive. I program on Python mostly. Yet |
21:14:04 | * | solitudesf quit (Ping timeout: 268 seconds) |
21:14:45 | * | abm joined #nim |
21:17:42 | * | solitudesf joined #nim |
21:23:08 | * | sagax quit (Remote host closed the connection) |
21:38:26 | planetis[m] | There was a rant on the forum, from a minth ago, about object construction syntax. Op didn't like to repeat field names, but i cant find it now. Does anyone remember what was discussed? |
21:38:38 | planetis[m] | *month |
21:39:37 | * | solitudesf quit (Ping timeout: 245 seconds) |
21:43:09 | Araq | use a macro to create a shortcut |
21:48:26 | planetis[m] | I just use a lowercase'd proc (like point(1, 1)) but I guess that doesnt comply to nep1 |
21:50:33 | planetis[m] | sorry I meant the expression T(fielda: myvar, ...) |
22:01:08 | planetis[m] | Btw all the recent changes, better error messages, tables are autoinit, assert working with command syntax, style check, etc... improve the quality of life and are very appreciated :) |
22:24:07 | zedeus | is there a way to force expansion of a macro call inside another macro call? like call1: call2() |
22:27:37 | * | snooptek joined #nim |
22:38:30 | * | gangstacat quit (Quit: Ĝis!) |
22:41:24 | * | sagax joined #nim |
22:44:42 | * | krux02 quit (Remote host closed the connection) |
23:15:00 | FromDiscord_ | <Shield> there's a function to expand a macro, not sure if that's what you want |
23:16:48 | zedeus | nah, I mean executing the macro to insert its output into the AST instead of it getting pass as nnkCall |
23:27:49 | * | Jesin quit (Ping timeout: 246 seconds) |
23:28:54 | * | Jesin joined #nim |
23:37:00 | * | ng0 quit (Quit: Alexa, when is the end of world?) |