this post was submitted on 18 Jan 2024
770 points (99.1% liked)

Linux

48462 readers
532 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Timothée Besset, a software engineer who works on the Steam client for Valve, took to Mastodon this week to reveal: “Valve is seeing an increasing number of bug reports for issues caused by Canonical’s repackaging of the Steam client through snap”.

“We are not involved with the snap repackaging. It has a lot of issues”, Besset adds, noting that “the best way to install Steam on Debian and derivative operating systems is to […] use the official .deb”.

Those who don’t want to use the official Deb package are instead asked to ‘consider the Flatpak version’ — though like Canonical’s Steam snap the Steam Flatpak is also unofficial, and no directly supported by Valve.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 10 months ago* (last edited 10 months ago) (1 children)

Nix is objectively a bad language. Glancing past the syntax (which is atrocious and the parser is completely unhelpful) it's just a bad idea to mix lazy evaluation and dynamic typing, the only way to get understandable error messages with nix is to put asserts all over the place, hoping one of them gets triggered by the evaluator.

That said I still love the system to bits and fixing the language actually wouldn't be that hard: Add static typing, with inference most stuff should just run as-is. Exception are the two or three uses of the y-combinator (yes, seriously, that's how you recurse in nix) deep in the bowels of nixpkgs, e.g. during stdenv bootstrap. Just make fix a primitive, or maybe a plain fold I don't think nix even needs to be Turing-complete. Reason it's not being done is that there's enough other stuff to work on and, well, Stockholm syndrome. Good news: Nix doesn't support constructing import paths dynamically, that would have been a nightmare to sort out in a static setting.

[–] [email protected] 3 points 10 months ago

I don't mind most of the language having FP experience, but I agree the lack of static typing just sucks. I'm using the repl a lot to try and track down why things aren't aligning quite right when trying different techniques to keep things DRY and organized. Documentation is also a headache as a newb with the multiple ways of structuring a repo while trying to grok all the implicits and how it all gets merged.