Abhinav ๐ŸŒ

@abnv@fantastic.earth
423 Followers
795 Following
4.4K Posts

Programming languages aficionado, occasional runner, quantified-self enthusiast, and fervent napper. Works as senior software engineer at Google.

If you want to follow me, please make sure your profile has some info that helps me learn about you.

#fedi22 #programminglanguages #software #running #Haskell #NixOS #photography #quantifiedself

Websitehttps://abhinavsarkar.net
Githubhttps://github.com/abhin4v
Pixelfedhttps://arti.stic.earth/abnv
Blueskyhttps://bsky.app/profile/abnv.me

For my next #compiler project, I want to write the optimization passes myself, but I don't want to deal with generating machine code for multiple platforms. So tell me #programminglanguages #plt #pldev #compilers fedi, what is an IR that I can target that has a non-optimizing compiler to machine code and supports multiple platforms? This rules out most popular IR like LLVM, C, QBE, Cranelift etc.

In short, I want something that does only instruction selection, register allocation and codegen for multiple platforms. I don't need optimization, so I expect this thing to be really small and lightweight, unlike LLVM, GCC etc.

@manuelceron Thanks. I'll research and think about it.
@jackerhack I don't recommend using Nix unless you are ready to invest months into learning it. But I answered truthfully to your initial question.
@manuelceron I'm not very familiar with WebAssembly. Would you say it is a good target for GCed languages?

@jackerhack It's a combination of many things: a build system, a programming language, a package manager, a package repository, a service and program configurator, an operating system, and more. This article sheds some light: https://www.haskellforall.com/2022/08/stop-calling-everything-nix.html

NixOS is a separate Linux Distro, which uses the Nix package manager, but the package manager can be used on any Linux Distro and even on MacOS, alongside the OS one.

Stop calling everything "Nix"

Stop calling everything "Nix" One of my pet peeves is when people abuse the term โ€œNixโ€ without qualificat...

Just released a new version of difftastic!

* Verilog support
* Improved Erlang, F#, Gleam, Pascal and Swift
* Better detection of binary files

https://github.com/Wilfred/difftastic/releases/tag/0.64.0

Release 0.64.0 ยท Wilfred/difftastic

Difftastic is a structural diff tool that understands syntax. See the manual to get started, and the changelog for historical changes. Parsing Updated to the latest tree-sitter parser for Erlang, F...

GitHub
Side note: I think more window managers should support *this* feature!

Whoa: Weston, the reference compositor for #Wayland, supports multiple physical independent mice at the same time! ๐Ÿ˜€

"New mouse, who dis?"

(See toot later in the thread for how to set this up!)

@jackerhack Nix(OS/Darwin) + Home Manager.
iโ€™m in nyc for #unopensourceweek this week. let me know if you want to meet up and talk about #gnome as infrastructure, the free desktop, linux phones, flathub, supply chains, #a11y, the new developer hardware market, or digital sovereignty via ubiquitous computing!