9 ms·
Python 3.14 compiled to metal – no interpreter
- Technical_Plant 3mo ago[flagged]
- ubercore 3mo 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 3mo agoof course it is vibed. it doesn't matter as long as it works.
- ActionHank 3mo 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 3mo 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 3mo 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 3mo 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 3mo 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 3mo 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 3mo 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 3mo agoAI companies are unable to fix the bugs in their own text editors for years… no AI cannot fix bugs, clearly.
- kameit00 3mo agoIn 12 months… vibe code mess. Or discontinued. Or both.
- ttul 3mo agoHow much time have you spent with Fable? We're in new territory here. It does not create messes.
- ubercore 3mo 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 3mo 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 3mo 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 3mo ago> We're in new territory here. > It does not create messes. ?
- mcphage 3mo 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 3mo 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 3mo ago> it doesn't matter as long as it works. I think the clankers would call this a "load bearing statement".
- nielsbot 3mo agoit reads like marketing copy…
- getpokedagain 3mo agoSomething working is pointless if there are no users and no need is being addressed.
- himata4113 3mo agoThis is written by fable with the guidance of a very experienced, highly skilled person. See their previous work.
- throwaway27448 3mo agoExperience doesn't change the fundamental problem. I don't see this project going anywhere for general use beyond their needs.
- Dilettante_ 3mo 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 3mo 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_ 3mo agoThis guy is behind the awesome Oh My Pi agent, so I’d give him a chance.
- thx67 3mo 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 3mo agoHow does performance compare to RustPython compiled in a similar way?
- cuzezzzbbfofai 3mo agoCan it run Numpy and Torch?
- smithza 3mo 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 3mo 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 3mo agoWhat happens if you call exec/eval? Are they just not available?
- smithza 3mo agothis as well as pickle files will likely be unavailable
- moronicles 3mo ago[dead]
- leobuskin 3mo agoIt uses JIT
- skeledrew 3mo agoAlso getattr/setattr, the magic methods, etc. I imagine this dead on arrival.
- leobuskin 3mo 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 3mo ago"Without ai assistance" - ok, but what about with ai assistance?
- zahlman 3mo agoFor a project like this, relying on AI assistance also makes it effectively dead in the water.
- iLoveOncall 3mo 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 3mo 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 3mo agoHow would a search engine filter that out?
- genewitch 3mo 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 3mo agoDon't we have Nuitka for this?
- getpokedagain 3mo 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 3mo 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 3mo agoIt says ratchet so much. Yeah that's pretty ratchet. Idk what it even means for some of those usages.
- getpokedagain 3mo agoOh what the fuck I can t unsee
- 3form 3mo agoAhh, AI. All ratchet and clank.
- drivebyhooting 3mo agoLooks like it still uses python object model. You need auto unboxing for good performance.
- dr_kretyn 3mo 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 3mo agoSeems to be slow as molasses compared to cpython.
- bbminner 3mo 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 3mo 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 3mo agoThey can, and they have been doing so. But humans are expensive. Especially smart humans.
- int_19h 3mo agoFable is also very expensive, unfortunately. It will be interesting to see how cheap they can make it long term.
- eru 3mo 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 3mo agoit's been tried 10 million times. so yeah
- Archit3ch 3mo agoSurely this will succeed where $4B Modular failed!
- thx67 3mo 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 3mo 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 3mo agoMojo not good enough?
- piloto_ciego 3mo 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 3mo agoWhat's so exciting about your software being made of code nobody can or wants to understand?
- piloto_ciego 3mo agoCan you not see how amazing this is?
- weregiraffe 3mo agoA nuclear explosion is amazing, but I won't be excited about the nuke falling on my head.
- piloto_ciego 3mo agoYou’re intentionally being obtuse
- worldsavior 3mo agoYou can see it cause...you're a prophet right?
- LtWorf 3mo agoThe man's called "blind pilot".
- piloto_ciego 3mo agoNot a prophet at all, but can you imagine 5 years ago, thinking that this was even possible?
- rcarmo 3mo 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.
- valentynkit 3mo ago[flagged]