[2026-10-06T05:39:00Z] hey [2026-10-06T05:39:36Z] i think I might rewrite [2026-10-06T05:39:41Z] kiss [2026-10-06T05:39:44Z] in Python [2026-10-06T05:40:40Z] (sadly that's the only language I feel comfortable with besides Lua, which is harder to deal with in my experience in terms of standard libraries and such) [2026-10-06T05:41:31Z] (through I'm open to rewriting it in another language down the road) [2026-10-06T05:55:24Z] stilic: I started KX by writing it in Python. Then I got a little annoyed with it and saw how I could make a much smaller language (not that Python is huge, but more like the size of Lua) that would do the job better, so I did that. [2026-10-06T06:04:02Z] fultilt: which language? [2026-10-06T06:19:34Z] you could look at bliss, which is phoebos' kiss implenetation in lua [2026-10-06T06:20:31Z] https://codeberg.org/phoebos/bliss [2026-10-06T08:17:49Z] sad_plan: looks good but I think lua might not be a good fit if I want something more self contained [2026-10-06T08:24:55Z] I fail to see how python would be an improvement here, but you do you obviously [2026-10-06T09:17:43Z] stilic: "sqs". . [2026-10-06T09:18:32Z] fultilt: I get 404 [2026-10-06T09:19:19Z] sad_plan: lua doesn't have a standard library, so there's quite a lot of work to even get networking features functional [2026-10-06T09:21:53Z] stilic: from Github?!? It works here, I can't explain that. [2026-10-06T09:24:03Z] nvm [2026-10-06T09:24:07Z] looks neat! [2026-10-06T09:29:03Z] It *does* have a standard library giving access to chunks of Posix. Not to networking, though. It expects you'll launch curl or something for that, and it tries to make it easy to do that. [2026-10-06T09:55:56Z] fultilt: yeah but that's not enough [2026-10-06T09:56:25Z] and launching external processes to make up for that is objectively a workaround [2026-10-06T10:15:15Z] stilic: it does, and theres also luaposix. the neccessary networking features is meerly a curl and a git command, which shouldnt be too hard to work with.. [2026-10-06T10:16:00Z] sad_plan: I'm not convinced [2026-10-06T10:24:18Z] you do you, like I said. if you wanna write it in python, you write it in python [2026-10-06T12:37:44Z] FYI I've been coding in lua for quite a while now, that's why I'm saying it's not that great [2026-10-06T12:38:12Z] honestly, lua isn't the right tool for most jobs unless you want to make it endlessly complicated [2026-10-06T12:42:30Z] the fact that I have to install third party libs just to access common things like my filesystem is a big example of why it doesn't fit imo [2026-10-06T12:44:12Z] maybe it's fine for making video games within a specific framework... but otherwise it's essentially a brick by default [2026-10-06T13:26:16Z] * kris_ whispers: write it in perl [2026-10-06T15:16:43Z] i don't know that i love lua either but i feel like it's a good fit nonetheless [2026-10-06T15:16:53Z] calling external processes like curl and whatnot for networking really isn't a big deal, it's cheap and predictable [2026-10-06T15:17:04Z] i don't know that i see a reason to not use shell, though [2026-10-06T15:18:04Z] i don't know that i like the idea of a base system utility requring or being written in python but of course the more implementations the better [2026-10-06T15:18:22Z] with basix at least i have a pretty strict rule of shell, perl, C, and execline in the base system [2026-10-06T15:19:54Z] i'm still having a great conundrum with text editors, i finally tried out the latest commit on vis and still it's just a bit too buggy, i no longer use emacs as my static site generator so i've just moved back over to vim, need to package neovim [2026-10-06T16:42:37Z] kris_: it's kind of a bad practice on its own [2026-10-06T16:43:20Z] if anything, spawning processes being the only way to download files without needing a library is kind of lame [2026-10-06T16:43:46Z] *needing a third-party library [2026-10-06T16:44:49Z] yeah i gotcha i just dont know if it's really an issue, keeps things less integrated and thats arguably a good thing [2026-10-06T16:45:00Z] i think if i were after otherwise i'd just write something in golang [2026-10-06T16:45:10Z] golang is such a good language with a very large and clean stdlib [2026-10-06T16:45:22Z] and it can actually be bootstrapped unlike fuckin rust or otherwise [2026-10-06T16:51:49Z] rust can be bootstrapped via mrustc [2026-10-06T18:01:32Z] shrub900: yeah still gotta look at that to see how much of a pain its going to be [2026-10-06T18:01:54Z] zig is a bigger irritant anyway because it wants all-targets on llvm [2026-10-06T18:01:59Z] which is a long ass compilw [2026-10-06T19:13:21Z] zig is unbootstrappable [2026-10-06T19:13:47Z] or more pointedly, their so-called bootstrap path is very un-transparent and not to be trusted [2026-10-06T19:29:58Z] Agreed. It's still better than Rust, which seems to be designed specifically to enable supply-chain trusting-trust attacks. [2026-10-06T19:31:10Z] fultilt: Rust used to be designed for that, until someone made mrustc, and now it's much safer [2026-10-06T19:31:44Z] shrub900: at least zig isn't llm tainted hehe [2026-10-06T19:32:12Z] I really like zig in many ways i just refuse to use a language i can't bootstrap properly [2026-10-06T19:32:47Z] I mean a paper was put out like not so long ago demonstrating how if someone wanted to do it a trusting trust attack would not be that hard to do practically [2026-10-06T19:32:56Z] https://arxiv.org/abs/2607.24888 [2026-10-06T19:32:58Z] I could be wrong, but doesn't the Rust compiler use third-party crates? [2026-10-06T19:33:11Z] mrustc is an implementation of the rust compiler in pure C++ [2026-10-06T19:33:17Z] you can use it to bootstrap the real rustc [2026-10-06T19:34:13Z] I think one day some hype new language will come out with a extremely unbootstrappable compiler and then eventually it will come out that it has just been doing a trusting trust attack on everyone since day one, it seems like something that could totally happen [2026-10-06T19:34:27Z] in fact i'm somewhat suprised it didn't happen with rust [2026-10-06T19:35:43Z] I know about mrustc, if you can get it to build (I haven't) you still need to do a deathmarch through several versions of mainstream Rust to get to the latest version. Each one of which, I believe, uses third-party crates from Cargo. But please correct me if I'm wrong, I certainly could be... [2026-10-06T19:54:50Z] i don't know about whether it uses third party crates, but if it does, why is that an issue? [2026-10-06T19:55:38Z] in terms of the deathmarch through many versions, it's the same for go, and many other languages, even C you have to go from the hex assembler stuff -> mescc -> tcc -> gcc4 -> gcc8 -> gcc13 -> modern gcc -> maybe clang [2026-10-06T19:56:06Z] shrub900: fair [2026-10-06T19:56:37Z] that's the same reason why i made my own full source bootstrapping path for kiss [2026-10-06T20:14:49Z] shrub900: To my mind, use of third-party crates matters because it increases the attack surface from the supply chain. [2026-10-06T20:16:27Z] If it weren't for C++, could you theoretically stop at tcc? [2026-10-06T20:18:47Z] depends what kind of C software you're building and what how ok you are with a total lack of optimization [2026-10-06T20:18:52Z] for 99% of people, likely not [2026-10-06T20:19:42Z] as long as those third-party crates and all transitive dependencies are audited i don't think its a huuuuge deal. but it's definitely not ideal [2026-10-06T20:23:10Z] Maybe go to cproc, then. QBE does optimize, albeit not as well as GCC or LLVM. Still probably not practical, as QBE doesn't handle atomics or SIMD. [2026-10-06T21:08:05Z] cproc is able to compile a LOT less than tcc in my expereince [2026-10-06T22:49:40Z] Aargh! ftp.gnu.org is down!