| 00:15:51 | * | rockcavera joined #nim |
| 00:37:33 | FromDiscord | <xtrayambak> In reply to @mjsdev "though probably won't use": fair, I also had plans to build something like a tiny Nim parser so I can parse nimble files more reliably without depending on the compiler |
| 00:38:05 | FromDiscord | <mjsdev> I was looking at atlas's stuff for it, I don't see an easy way to use a string. |
| 00:38:11 | FromDiscord | <mjsdev> which does use the compiler |
| 00:38:32 | FromDiscord | <xtrayambak> Neo originally stole the entire Nimble parsing machinery from Nimble, but distributing compiler code is very wonky and unreliable |
| 00:38:45 | FromDiscord | <mjsdev> But the way I'm doing mine is just executing git to show the contents of the nimble file |
| 00:39:04 | FromDiscord | <xtrayambak> ahuh |
| 00:40:08 | FromDiscord | <xtrayambak> I also implemented lockfiles with SHA2 checksums, and surprisingly it doesn't do any major slowdowns, neither in I/O and.nor in CPU/RAM bandwidth |
| 00:52:29 | FromDiscord | <mjsdev> You're using semver, right? |
| 00:56:40 | FromDiscord | <xtrayambak> In reply to @mjsdev "You're using semver, right?": Yes |
| 01:23:39 | * | Jjp137_ quit (Ping timeout: 252 seconds) |
| 01:43:18 | * | tiorock joined #nim |
| 01:43:18 | * | rockcavera quit (Killed (tantalum.libera.chat (Nickname regained by services))) |
| 01:43:18 | * | tiorock is now known as rockcavera |
| 02:37:27 | FromDiscord | <mjsdev> @xtrayambak -- I'm hitting quite a few errors when trying to parse some nimble files (many of them older) -- do you want me to add them to issues on neo, or no? |
| 02:38:02 | FromDiscord | <mjsdev> I'm not fixing them in my version at the moment, as there are other reasons I shouldn't even be trying to load dependencies from these files. |
| 02:38:53 | FromDiscord | <mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=DdsYRRGf |
| 02:40:08 | FromDiscord | <mjsdev> nimble/parser.nim is a pretty close (if not one to one copy of yours) minus a few line difference |
| 02:40:26 | FromDiscord | <mjsdev> I can actually make it quite a bit closer to yours. |
| 02:43:29 | FromDiscord | <mjsdev> I can get line parity if you like |
| 02:46:33 | * | rockcavera quit (Remote host closed the connection) |
| 03:35:14 | * | Jjp137_ joined #nim |
| 04:21:15 | * | hygo quit (Ping timeout: 240 seconds) |
| 04:23:28 | * | hygo joined #nim |
| 04:27:17 | FromDiscord | <mjsdev> What's the fastest data structure in nim to determine if something that can be `Hash` ed has been added? |
| 04:27:34 | FromDiscord | <mjsdev> HashSet? |
| 04:30:20 | FromDiscord | <mjsdev> Well, can't say it did much |
| 05:16:44 | FromDiscord | <xtrayambak> In reply to @mjsdev "<@498088092406644736> -- I'm hitting": Yeah, you should |
| 05:17:21 | FromDiscord | <xtrayambak> In reply to @mjsdev "I can get line": yeah, just check if my parser does this too |
| 05:17:48 | FromDiscord | <mjsdev> it literally is your parser |
| 05:19:05 | FromDiscord | <mjsdev> I just renamed the file, and the lines should match up exactly in the issue I post, as I copied back your original code |
| 05:21:23 | FromDiscord | <bluewhale_unkown_x> can't I throw array or seq in openArray? |
| 05:22:51 | FromDiscord | <janakali> you can |
| 06:19:09 | FromDiscord | <mjsdev> In reply to @bluewhale_unkown_x "can't I throw array": sometimes |
| 06:20:02 | FromDiscord | <mjsdev> maybe it's not so much that you can't throw it in there, but I've deifnitely run into some weird issues with typing things as openArray and not having them work (converters come to mind) |
| 06:20:05 | FromDiscord | <xtrayambak> In reply to @mjsdev "Maybe the neo guy": btw I do actually have plans to incorporate your ideas behind a (series of) flags in `neo.toml` |
| 06:20:23 | FromDiscord | <xtrayambak> it's just that I'm implementing a few other features right now |
| 06:20:30 | FromDiscord | <mjsdev> @xtrayambak -- cool, I am almost done my own though 😛 |
| 06:20:49 | FromDiscord | <xtrayambak> mainly this, to act as a `pkg-config` wrapper on NIX https://media.discordapp.net/attachments/371759389889003532/1450372071497535560/image.png?ex=69424bc0&is=6940fa40&hm=0954270e82cf403538571a78517f74973023871f59ed1ec92b9760358615eac2& |
| 06:21:10 | FromDiscord | <mjsdev> I think neo is still a bit too much for what I want in a PM |
| 06:21:17 | FromDiscord | <xtrayambak> fair, to each their own :P |
| 06:21:38 | FromDiscord | <xtrayambak> In reply to @xtrayambak "mainly this, to act": I have plans to make it propagate across libraries and subdependencies but I've seen what propagating C flags can cause through my cmake misadventures |
| 06:21:49 | FromDiscord | <mjsdev> That said, yours is probably more in line with the community, so feel free to steal back my ideas and make something more widely used that is still good |
| 06:22:26 | FromDiscord | <xtrayambak> In reply to @mjsdev "That said, yours is": I don't think Neo will be gaining any adoption though, unfortunately :^) |
| 06:23:29 | FromDiscord | <mjsdev> The biggest thing for me was local (non-central) dependencies, right now only atlas has that. |
| 06:23:56 | FromDiscord | <mjsdev> Atlas still just has too many problems for me though, I still run into weird situations where I feel like I just have to reset everything from scratch to even get it to work or pickup things |
| 06:24:25 | FromDiscord | <mjsdev> I don't know if you saw, but my approach is hybrid, I'm using a central cache and then checking out work-trees in `vendor/` |
| 06:24:42 | FromDiscord | <xtrayambak> Atlas just isn't for me. I like Nimble as-is, it's just the awful performance that is the bane of my existence (also the lack of many QoL features) |
| 06:25:08 | FromDiscord | <mjsdev> I don't know how anyone can like nimble 🙁 |
| 06:25:23 | FromDiscord | <mjsdev> It literally like does not work 90% of the time |
| 06:25:41 | FromDiscord | <xtrayambak> In reply to @mjsdev "I don't know if": Neo currently just generates `--path` flags for the compiler to the packages https://media.discordapp.net/attachments/371759389889003532/1450373295500427286/image.png?ex=69424ce4&is=6940fb64&hm=d4259c15519103282974e2349aa849bb0cddc4d8874faed420de1b51e68894be& |
| 06:25:58 | FromDiscord | <xtrayambak> In reply to @mjsdev "I don't know how": no clue, I just like its flow very much |
| 06:26:35 | FromDiscord | <mjsdev> Yeah, I think everything needs to generate paths or it won't fly, though I'm using the `nim.cfg` |
| 06:27:01 | FromDiscord | <mjsdev> I think atlas uses nimble.paths ? |
| 06:27:08 | FromDiscord | <mjsdev> maybe |
| 06:27:14 | FromDiscord | <mjsdev> or maybe it also uses nim.cfg actually |
| 06:27:41 | FromDiscord | <xtrayambak> sent a long message, see https://pasty.ee/lBhgTzyY |
| 06:27:55 | FromDiscord | <mjsdev> I'm just under 1000 lines of code... I wonder if I'll keep it < 1250 |
| 06:28:17 | FromDiscord | <xtrayambak> Neo is currently ~2.7K lines |
| 06:28:40 | FromDiscord | <mjsdev> Yeah, but you have way more commands |
| 06:28:44 | FromDiscord | <xtrayambak> I'm planning to write a bunch of test cases soon to make it more observable eventually |
| 06:29:08 | FromDiscord | <xtrayambak> In reply to @mjsdev "Yeah, but you have": True that, I do take pride in how comfy it is to use (for me, atleast) |
| 06:29:15 | FromDiscord | <mjsdev> https://github.com/mattsah/percy/tree/master/local/commands -- 7 (guess it's my lucky day) |
| 06:30:02 | FromDiscord | <mjsdev> Also, in fairness, my LoC is low cause I'm using my framework |
| 06:30:07 | FromDiscord | <mjsdev> which isn't getting counted 😛 |
| 06:30:18 | FromDiscord | <xtrayambak> In reply to @mjsdev "Also, in fairness, my": yeah, I looked at your code and it looked a bit unorthodox |
| 06:30:20 | FromDiscord | <xtrayambak> that explains it |
| 06:30:49 | FromDiscord | <mjsdev> It's meant for more object oriented style, and a wicked configuration system that auto registers features |
| 06:31:12 | FromDiscord | <mjsdev> Like how the commands get registered with the CLI:↵↵https://github.com/mattsah/percy/blob/master/local/commands/set.nim#L34-L60 |
| 06:31:26 | FromDiscord | <mjsdev> You give things a "shape" |
| 06:31:33 | FromDiscord | <xtrayambak> ah |
| 06:32:00 | FromDiscord | <xtrayambak> Neo's command line "dispatch" thingy is basically the same as Nimble (except it doesn't use an action enum) |
| 06:34:06 | FromDiscord | <mjsdev> Here's another one, which is basically registering the Settings "class" with the dependency injector so if it's created through app.get(Settings) it uses that, I'll probably add `Shared()` to the shape that will make it a singleton, not that I think I'm creating multiple instances right now. |
| 06:34:10 | FromDiscord | <mjsdev> https://github.com/mattsah/percy/blob/master/local/lib/settings.nim#L226-L239 |
| 06:34:57 | FromDiscord | <xtrayambak> I do wonder how messy that would make the codegen, though I can't be too sure myself as I haven't seen your implementation :P |
| 06:36:33 | FromDiscord | <mjsdev> Not sure, it's all macros... there's a few weird bits, like `app` is available inside the shape calls through some closure magic. But teh shape code just gets interspersed, and there's keyword support, like `super` for calling parent method, seen here: https://github.com/mattsah/percy/blob/master/local/basecli.nim#L39 |
| 06:36:40 | FromDiscord | <mjsdev> normally you have to do some `procCall` thing |
| 06:37:43 | FromDiscord | <xtrayambak> As long as it doesn't make it too slow and a package manager really isn't a HPC program, I think you'll be fine |
| 06:37:48 | FromDiscord | <xtrayambak> (edit) "As long as it doesn't make it too slow and ... a" added "as" |
| 06:41:49 | FromDiscord | <mjsdev> Don't really know what's considered slow here, but given how it's using bare reps, I assume it'll be pretty quick. |
| 07:39:49 | * | hygo quit (Ping timeout: 255 seconds) |
| 07:41:47 | * | hygo joined #nim |
| 08:06:43 | FromDiscord | <pmunch> Is there a way to create a Nim cfg in a module that gets applied when I import said module? |
| 08:07:04 | FromDiscord | <thatitaliandudebutcooler> Haiii |
| 08:47:58 | * | joast quit (Ping timeout: 246 seconds) |
| 09:04:20 | * | joast joined #nim |
| 09:23:04 | * | beholders_eye joined #nim |
| 09:23:30 | FromDiscord | <tauruuuuuus> I think you have to hardcode the pragmas equivalent to the nim.cfg flags in the module entrypoint |
| 10:16:09 | FromDiscord | <pmunch> Hmm |
| 10:37:19 | * | beholders_eye quit (Ping timeout: 240 seconds) |
| 10:51:20 | FromDiscord | <regmono> imma stick with sublime |
| 10:51:31 | FromDiscord | <regmono> just starting to learn nim |
| 11:07:17 | * | beholders_eye joined #nim |
| 14:50:25 | FromDiscord | <mr_rowboto> sent a long message, see https://pasty.ee/rMkHkUBZ |
| 14:50:39 | FromDiscord | <mr_rowboto> (edit) "https://pasty.ee/vzsYUVld" => "https://pasty.ee/mNpgqKJe" |
| 14:50:55 | FromDiscord | <mr_rowboto> (edit) "https://pasty.ee/DnIQnDFG" => "https://pasty.ee/XLhiWdDC" |
| 14:52:18 | FromDiscord | <nnsee> In reply to @mr_rowboto "Hello guys, I've been": was the name choice a nod to rust's clap? :) |
| 14:52:23 | FromDiscord | <mr_rowboto> no |
| 14:52:36 | FromDiscord | <nnsee> oh |
| 14:52:36 | FromDiscord | <mr_rowboto> the name choice was... eh... |
| 14:53:01 | FromDiscord | <mr_rowboto> "sht... I can't name it Command Line Interface Tools" |
| 14:53:09 | FromDiscord | <nnsee> lmao |
| 14:53:19 | FromDiscord | <nnsee> totally could've tbh |
| 14:53:24 | FromDiscord | <mr_rowboto> I mean |
| 14:53:30 | FromDiscord | <mr_rowboto> I COULD |
| 14:54:31 | FromDiscord | <mr_rowboto> (alt name suggestions are welcomed, I don't want to overlap with anything rust u_u) |
| 15:09:09 | FromDiscord | <ambient3332> clap is also a popular musical instrument plugin spec |
| 15:09:38 | FromDiscord | <ambient3332> https://github.com/NimAudio/nim-clap |
| 15:21:35 | * | beholders_eye quit (Ping timeout: 240 seconds) |
| 15:37:03 | FromDiscord | <mjsdev> Does anyone else see that git is way slower over SSH than HTTP? |
| 15:37:06 | FromDiscord | <mjsdev> (edit) "HTTP?" => "HTTPS?" |
| 16:16:56 | FromDiscord | <aethrvmn> Should've smh↵(@mr_rowboto) |
| 16:18:20 | FromDiscord | <aethrvmn> talc? Tool Accessing Line Command↵(@mr_rowboto) |
| 16:18:56 | FromDiscord | <mr_rowboto> In reply to @aethrvmn "Should've smh (<@176460389662457856>)": Still can. |
| 16:22:26 | FromDiscord | <mr_rowboto> sent a long message, see https://pasty.ee/bFmYrbMS |
| 16:22:58 | FromDiscord | <aethrvmn> I dont really like adding nim in such an in your face way |
| 16:23:11 | FromDiscord | <aethrvmn> I like `mininim` because it fits and sounds nice |
| 16:23:23 | FromDiscord | <mr_rowboto> `minim` is beauty. |
| 16:23:52 | FromDiscord | <mr_rowboto> but it's a very special palindrome case |
| 16:24:14 | FromDiscord | <aethrvmn> Otherwise I just usually try to name stuff in nice ways, I'm building some tensor network stuff so I went with tennet for example |
| 16:24:22 | FromDiscord | <nasuray> In reply to @mr_rowboto "Regarding naming, what's the": 368 of the registered packages have Nim in the name |
| 16:24:59 | FromDiscord | <mr_rowboto> https://nimble.directory/search?query=nim 🙈 |
| 16:25:12 | FromDiscord | <aethrvmn> An llm project I'm building towards is `litany` |
| 16:27:29 | FromDiscord | <nasuray> ~https://nimble.directory/search?query=nim~ https://nimpkgs.dayl.in/?query=name%3Anim#/search 😝 |
| 16:27:54 | FromDiscord | <nasuray> (edit) "~https://nimble.directory/search?query=nim~" => "~ https://nimble.directory/search?query=nim ~" |
| 17:09:26 | FromDiscord | <lainlaylie> In reply to @mr_rowboto "Regarding naming, what's the": just "something" |
| 17:24:41 | * | beholders_eye joined #nim |
| 17:26:00 | FromDiscord | <ûnkreativiteit> I wonder what a manim port to nim would be called.. |
| 17:36:58 | FromDiscord | <fowl.mouth> In reply to @ûnkreativiteit "I wonder what a": nimanim |
| 17:44:55 | * | beholders_eye quit (Ping timeout: 240 seconds) |
| 19:51:03 | FromDiscord | <saint._._.> In reply to @aethrvmn "An llm project I'm": What’s it gonna do? |
| 19:59:33 | * | beholders_eye joined #nim |
| 20:19:35 | FromDiscord | <mjsdev> sent a code paste, see https://play.nim-lang.org/#pasty=kCIdusIw |
| 20:58:55 | * | beholders_eye quit (Ping timeout: 250 seconds) |
| 21:03:10 | * | tokyovigilante joined #nim |
| 21:45:01 | * | rockcavera joined #nim |
| 22:10:01 | FromDiscord | <aethrvmn> Speak hopefully↵(@saint._._.) |
| 22:11:59 | FromDiscord | <aethrvmn> The idea is to prove that you can use nim for the latest/"hottest" ai architectures, plus I dont want to do hobby coding in python |