5 comments

  • klardotsh2 hours ago
    Windows support is huge. One of the barriers to me considering QBE for a project in recent memory was that it had no story for proprietary OSes (Windows, MacOS), and whether I like it or not, those make up the overwhelming majority of desktop-like market share. (this is the same reason I find Hare, a language that builds with QBE, interesting but not practical for my own uses - targeting only Linux and the BSDs is a non-starter, even if I personally am a Linux-only guy)
    • Imustaskforhelp2 hours ago
      I agree!<p>One of the benefits of this new QBE feature of supporting windows could be that this allows a language like Hare to be used for windows too, all the more power to Hare and other programming languages built on top of QBE!
      • packetlost40 minutes ago
        In theory, sure, but there&#x27;s no way Hare is going to ever officially support Windows. Even if the compiled backend supports the target, the language still needs to abstract over the OS interfaces and implement syscalls.
  • supergarfield2 hours ago
    I really want to like QBE, but declaration blocks like this make it feel like 1970s Unix code more than a modern hackable piece of software:<p><pre><code> int t, x, r, rf, rt, nr; bits rs; Ins *i, *i1; Mem *m; Ref *ra[4]; </code></pre> I think it deters some users by making it hard to read and understand the relatively subtle code in the 300 line function that follows. (Skill issue, I know)
    • norir1 hour ago
      It is hard for me to fully trust a compiler backend that isn&#x27;t self hosted. There is a discipline that self hosting imposes that would both improve the quality of their ir as well as the backend itself. A self hosted backend can always be updated to have performance meeting or exceeding the best that llvm or any other backend can offer.
    • IshKebab14 minutes ago
      Yeah that looks like they&#x27;ve prioritised code golfing a bit too much over code quality. Also using AT&amp;T assembly syntax shows poor taste. Definitely 80s themed software.
  • r2ob1 hour ago
    Is QBE intended for production use, or is it primarily a research&#x2F;educational project?
    • peterfirefly4 minutes ago
      clearly the latter.
    • dismalaf22 minutes ago
      Well according to this it&#x27;s currently around 40% as fast as gcc -O2...
  • opem59 minutes ago
    So will hare now support windows?
  • dang1 hour ago
    Related. Others?<p><i>QBE – Compiler Back End</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48059633">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48059633</a> - May 2026 (28 comments*)<p><i>Blaise – A modern self-hosting zero-legacy Object Pascal compiler targeting QBE</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48058644">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48058644</a> - May 2026 (55 comments)<p><i>Qbecc – QBE based C compiler</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=45461195">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=45461195</a> - Oct 2025 (3 comments)<p><i>Let&#x27;s write a peephole optimizer for QBE&#x27;s ARM64 back end</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=45099348">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=45099348</a> - Sept 2025 (1 comment)<p><i>QBE – Compiler Back End</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=40346320">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=40346320</a> - May 2024 (37 comments)<p><i>cproc – Small C11 compiler based on QBE</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32466098">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=32466098</a> - Aug 2022 (1 comment)<p><i>QBE 1.0</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31846433">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=31846433</a> - June 2022 (3 comments)<p><i>I wrote a peephole optimizer for QBE</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30864448">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30864448</a> - March 2022 (5 comments)<p><i>Cproc C Compiler</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28242024">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28242024</a> - Aug 2021 (45 comments)<p><i>Cproc – a C11 compiler using QBE as a back end</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25273918">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25273918</a> - Dec 2020 (1 comment)<p><i>QBE vs. LLVM</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25273907">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25273907</a> - Dec 2020 (99 comments)<p><i>Show HN: QBE – a new compiler back end</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11555527">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11555527</a> - April 2016 (68 comments)<p>(* Normally a thread that recent with significant comments would count as a dupe (<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;newsfaq.html">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;newsfaq.html</a>), but it didn&#x27;t get that much frontpage time so I&#x27;ve made an exception.)