Live data from Hacker News

Fabrice Bellard Releases MicroQuickJS

github.com

511–520 of 594 posts

Re: Fabrice Bellard Releases MicroQuickJS

#511
post #395
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…

Because it adds nothing to the conversation. Im

How does executing MicroQuickJS from Python not have anything to do with MicroQuickJS?

Re: Fabrice Bellard Releases MicroQuickJS

#512

Earlier quoted context omitted.

I was hoping you experimented with this! I am right there with you, hoping for an easier wasm sandbox for LLMs. (Keep posting please. Downvotes due to mentioning LLMs will be perceived as a quaint historic artifact in the not so distant future…)

On the contrary, it's pretty possible that LLMs themselves will be perceied as a quaint historic artefact and join the ranks of mechanical turks, zeppelins, segways, google glasses and blockchains.

If you can operationalize this I’ll happily take a bet against this, and offer you great odds.

Re: Fabrice Bellard Releases MicroQuickJS

#513
post #497
post #450

Earlier quoted context omitted.

Not Google actually, but the same people from C, AWK and Unix (and 9front, which is "Unix 2.0" and it has a simpler C (no POSIX bloat there) and the compilers are basically the philosophy of Golang (cross compile from any to any arch, CSP concurrency...) Also, the Limbo language it's basically pre-Go.

https://en.wikipedia.org/wiki/Go_(programming_language)#Hist... : "Go was designed at Google in 2007"

No.

https://en.wikipedia.org/wiki/Alef_(programming_language)

https://en.wikipedia.org/wiki/Limbo_(programming_language)

https://en.wikipedia.org/wiki/Newsqueak

https://en.wikipedia.org/wiki/Communicating_sequential_proce...

https://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compil...

It was amalgamated at Google.

Originally Go used the Ken C compilers for Plan9. It still uses CSP. The syntax it's from Limbo/Inferno, and probably the GC came from Limbo too.

If any, Golang was created for Google by reusing a big chunk of plan9 and Inferno's design, in some cases even straightly, as it shows with the concurrency model. Or the cross-compiling suite.

A bit like MacOS X under Apple. We all know it wasn't born in a vacuum. It borrowed Mach, the NeXTStep API and the FreeBSD userland and they put the Carbon API on top for compatibility.

Before that, the classic MacOS had nothing to do with Unix, C, Objective C, NeXT or the Mach kernel.

Mac OS X is to NeXT what Go is for Alef/Inferno/Plan9 C. As every MacOS user it's using something like NeXTStep with the Macintosh UI design for the 21th century, Go users are like using a similar, futuristic version of the Limbo/Alef programming languages with a bit of the Plan9 concurrency and automatic crosscompilation.

Re: Fabrice Bellard Releases MicroQuickJS

#514
post #67
post #17

Clarification added later : One of my key interests at the moment is finding ways to run untrusted code from users (or generated by LLMs) in a robust sandbox from a Python application. MicroQuickJS looked like a very strong contender on that front, so I fired up Claude Code to try that out and build some prototypes. I had Claude Code for web figure out how to run this in a bunch of different ways this morning - I hav…

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 don't know why people are downvoting your comment, but it could be considered a low-effort post: here's (a link to) something I prompted AI with, here's (a link to) what it produced (the whole repo).

I would guess people don't know how you expect them to evaluate this, so it comes off as spamming us with a bunch of AI slop.

(That C can be compiled to WASM or wrapped as a python library isn't really something that needs a proof-of-concept, so again it could be understood as an excuse to spam us with AI slop.)

Re: Fabrice Bellard Releases MicroQuickJS

#516
post #178

Earlier quoted context omitted.

I don't love a good deal of Lua's syntax, but I do think the authors had good reasons for their choices and have generally explained them. Even if you disagree, I think "without good reasons" is overly dismissive. Personally though, I think the distinctive choices are a boon. You are never confused about what language you are writing because Lua code is so obviously Lua. There is value in this. Once you have written…

> In my programs, I have banned the use of loops. Rather, you no longer see what they're doing clearly.

How so?

I suppose if you don’t understand recursion.

Re: Fabrice Bellard Releases MicroQuickJS

#517

Earlier quoted context omitted.

Thank you for the precise answer. I still think that the language property (or requirement, or behavior as seen by within the language itself) that we're talking about in this case is "unbounded nested calls" and that the language specs doesn't (shouldn't) assume that such property will be satisfied in a specific way, e.g. switching the call to a branch, as TCO usually means.

Unbounded nested calls as long as those calls are in tail position , which is a thing that needs to be defined—trivially, as `return EXPR(EXPR...)`, in Lua; while Scheme, being based around expressions, needs a more careful definition, see link above. Otherwise yes. For instance, Scheme implementations that translate the Scheme program into portable C code (not just into bytecode interpreted by C code) cannot assume…

Cheney on the MTA is a great paper/algorithm, and I'd like to add (for the benefit of the lucky ten thousand just learning about this) that it's pun on a great old song: Charlie on the MTA ( https://www.youtube.com/watch?v=MbtkL5_f6-4 ). The joke is that in both cases it will never return, either because the subway fare is too high or because you don't want to keep the call stack around.

Re: Fabrice Bellard Releases MicroQuickJS

#519
post #513
post #497

Earlier quoted context omitted.

https://en.wikipedia.org/wiki/Go_(programming_language)#Hist... : "Go was designed at Google in 2007"

No. https://en.wikipedia.org/wiki/Alef_(programming_language) https://en.wikipedia.org/wiki/Limbo_(programming_language) https://en.wikipedia.org/wiki/Newsqueak https://en.wikipedia.org/wiki/Communicating_sequential_proce... https://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compil... It was amalgamated at Google. Originally Go used the Ken C compilers for Plan9. It still uses CSP. The syntax it's from Limbo/Infer…

That's wonderful how you tied those threads together to describe Go's philosophical origins. I'm having a great time exploring the links. And the parallel with NeXTSTEP is fascinating too, I've been interested in that part of software history since learning that Tim Berners-Lee created WorldWideWeb.app on the NeXTcube.

Re: Fabrice Bellard Releases MicroQuickJS

#520

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…

LuaJIT’s C FFI integration is super useful in a scripting language and I’ve replaced numerous functions previously written in things like Bash with it.

it also helps that it has ridiculously high performance for a scripting language

Post reply on HN