00:09:42 | FromDiscord | <demotomohiro> In reply to @knakas "Is there a bounty": Supporting Apple II might possible if gcc or clang support that machine and OS. |
00:13:35 | FromDiscord | <knakas> There is a cc-65 cross compiler, which doesn’t seem to be nim compatible, but llvm-mos is a cross compiler that supports the 6502 but seems to be focused on the c64. (They share a processor). Seems that cross compilation is the path, but a much bigger lift than I am capable of. |
00:14:18 | FromDiscord | <knakas> https://www.thehans255.com/blog/2023/08/apple-ii-llvm-port-part-1/ |
00:23:28 | FromDiscord | <zumi.dxy> sent a long message, see https://pasty.ee/hSZBuNAS |
00:32:29 | FromDiscord | <knakas> Oh that would require me to learn c. There is a reason I’m in this discord! 🤣 |
00:40:58 | * | alexdaguy joined #nim |
00:41:59 | * | _________ quit (Ping timeout: 255 seconds) |
00:43:52 | * | _________ joined #nim |
01:06:24 | * | cornfeedhobo quit (Remote host closed the connection) |
01:06:25 | * | casaca quit (Ping timeout: 260 seconds) |
01:06:25 | * | johuck quit (Ping timeout: 260 seconds) |
01:09:46 | * | johuck joined #nim |
01:09:49 | * | casaca joined #nim |
01:11:10 | * | cornfeedhobo joined #nim |
01:30:20 | * | robertmeta quit (Ping timeout: 260 seconds) |
01:31:59 | * | robertmeta joined #nim |
01:52:07 | * | _________ quit (Ping timeout: 252 seconds) |
01:53:00 | * | alexdaguy quit (Quit: WeeChat 4.4.2) |
01:54:10 | * | _________ joined #nim |
02:25:16 | * | cornfeedhobo quit (Remote host closed the connection) |
02:25:16 | * | pmp-p quit (Quit: No Ping reply in 180 seconds.) |
02:25:58 | * | pmp-p joined #nim |
02:26:01 | * | _________ quit (Ping timeout: 265 seconds) |
02:26:01 | * | jkl quit (Ping timeout: 265 seconds) |
02:26:51 | * | _________ joined #nim |
02:27:12 | * | jkl joined #nim |
02:28:02 | * | cornfeedhobo_ joined #nim |
02:35:58 | * | lucasta quit (Quit: Leaving) |
03:03:17 | FromDiscord | <shortymaster> Going through the Nim tutorial, I'm constantly impressed by Nim's flexibility and in-built syntax features. ↵ - (I'm not an experienced programmer, and my first language was Rust, shortly followed by C and Java).↵Is there anything especially interesting features of Nim some of the more aquainted devs find useful? |
03:03:51 | FromDiscord | <shortymaster> (edit) "Java).↵Is" => "Java).↵Are" | "anything" => "any" |
03:05:29 | FromDiscord | <zumi.dxy> https://peterme.net/tips-and-tricks-with-implicit-return-in-nim.html |
03:34:26 | FromDiscord | <.bobbbob> everyone says macros are cool (but ive never onced used them) |
04:02:50 | FromDiscord | <zumi.dxy> macros are useful but you don't need them most of the time as a user |
04:03:11 | FromDiscord | <zumi.dxy> as a library author though, you might use them to provide syntactic sugar |
04:03:29 | FromDiscord | <zumi.dxy> although you would use templates first, when you can |
04:03:56 | FromDiscord | <zumi.dxy> (edit) "although you would use templates first, ... whenit's" added "and only" | "and onlywhen ... youwant" added "it's not possible to do what" | "can" => "want you resort to macros" |
05:49:17 | * | ntat joined #nim |
06:23:32 | * | SchweinDeBurg quit (Quit: WeeChat 4.5.0-dev) |
06:23:57 | * | SchweinDeBurg joined #nim |
06:24:49 | * | kenran joined #nim |
07:08:59 | FromDiscord | <pmunch> In reply to @.bobbbob "everyone says macros are": You're missing out |
07:09:38 | FromDiscord | <pmunch> And sure, what Zumi said is generally correct. But I always find some use for tiny macros to just clear things up in my code. |
07:10:17 | FromDiscord | <pmunch> It's one of those things that when you know they exist and how to use them you will forever miss them in any language which doesn't have them |
08:22:46 | * | ntat quit (Quit: Leaving) |
08:36:40 | FromDiscord | <bubbly_avocado_86424> 'morning↵↵is there a way for a loop to call itself without looping infinitely ? |
08:41:43 | FromDiscord | <ayex> right, but when you actually need them, it is awesome these powerful constructs are available. 😀↵(@zumi.dxy) |
08:43:37 | FromDiscord | <k0ts> In reply to @bubbly_avocado_86424 "'morning is there": As in a recursive proc whose body contains a loop? |
09:44:33 | * | johuck quit (Read error: Connection reset by peer) |
09:44:35 | * | casaca quit (Read error: Connection reset by peer) |
09:49:38 | FromDiscord | <bubbly_avocado_86424> In reply to @k0ts "As in a recursive": looks like that i think |
09:57:00 | * | adigitoleo quit (Ping timeout: 248 seconds) |
09:57:12 | * | ursa-major quit (Ping timeout: 246 seconds) |
09:57:50 | * | noeontheend quit (Ping timeout: 260 seconds) |
09:58:25 | * | robertmeta quit (Ping timeout: 260 seconds) |
09:58:50 | FromDiscord | <k0ts> Sure, you just need an exit condition. So do the recursive call only if some condition is met, or break if some condition is met. |
09:59:23 | FromDiscord | <bubbly_avocado_86424> how do i break that loop ? |
09:59:35 | * | mronetwo quit (Ping timeout: 272 seconds) |
09:59:47 | FromDiscord | <k0ts> In terms of syntax? Just `break` |
10:02:10 | FromDiscord | <bubbly_avocado_86424> sent a long message, see https://pasty.ee/tztxhwsQ |
10:05:44 | * | johuck joined #nim |
10:07:42 | * | ursa-major joined #nim |
10:08:04 | * | adigitoleo joined #nim |
10:08:24 | * | robertmeta joined #nim |
10:14:09 | FromDiscord | <k0ts> sent a code paste, see https://play.nim-lang.org/#pasty=vTJNtwvW |
10:26:49 | * | casaca joined #nim |
10:28:54 | * | mronetwo joined #nim |
10:31:47 | FromDiscord | <bubbly_avocado_86424> thanks, that much i got covered, the issue is when meeting an array with a mix of key,value and arrays and objects which may recurse further down |
10:32:58 | FromDiscord | <bubbly_avocado_86424> In reply to @k0ts "here's an example of": thanks, i'll use that as inspiration↵it is very similar to what i tried but for the use of _, with pairs |
10:33:27 | FromDiscord | <bubbly_avocado_86424> (edit) "pairs" => "pairs↵and use of n.items and n.pairs" |
10:39:15 | * | noeontheend joined #nim |
10:43:29 | Amun-Ra | Warning: A custom '=destroy' hook which takes a 'var T' parameter is deprecated; it should take a 'T' parameter |
10:43:39 | Amun-Ra | so… how can I clear sensitive data with non-var T? |
11:42:56 | FromDiscord | <planetis_m> In reply to @Amun-Ra "so… how can I": Don't you have a pointer anyway? |
11:43:29 | FromDiscord | <planetis_m> Else you can do what theeading/waitgroups does |
11:45:32 | * | johuck quit (Ping timeout: 244 seconds) |
11:46:04 | * | noeontheend quit (Ping timeout: 252 seconds) |
11:46:51 | * | adigitoleo quit (Ping timeout: 248 seconds) |
11:46:55 | * | mronetwo quit (Ping timeout: 260 seconds) |
11:46:55 | * | casaca quit (Ping timeout: 260 seconds) |
11:47:07 | * | robertmeta quit (Ping timeout: 246 seconds) |
11:47:53 | * | ursa-major quit (Ping timeout: 272 seconds) |
11:54:22 | * | mronetwo joined #nim |
11:54:24 | * | johuck joined #nim |
11:54:24 | * | casaca joined #nim |
11:54:29 | * | robertmeta joined #nim |
11:54:30 | * | noeontheend joined #nim |
11:54:35 | * | ursa-major joined #nim |
11:54:36 | * | adigitoleo joined #nim |
11:57:28 | Amun-Ra | planetis_m: I have arrays and integers |
11:59:15 | Amun-Ra | good old C-style method works → zeroMem self.data.addr, self.data.sizeof |
12:02:43 | FromDiscord | <bubbly_avocado_86424> sent a long message, see https://pasty.ee/KThBlGPH |
12:35:02 | Amun-Ra | do you need to modify the value of the myvar declared outside? |
12:35:47 | Amun-Ra | let myvar is constant |
13:10:44 | FromDiscord | <bubbly_avocado_86424> In reply to @Amun-Ra "let myvar is constant": yeah, i realised and then used a var |
13:15:10 | * | ntat joined #nim |
13:21:08 | * | Artea quit (Ping timeout: 264 seconds) |
13:31:31 | * | m5zs7k_ joined #nim |
13:31:33 | * | johuck_ joined #nim |
13:31:39 | * | robertmeta_ joined #nim |
13:31:46 | * | Jhonny2x4 quit (Ping timeout: 252 seconds) |
13:32:04 | * | tanami_ joined #nim |
13:32:14 | * | Lord_Nightmare2 joined #nim |
13:32:27 | * | johuck quit (Ping timeout: 252 seconds) |
13:32:28 | * | dza quit (Quit: Ping timeout (120 seconds)) |
13:32:28 | * | m5zs7k quit (Quit: m5zs7k) |
13:32:28 | * | johuck_ is now known as johuck |
13:32:33 | * | robertmeta quit (Ping timeout: 252 seconds) |
13:32:33 | * | tanami quit (Ping timeout: 252 seconds) |
13:32:34 | * | robertmeta_ is now known as robertmeta |
13:33:38 | * | Jhonny2x4 joined #nim |
13:33:57 | * | Lord_Nightmare quit (Ping timeout: 276 seconds) |
13:34:05 | * | Lord_Nightmare2 is now known as Lord_Nightmare |
13:36:11 | * | m5zs7k_ is now known as m5zs7k |
13:36:38 | * | fallback quit (Quit: IRCNow and Forever!) |
13:45:59 | * | fallback joined #nim |
13:46:52 | * | Artea joined #nim |
13:47:21 | * | lucasta joined #nim |
13:59:58 | * | kenran quit (Remote host closed the connection) |
14:15:07 | * | dza joined #nim |
14:34:26 | * | cornfeedhobo_ is now known as cornfeedhobo |
14:53:56 | * | ntat_ joined #nim |
14:54:13 | * | ntat quit (Ping timeout: 252 seconds) |
14:58:44 | * | ntat_ quit (Client Quit) |
15:34:21 | * | ntat joined #nim |
15:37:57 | * | lucasta quit (Quit: Leaving) |
15:40:26 | FromDiscord | <latchk3y> hi, probably just popping in and out for this one, but what is the "proper" way to setup a language server and linting for nim inside of neovim? none of the things i've tried have worked very well and resulted in some pretty insanely buggy behavior, so i figure _i'm_ probably the one doing it wrong. |
15:40:45 | FromDiscord | <latchk3y> i'm using Coc primarily, if that's of any particular help |
15:43:22 | FromDiscord | <odexine> What kind of bugs? |
15:43:42 | FromDiscord | <odexine> The experience as of now is quite buggy so it depends on how buggy your experience is |
15:45:13 | FromDiscord | <latchk3y> refusal to recognize installed packages, sometimes it doesn't recognize definitions, sometimes it doesn't autocomplete, etc. ↵↵it's just essentially that it feels like it's super inconsistent and doesn't actually recognize anything unless it feels like it, and it won't acknowledge new packages basically at all. |
15:46:01 | FromDiscord | <latchk3y> also doesn't inform me about indentation, though that one i only _really_ found out because i intentionally unindented to see if it'd say anything about it |
15:46:27 | FromDiscord | <latchk3y> which is to say, i'm not sure how much i _need_ that one, but it would probably be nice so i'm not scrolling to find where i accidently hit tab somewhere |
15:52:57 | FromDiscord | <spaceshaman> So they're looking to add macros to the language? |
16:31:07 | FromDiscord | <planetis_m> In reply to @Amun-Ra "planetis_m: I have arrays": Fyi you don't need to zero fields inside=destroy it's followed by a =wasmoved call |
16:32:03 | FromDiscord | <spaceshaman> Whats gained from nim not allowing you to discard things by default? |
16:35:23 | FromDiscord | <odexine> no more "i accidentally forgot this thing had a value returned that was important"? if you think certain procs youve written are more annoying to have this than not, you can add the `{.discardable.}` pragma so you dont need to discard every single time |
16:43:12 | FromDiscord | <spaceshaman> I don't think ive run into that much |
17:13:27 | * | Deadm0th quit (Read error: Connection reset by peer) |
17:25:35 | FromDiscord | <k0ts> Examples: procs like those from std/parseutils that return a value to indicate whether they succeeded, or procs that return a Result. If the return value was allowed to be silently discarded, you might think they were succeeding when in fact they were erroring. |
17:26:08 | Amun-Ra | planetis_m: I only needed this for specific use case to clear "sensitive" data |
17:29:19 | Amun-Ra | (clearing cyptographic context, which still may be optimized out by the compiler) |
17:32:36 | FromDiscord | <k0ts> `discard` also influences how Nim decides the type of a block or lack thereof. In that way it's like the semicolon in some other languages. |
18:21:39 | * | adigitoleo quit (Ping timeout: 240 seconds) |
18:23:47 | * | adigitoleo joined #nim |
18:27:13 | * | lucasta joined #nim |
18:38:27 | * | alice quit (Remote host closed the connection) |
18:42:18 | * | xet7 quit (Quit: Leaving) |
18:48:15 | * | alice joined #nim |
19:23:03 | FromDiscord | <jm_sts> In reply to @latchk3y "hi, probably just popping": For this I think you want to check out the tooling channel and see if jmgomez is around |
19:27:07 | FromDiscord | <fabric.input_output> which one was that library that had that DSL that compiled to glsl shaders? |
19:49:16 | FromDiscord | <demotomohiro> https://github.com/treeform/shady |
19:51:41 | FromDiscord | <fabric.input_output> thanks |
20:18:36 | * | ntat quit (Quit: Leaving) |
20:37:03 | FromDiscord | <omareladly> sent a long message, see https://pasty.ee/lUhdrtVU |
20:41:33 | FromDiscord | <Elegantbeef> Given that graphics libraries like vulkan and opengl are standards that abstract away GPUs, you can always attempt to implement your own calls that call underlying procedures for your specific GPU, but it'll be driver and card specific |
20:42:36 | FromDiscord | <Elegantbeef> Most people just write a software renderer to learn how GPUs work |
20:44:26 | FromDiscord | <Elegantbeef> Well rendering rather |
20:59:48 | FromDiscord | <TFed> just like `:` in bash and `nice` commands↵(@k0ts) |
21:00:39 | FromDiscord | <TFed> just like `:` in bash and `nice` commands↵nice echo hi; nice false - always nicely true |
21:00:41 | FromDiscord | <TFed> just like `:` in bash and `nice` commandsnice echo hi; nice false - always nicely true |
21:00:50 | FromDiscord | <TFed> just like `:` in bash and `nice` commands`nice echo hi; nice false` - always nicely true |
21:15:37 | FromDiscord | <spaceshaman> In reply to @k0ts "Examples: procs like those": Thats exactly what I was looking for. Ty |
21:52:06 | * | acidsys quit (Ping timeout: 244 seconds) |
21:52:27 | * | acidsys joined #nim |
22:07:05 | * | rockcavera joined #nim |
22:22:53 | FromDiscord | <spaceshaman> Is there a plan in the works to deprecate inheritance and allow dynamic type classes a la rust? |
22:43:01 | FromDiscord | <TӨMΛ ☠> Where are Nim's libraries stored after you install it with Nimble? |
22:43:24 | FromDiscord | <TӨMΛ ☠> I bet I knew the path, but now I'm kinda confused and can't find it anywhere |
22:45:41 | FromDiscord | <spaceshaman> Is your username pronounced like tthml?@TӨMΛ ☠ |
22:46:58 | FromDiscord | <TӨMΛ ☠> It is pronounced "Toma", haha 😄 |
22:48:35 | * | tiorock joined #nim |
22:48:35 | * | tiorock quit (Changing host) |
22:48:35 | * | tiorock joined #nim |
22:48:35 | * | rockcavera is now known as Guest2853 |
22:48:35 | * | tiorock is now known as rockcavera |
22:50:41 | * | tiorock joined #nim |
22:50:41 | * | rockcavera is now known as Guest1547 |
22:50:41 | * | Guest1547 quit (Killed (mercury.libera.chat (Nickname regained by services))) |
22:50:41 | * | tiorock is now known as rockcavera |
22:52:22 | * | Guest2853 quit (Ping timeout: 252 seconds) |
22:56:26 | FromDiscord | <Elegantbeef> `.nimble/pkgs2` |
22:56:40 | FromDiscord | <TӨMΛ ☠> In reply to @toma400 "Where are Nim's libraries": Okay, answering myself - it's `users/[your user name]/.nimble/pkgs` (or `pkg2` for 2.X Nim) |
22:56:45 | * | xet7 joined #nim |
22:57:20 | FromDiscord | <TӨMΛ ☠> Thing is, I couldn't find `.nimble` folder in the first place - it's in `Users/your_user_name` directory 😄 |
22:57:22 | FromDiscord | <TӨMΛ ☠> But thank you 🙏 |
23:33:56 | * | tiorock joined #nim |
23:33:56 | * | rockcavera is now known as Guest8201 |
23:33:56 | * | tiorock is now known as rockcavera |
23:36:00 | * | tiorock joined #nim |
23:36:00 | * | rockcavera is now known as Guest1005 |
23:36:00 | * | Guest1005 quit (Killed (lead.libera.chat (Nickname regained by services))) |
23:36:00 | * | tiorock is now known as rockcavera |
23:37:46 | * | Guest8201 quit (Ping timeout: 252 seconds) |
23:53:22 | * | xet7 quit (Remote host closed the connection) |
23:57:18 | * | xet7 joined #nim |