frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Mago: A fast PHP toolchain written in Rust

https://github.com/carthage-software/mago
67•AbuAssar•2h ago

Comments

dzonga•2h ago
seems rust's biggest win was improving other languages toolchains and bringing increased productivity to those languages.
retrocog•1h ago
Not a bad win so far, right? One hand washes the other and both wash the face.
ainiriand•1h ago
Do you really think that this is Rust's biggest win or are you just joking/trolling?
IshKebab•38m ago
To be fair it is pretty significant. Especially uv. I don't know anything about PHP's existing toolchain but I do know that Python's is a horrifying mess, and uv basically fixes it.

It's a small thing in the Rust community but it's pretty huge in the world simply because there are so many Python developers (and also because of the extreme magnitude of improvement). Probably wouldn't have happened without Rust.

3eb7988a1663•29m ago
Thanks to Rust, there are heaps of next generation CLI utilities that have come onto the scene in the past decade. Cross platform by default, UTF8 aware, more likely to be multi-threaded, simple distribution, and most importantly - improving on some unfortunate legacy API decisions.

Ripgrep, fd, tokei, Just, zellij, uv, and so forth. Porting languages has given the opportunity to remove some of the cruft decided on a whim in the 70s. None of these are world changing, but they do make life easier than the originals.

smt88•42m ago
You're wrong because it's also incrementally replacing individual, high-risk components in Windows and Linux.

But even if you're not wrong, a major mission of Rust was to be a safer C/C++, and language tooling used to be dominated by those languages.

giancarlostoro•23m ago
I am waiting for someone to build a modern scripting language in Rust that has the popularity and rich tooling and capabilities of Rust as a result.
testdelacc1•13m ago
Like Gleam?
muglug•2h ago
It is very cool that this exists, but the PHP community lacks the resources to see a non-PHP tool thrive.

Tools like Sorbet (C typechecker for Ruby) or tsgo (Go-based successor to TypeScript's typechecker) are only viable because big profitable companies can back them up with engineering hours.

retrocog•1h ago
Interesting. Do you have any thoughts to share along the same lines about FrankenPHP?
muglug•1h ago
It's cool that it's part of the PHP foundation, but it's not all that complex.

FrankenPHP has >100 contributors, including 3 very frequent ones, and about 17k lines of Go.

Mago has 11 contributors, with just 1 very frequent one, and about 135k lines of Rust.

hu3•1h ago
> PHP community lacks the resources to see a non-PHP tool thrive.

Why do you think so?

The PHP Foundation has raised over 2 million USD in contribution and has over 500K in their balance currently according to:

https://opencollective.com/phpfoundation

PHP has some well funded groups using it like Wordpress, Wikipedia, Laravel to name a few.

And recently the PHP Foundation started officially sponsoring a Go project, FrankenPHP.

https://thephp.foundation/blog/2025/05/15/frankenphp/

So PHP looks like a friendly and well supported community to foster tooling made in other languages.

muglug•1h ago
> The PHP Foundation has raised over 2 million USD in contribution and has over 500K in their balance

This is great, but it is still dwarfed by the amount Microsoft has spent on TypeScript and also by the amount Stripe has spent on Sorbet.

500k is roughly comparable to the amount my previous company spent (grudgingly) to keep me employed and working on PHP tooling for a couple of years.

hu3•1h ago
True but TypeScript and Sorbet are magnitudes above linting and formatting PHP, in terms of challenge size.

TypeScript is a very complex language with a huge mission. From the same creator of C#.

Sorbet is trying to tame a dynamically typed language which supports monkey patching. Stripe can get away with it because they have close to infinite money and a large Ruby codebase.

Meanwhile PHP is stable and typed. Parsing AST, linting and formatting are trivial in comparison to the examples you cited. Their package manager, composer, is also boring a stable, in a good way. Prime target for a second pass if need be.

Raed667•1h ago
Love seeing some Tunisian representation here ! Kudos on the project !
anta40•45m ago
I initially thought this was a PHP implementation in Rust.... but it's not

Will Mago implement a PHP runtime?

Absolutely not. The PHP runtime is incredibly complex. Major efforts by large companies (e.g., Facebook's HHVM, VK's KPHP) have struggled to reach full parity with Zend Engine. Achieving this as a smaller project is infeasible and would lead to community fragmentation. We are focused on tooling, not runtimes.

https://mago.carthage.software/faq

ivanjermakov•21m ago
> The PHP runtime is incredibly complex

Say this to the team behind Ladybird browser: https://awesomekling.substack.com/p/how-were-building-a-brow...

darkamaul•38m ago
So I guess this is `uv`, but for PHP?

If it has remotely the same success, that would be a huge win for the ecosystem!

aszen•33m ago
No its different, php already has a good package manager, this is about formatting, linting and type checking
techtalsky•27m ago
It's more like `ruff` for PHP.

A store that generates products from anything you type in search

https://anycrap.shop/
419•kafked•5h ago•157 comments

Magical Systems Thinking

https://worksinprogress.co/issue/magical-systems-thinking/
34•epb_hn•58m ago•3 comments

486Tang – 486 on a credit-card-sized FPGA board

https://nand2mario.github.io/posts/2025/486tang_486_on_a_credit_card_size_fpga_board/
66•bitbrewer•2h ago•14 comments

Mago: A fast PHP toolchain written in Rust

https://github.com/carthage-software/mago
67•AbuAssar•2h ago•20 comments

My First Impressions of Gleam

https://mtlynch.io/notes/gleam-first-impressions/
94•AlexeyBrin•4h ago•32 comments

Show HN: CLAVIER-36 (programming environment for generative music)

https://clavier36.com/p/LtZDdcRP3haTWHErgvdM
43•river_dillon•2h ago•11 comments

Japan sets record of nearly 100k people aged over 100

https://www.bbc.com/news/articles/cd07nljlyv0o
158•bookofjoe•3h ago•81 comments

Open Source SDR Ham Transceiver Prototype

https://m17project.org/2025/08/18/first-linht-tests/
21•crcastle•3d ago•3 comments

SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V

https://skiftos.org
344•ksec•12h ago•68 comments

UTF-8 is a brilliant design

https://iamvishnu.com/posts/utf8-is-brilliant-design
708•vishnuharidas•22h ago•283 comments

How to Use Claude Code Subagents to Parallelize Development

https://zachwills.net/how-to-use-claude-code-subagents-to-parallelize-development/
180•zachwills•4d ago•85 comments

Java 25's new CPU-Time Profiler (1)

https://mostlynerdless.de/blog/2025/06/11/java-25s-new-cpu-time-profiler-1/
120•SerCe•9h ago•63 comments

Weird CPU architectures, the MOV only CPU (2020)

https://justanotherelectronicsblog.com/?p=771
75•v9v•4d ago•18 comments

QGIS is a free, open-source, cross platform geographical information system

https://github.com/qgis/QGIS
507•rcarmo•1d ago•116 comments

"Learning how to Learn" will be next generation's most needed skill

https://techxplore.com/news/2025-09-google-ai-scientist-generation-skill.html
44•Brajeshwar•2h ago•19 comments

The Value of Bringing a Telephoto Lens

https://avidandrew.com/telephoto.html
60•freediver•4d ago•54 comments

Many hard LeetCode problems are easy constraint problems

https://buttondown.com/hillelwayne/archive/many-hard-leetcode-problems-are-easy-constraint/
581•mpweiher•1d ago•478 comments

An Annual Blast of Pacific Cold Water Did Not Occur, Alarming Scientists

https://www.nytimes.com/2025/09/12/climate/pacific-cold-water-upwelling.html
66•mitchbob•3h ago•18 comments

Show HN: Vicinae – a native, Raycast-compatible launcher for Linux

https://github.com/vicinaehq/vicinae
88•aurellius•3d ago•21 comments

The treasury is expanding the Patriot Act to attack Bitcoin self custody

https://www.tftc.io/treasury-iexpanding-patriot-act/
742•bilsbie•1d ago•526 comments

FFglitch, FFmpeg fork for glitch art

https://ffglitch.org/gallery/
264•captain_bender•19h ago•36 comments

How 'overworked, underpaid' humans train Google's AI to seem smart

https://www.theguardian.com/technology/2025/sep/11/google-gemini-ai-training-humans
163•Brajeshwar•5h ago•101 comments

Raspberry Pi Synthesizers – How the Pi is transforming synths

https://www.gearnews.com/raspberry-pi-synthesizers-how-the-pi-is-transforming-synths/
105•zdw•13h ago•72 comments

Does All Semiconductor Manufacturing Depend on Spruce Pine Quartz? (2024)

https://www.construction-physics.com/p/does-all-semiconductor-manufacturing
37•colinprince•4d ago•23 comments

Resizing images in Rust, now with EXIF orientation support

https://alexwlchan.net/2025/create-thumbnail-is-exif-aware/
62•ingve•4d ago•19 comments

Social media promised connection, but it has delivered exhaustion

https://www.noemamag.com/the-last-days-of-social-media/
260•pseudolus•10h ago•172 comments

Life, work, death and the peasant: Rent and extraction

https://acoup.blog/2025/09/12/collections-life-work-death-and-the-peasant-part-ivc-rent-and-extra...
281•baud147258•16h ago•144 comments

I used standard Emacs extension-points to extend org-mode

https://edoput.it/2025/04/16/emacs-paradigm-shift.html
177•Karrot_Kream•20h ago•25 comments

EU court rules nuclear energy is clean energy

https://www.weplanet.org/post/eu-court-rules-nuclear-energy-is-clean-energy
940•mpweiher•22h ago•943 comments

Tips for installing Windows 98 in QEMU/UTM

https://sporks.space/2025/08/28/tips-for-installing-windows-98-in-qemu-utm/
117•Bogdanp•18h ago•25 comments