Live data from Hacker News

Fabrice Bellard Releases MicroQuickJS

github.com

161–170 of 594 posts

Re: Fabrice Bellard Releases MicroQuickJS

#161

This engine restricts JS in all of the ways I wished I could restrict the language back when I was working on JSC. You can’t restrict JS that way on the web because of compatibility. But I totally buy that restricting it this way for embedded systems will result in something that sparks joy

Since you’re on the topic, what ever happened to the multi threading stuff you were doing on JSC? Did it stop when you left Apple? Is the code still in JSC or did it get taken out?

I never really started on it other than writing up how to do it

Re: Fabrice Bellard Releases MicroQuickJS

#162
post #103
post #84

Earlier quoted context omitted.

Usually I watch your stuff very closely (and positively) because you're pushing the edges of how LLMs can be useful for code (and are a lot more honest/forthwright than most enthusiasts about it Going Horribly Wrong and how much work you need to do to keep on top of it.) This one... looks like a crossbar of random things that don't seem like things anyone would actually want to do? Mentioning the sandboxing bit in th…

Yeah, I failed completely to explain the context here. I'm currently on a multi-year side-quest to find safe ways to execute untrusted user-provided code in my Python and web applications. As such, I pay very close attention to any new language or library that looks like it might be able to provide a robust sandbox. MicroQuickJS instantly struck me as a strong candidate for that, and initial protoyping has backed tha…

It is depressing the age of llm coding power came during python and JavaScript.

Unfortunately it means those languages will be the permanent coding platforms.

Re: Fabrice Bellard Releases MicroQuickJS

#163
post #149
post #133

Earlier quoted context omitted.

It wouldn't fix the issue of semantics, but "language skins"[1][2] are an underexplored area of programming language development. People go through all this effort to separate parsing and lexing, but never exploit the ability to just plug in a different lexer that allows for e.g. "{" and "}" tokens instead of "then" and "end", or vice versa. 1. https://hn.algolia.com/?type=comment&prefix=true&query=cxr%2... > 2. http…

Not "never exploit"; Reason and BuckleScript are examples of different "language skins" for OCaml. The problem with "skins" is that they create variety where people strive for uniformity to lower the cognitive load. OTOH transparent switching between skins (about as easy as changing the tab sizes) would alleviate that.

> OTOH transparent switching between skins (about as easy as changing the tab sizes) would alleviate that.

That's one of my hopes for the future of the industry: people will be able to just choose the code style and even syntax family (which you're calling skin) they prefer when editing code, and it will be saved in whatever is the "default" for the language (or even something like the Unison Language: store the AST directly which allows cool stuff like de-duplicating definitions and content-addressable code - an idea I first found out on the amazing talk by Joe Armstrong, "The mess we're in" [1]).

Rust, in particular, would perhaps benefit a lot given how a lot of people hate its syntax... but also Lua for people who just can't stand the Pascal-like syntax and really need their C-like braces to be happy.

[1] https://www.youtube.com/watch?v=lKXe3HUG2l4

Re: Fabrice Bellard Releases MicroQuickJS

#164

Earlier quoted context omitted.

Maybe claude code uses bellard as agent

Claude is really Bellard sitting in his kitchen, sipping coffee, casually replying to code requests while getting ready for his day.

This explains a lot. Opus 4.5 gives you access to Bellard after his second cup of coffee.

Re: Fabrice Bellard Releases MicroQuickJS

#165

Earlier quoted context omitted.

Don't forget his LLM based text compression software that won awards. Guy is a genius. I hope he tries Rust someday

Fabrice, if you're reading this, please consider replacing Rust instead with your own memory safe language. The design intent of Rust is a powerful idea, and Rust is the best of its class, but the language itself is under-specified[1] which prevents basic, provably-correct optimizations[0]. At a technical level, Rust could be amended to address these problems, but at a social level, there are now too many people who…

I think of Rust might trigger a new generation of languages that are developed with the hindsight of rust.

The principle of zero cost abstractions avoids a slow slide of compromising abstraction cost, but I think there could be small cost abstractions that would make for a more pragmatic language. Having Rust to point at to show what performance you could be achieving would aid in avoiding bloating abstractions.

Re: Fabrice Bellard Releases MicroQuickJS

#166

It's unfortunate that he uploaded this without notable commit history, it would be interesting to see how long it takes a programmer of his caliber to bring up a project like this. That said, judging by the license file this was based on QuickJS anyway, making it a moot comparison.

It does say "public repository of..." implying there's a non-public one with real history. Not sure why not upload the main one though.

Re: Fabrice Bellard Releases MicroQuickJS

#167
post #67

Earlier quoted context omitted.

Down to -4. Is this generic LLM-dislike, or a reaction to perceived over-self-promotion, or something else? No matter how much you hate LLM stuff I think it's useful to know that there's a working proof of concept of this library compiled to WASM and working as a Python library. I didn't plan to share this on HN but then MicroQuickJS showed up on the homepage so I figured people might find it useful. (If I hadn't dis…

I downvoted because I'm tired of people regurgitating how they've done this or that with whatever LLM of the week on seemingly every technical post. If you care that much, write a blog post and post that, we don't need low effort LLM show and tell all day everyday.

Here you go: https://simonwillison.net/2025/Dec/23/microquickjs/

Re: Fabrice Bellard Releases MicroQuickJS

#168

If this had been available in 2010, Redis scripting would have been JavaScript and not Lua. Lua was chosen based on the implementation requirements, not on the language ones... (small, fast, ANSI-C). I appreciate certain ideas in Lua, and people love it, but I was never able to like Lua, because it departs from a more Algol-like syntax and semantics without good reasons, for my taste. This creates friction for newcom…

Out of interest, was Tcl considered? It's the original embeddable language.

Re: Fabrice Bellard Releases MicroQuickJS

#169
post #154
post #149

Earlier quoted context omitted.

Not "never exploit"; Reason and BuckleScript are examples of different "language skins" for OCaml. The problem with "skins" is that they create variety where people strive for uniformity to lower the cognitive load. OTOH transparent switching between skins (about as easy as changing the tab sizes) would alleviate that.

People fight about tab sizes all the time though.

That's precisely the point of using tabs for indentation: you don't need to fight over it, because it's a local display preference that does not affect the source code at all, so everyone can just configure whatever they prefer locally without affecting other people.

The idea of "skins" is apparently to push that even further by abstracting the concrete syntax.

Re: Fabrice Bellard Releases MicroQuickJS

#170

Fabrice Bellard is widely considered one of the most productive and versatile programmers alive: - FFmpeg: https://bellard.org - QEMU: https://bellard.org/qemu/ - JSLinux: https://bellard.org/jslinux/ - TCC: https://bellard.org/tcc/ - QuickJS: https://bellard.org/quickjs/ Legendary.

He's also won the International Obfuscated C Code Contest 3 times.

https://www.ioccc.org/authors.html#Fabrice_Bellard

Post reply on HN