10 ms·
Python 3.14 compiled to metal – no interpreter
- valentynkit 2mo ago[flagged]
- ubercore 2mo agoI hate to be that guy, but... one week old project, clear signs of vibing. I will be shocked if the remaining work listed (cpython test suite) proceeds in any reasonable timeline. This is a pretty hard problem to just solve in a week. EDIT: and man, these kind of comments LLM created comments are really starting to grind my gears as my job slowly turns into reviewing LLM PRs: > Known gaps at the language level are burned down through the ratcheted floors above — the committed floor files, not this README, are the authoritative compatibility baseline.
- baq 2mo agoof course it is vibed. it doesn't matter as long as it works.
- ActionHank 2mo agoThat's the neat part, when it's vibed it works, until it doesn't and then it's really hard to make it work again.
- coldtea 2mo ago>when it's vibed it works, until it doesn't and then it's really hard to make it work again Is it? People have solved AI bugs with AI. If some vibe project eventually hits some bug and stops working, what exactly stops using AI to fix it? Is the idea that bugs will go beyond the limits of AI capability? If you meant to say that when an AI vibe coded project beyond some complexity it's difficult for a human coder to manually go through all the code they didn't write, understand it, and find the issue, sure.
- ubercore 2mo agoThe problem is the _way_ AI will solve an AI bug. I've seen the loop countless times. There's a creeping complexity and brittleness that creeps in over time as more and more complexity is left purely to the LLM agent. It will become unsustainable without a human understanding and making course corrections at some point.
- coldtea 2mo agoIn my experience, it just needs some high level guidance. And it's quite easy to ask an AI to refactor a certain way too.
- ubercore 2mo agoBeen there done that. My point is that even with Fable being a big improvement, it still needs constant feedback. The loops themselves are a lot better, but it still needs judgement calls, and Fable will often take an odd direction, and if you don't catch it, that odd choice will compound as it continues to layer on top.
- coldtea 2mo ago>Been there done that. My point is that even with Fable being a big improvement, it still needs constant feedback. Even so, if it does 80% of the work itself, that's still a 5x improvement. Plus it keeps the human coder in control and in the loop (and in a job).
- int_19h 2mo agoIf you just keep throwing feature requests at an LLM, then yes, this happens. However it can self-correct if you specifically give it engineering debt / code cleanup as a task. And Fable in particular is very good at this exact thing.
- LtWorf 2mo agoAI companies are unable to fix the bugs in their own text editors for years… no AI cannot fix bugs, clearly.
- kameit00 2mo agoIn 12 months… vibe code mess. Or discontinued. Or both.
- ttul 2mo agoHow much time have you spent with Fable? We're in new territory here. It does not create messes.
- ubercore 2mo agoAnecdote, yes, but I am _right now in the middle of helping Fable clean up a mess_. Complex code is hard and Fable still makes mistakes.
- what 2mo ago>this time it’s different! Same thing people claim every time a new model is released, yet never seems to be true.
- int_19h 2mo agoIt was true every time though. The capacity of frontier models to tackle complicated issues has improved immensely. I still remember the first time I saw a model do a non-trivial issue end to end, and that was less than two years ago. Now they can genuinely do whole projects with human only as a supervisor / quality checker. Do they still make mistakes? Sure. So do humans, though, so it would be unrealistic to expect perfection. The question is: does Fable make fewer mistakes than the median human coder? And at this point I'm genuinely not sure anymore.
- nozzlegear 2mo ago> We're in new territory here. > It does not create messes. ?
- mcphage 2mo agoGiven the stdlib modules listed as "explicitly not done yet", I'm going to say: it doesn't yet, in any meaningful sense. The question then becomes: how confident do we feel that it will work in the near future?
- ubercore 2mo agoI was trying to say "not confident at all" but hedged a bit too much. I see this as a case of the "quick to get to a POC that falls apart after sustained development for the same reasons it didn't work pre-Fable" problem.
- nozzlegear 2mo ago> it doesn't matter as long as it works. I think the clankers would call this a "load bearing statement".
- nielsbot 2mo agoit reads like marketing copy…
- getpokedagain 2mo agoSomething working is pointless if there are no users and no need is being addressed.
- himata4113 2mo agoThis is written by fable with the guidance of a very experienced, highly skilled person. See their previous work.
- throwaway27448 2mo agoExperience doesn't change the fundamental problem. I don't see this project going anywhere for general use beyond their needs.
- Dilettante_ 2mo ago"Very experienced" might mean different things to you. The oldest repo on their GH is from 2017. As for highly skilled: Could you point closer to which parts of their portfolio we are supposed to be awestruck by?
- not_a9 2mo agohttps://github.com/vtil-project/VTIL-Core https://github.com/vtil-project/VTIL-Core https://github.com/can1357/selene https://github.com/can1357/selene
- roger_ 2mo agoThis guy is behind the awesome Oh My Pi agent, so I’d give him a chance.
- thx67 2mo agoThese tics are fairly easy to remove via hooks and prompts, but once the codebase is infected, it is 10x as much work to get the agents to stop.
- westurner 2mo agoHow does performance compare to RustPython compiled in a similar way?
- cuzezzzbbfofai 2mo agoCan it run Numpy and Torch?
- smithza 2mo agopickle files are usually the limiter here. I would be surprised if it can handle pickle files since it relies so much on runtime LUTs of the objects and arbitrary object definitions. This usually doesn't work in other use cases such as swig or cython either IIRC.
- cdavid 2mo agoFor NumPy/Pytorch, the C API is much bigger issue than pickle. I have not looked at the architecture of this, but given it uses its own IR + replaces ref counting w/ a GC, I am assuming it does not have C API compatibility.
- echoangle 2mo agoWhat happens if you call exec/eval? Are they just not available?
- smithza 2mo agothis as well as pickle files will likely be unavailable
- moronicles 2mo ago[dead]
- leobuskin 2mo agoIt uses JIT
- skeledrew 2mo agoAlso getattr/setattr, the magic methods, etc. I imagine this dead on arrival.
- leobuskin 2mo agoA few problems with this Fable's project: 1. It's not Python by any means, it's a subset with its own runtime, its own quirks and nuances; 2. It will be impossible to maintain parity with CPython without AI assistance; 3. It will die the same way as dozens of similar (even non-AI projects) died before, and reasons will be the same: (1) and (2).
- subarctic 2mo ago"Without ai assistance" - ok, but what about with ai assistance?
- zahlman 2mo agoFor a project like this, relying on AI assistance also makes it effectively dead in the water.
- frollogaston 2mo agoNot convinced. I was looking for an answer like "it doesn't actually have parity with CPython." If it does, that's a decent indication that it can be sustained.
- minimaxir 2mo agoWhy?
- iLoveOncall 2mo agoCan those AI slop projects have a reserved tag on HackerNews? So many in the past few weeks I wouldn't have clicked and wasted my time on if I knew it was just some vibe-coded garbage.
- andy99 2mo agoI see the same thing, and believe that ironically AI is going to bring about the return of good search engines as we’re currently drowning in slop and need a real way to filter it.
- ranger_danger 2mo agoHow would a search engine filter that out?
- genewitch 2mo agoyou'd need a tacit agreement that real humans who care tag and filter things for the search engine. like a webring or stumbleupon. I imagine it's easier to bolt this on to an existing product by adding "tags" and a "AI likelihood score" or something. or we can bring back gopher and just not index slop sites?
- RantyDave 2mo agoDon't we have Nuitka for this?
- getpokedagain 2mo ago>> The project is under heavy active development Is a pretty oof sentence for a project with one contributor and no users. Just reeks of llm barf with no oversight.
- tclancy 2mo agoI am a fan of AI assistance, but “ratchet” is pretty much a Claude giveaway. The kids, now in their twenties because the reference is dated, might make a joke here.
- frollogaston 2mo agoIt says ratchet so much. Yeah that's pretty ratchet. Idk what it even means for some of those usages.
- getpokedagain 2mo agoOh what the fuck I can t unsee
- 3form 2mo agoAhh, AI. All ratchet and clank.
- drivebyhooting 2mo agoLooks like it still uses python object model. You need auto unboxing for good performance.
- dr_kretyn 2mo agoAwesome. Not for this repo specifically; more about the trend. More people are realizing that we have such powerful tools at our disposal and will want to do something awesome, worth while with them. Of course, many will fall off after a week, then more after a month, but some will survive. Knowledge will be spread and some will be winners through adoption. Grit can lead to knowledge, and can lead to awesome stuff.
- elzbardico 2mo agoSeems to be slow as molasses compared to cpython.
- bbminner 2mo agoIf AI can find new proofs for well posed math problems, i see no reason why it shouldn't be able to implement a more performant fully featured version of an existing interpreter (eg with JIT and AOT) that emulates python api well and passes all python tests and tests of other projects. It is true that a lot of human effort and thought has been put into squeezing performance out of the existing implementation. It is true that many people have found that getting that last 1% of python test suite to pass turned out to be insurmountably hard. Same is true for math, and yet AI sometimes finds simple solutions that we somehow missed. Maybe there's a simple optimization that was used in an obscure interpreter of a domain specific language that we never heard of. Worth a shot in my mind. If that turns out to be successful, we should ideally find the code that served "as an inspiration" if any. It might make more practical sense to start from CPython and try to optimize that further though. It even has a "not fully fleshed out" JIT already.
- henry2023 2mo agoIf humans can find (and have been finding for millennia) new proofs for well posted math problems, I see no reason why they shouldn’t be able to implement a more performant fully featured version of an existing interpreter.
- eru 2mo agoThey can, and they have been doing so. But humans are expensive. Especially smart humans.
- int_19h 2mo agoFable is also very expensive, unfortunately. It will be interesting to see how cheap they can make it long term.
- eru 2mo agoWell, so far any gives level of capability has started with (expensive) frontier models, but everyone else, including the cheaper models, usually quickly catches up and the frontier keeps moving forward. Fable-level capability will most likely be available for pennies soon enough.
- xiaodai 2mo agoit's been tried 10 million times. so yeah
- Archit3ch 2mo agoSurely this will succeed where $4B Modular failed!
- Technical_Plant 2mo ago[flagged]
- thx67 2mo agoA couple of other interesting Python compiler projects recently.. https://github.com/Nonannet/copapy https://github.com/Nonannet/copapy uses copy and patch, discussed here https://news.ycombinator.com/item?id=46972392 https://news.ycombinator.com/item?id=46972392 Single-pass SSA bytecode compiler and threaded-code stack VM for a sandboxed Python subset https://github.com/dylan-sutton-chavez/edge-python https://github.com/dylan-sutton-chavez/edge-python
- frollogaston 2mo agoDynamic typing means you don't know the sizes/offsets of things beforehand. The "compiled to metal" thing still resembles a runtime more than your typical compiled code. Like naively, object would be a struct with a hashmap of property names->values since technically you can alter the keys at runtime, and many values will be pointers to other objects. Idiomatic C or Rust code will have flatter structs. Is it faster than the original interpreter? Maybe if you optimize out the primitives and certain well-known object types, unless you do some more advanced static analysis.
- zoom6628 2mo agoMojo not good enough?
- piloto_ciego 2mo agoLol, all the people squawking about how this means nothing and this is a worthless project amuses me. A lot of people just don't see it yet. This is coming for literally everything and it is so exciting. The next decade is going to be awesome.
- weregiraffe 2mo agoWhat's so exciting about your software being made of code nobody can or wants to understand?
- piloto_ciego 2mo agoCan you not see how amazing this is?
- weregiraffe 2mo agoA nuclear explosion is amazing, but I won't be excited about the nuke falling on my head.
- piloto_ciego 2mo agoYou’re intentionally being obtuse
- worldsavior 2mo agoYou can see it cause...you're a prophet right?
- LtWorf 2mo agoThe man's called "blind pilot".
- piloto_ciego 2mo agoNot a prophet at all, but can you imagine 5 years ago, thinking that this was even possible?
- rcarmo 2mo agoFunny to see it took the same IR approach as I did with https://github.com/rcarmo/go-joker https://github.com/rcarmo/go-joker - although I did it somewhat based on the .NET IR and this seems a bit more AI-ish.