Urgent.News

What's breaking now, across thousands of outlets.

Tech

The Fixpoint No Test Suite Can Check

Code: Megapixel99/lambda-language lm is a small low-level language with four independent backends: C, WebAssembly, ARM64, and bytecode for a VM. Its test suite is built around the fact that there are four of them. Every program runs through all four and the outputs are compared byte for byte against each other and against a recorded expectation, so a backend that gets something subtly wrong…

The fixpoint test suite for the LM language, which supports C, WebAssembly, ARM64, and bytecode VM backends, consists of 94 tests that compare outputs byte for byte across all backends. It can detect subtle backend differences but cannot catch a compiler that quietly disagrees with its own output. The most notable issue is that the compiler written in LM does not compile itself correctly, passing all tests while producing incorrect results.

Other tests include ARM64 losing a register in memmove and the compiler driver truncating large output. The fixpoint test goes beyond a regular test suite by checking if a compiler, when run on its own source, produces identical output. This self-hosting approach proves the compiler's consistency but does not guarantee its correctness.

The fixpoint test reveals limitations in the language, such as a bug where a growable arena and stored address mix, causing incorrect storage behavior.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

What's actually inside an image's DPI tag (and why changing it is lossless)

A print shop rejected a 4000 × 2667 px photo last week because the file "was only 72 DPI". The photo had more than enough pixels for the 8 × 10 in print they were making — at 300 DPI that size only…

  • DPI tag indicates printer's suggested density, not actual resolution
  • Changing DPI value in tag doesn't affect actual pixels or compressed data
  • Only impact is on how image is interpreted when printed

Rust for Rust, JS for JS: introducing Ahoi

Why I built Ahoi When you want to manage data state in Rust/Wasm inside a web app, there have been two main options. Option 1: hand-roll the bridge between Rust and JS.

  • Ahoi tool manages data state in Rust/Wasm for web apps
  • Separates reactive state management in Rust, thin bridge to JS
  • Supports SolidJS, React, Vue, Svelte frameworks via npm packages

How a University Student Built a 64+ Client-Side Utility Suite in 30 Days (React, WASM & AI)

Building ToolVerve: A 100% Client-Side Web Utility Suite Hi DEV Community! 👋 I'm a university student, and over the past 30 days, I dedicated my personal effort and focus to build ToolVerve —a…

  • University student builds 64+ client-side utility suite in 30 days
  • Utilizes WebAssembly, Web Workers, PWA, React, Vite, and Tailwind CSS
  • Launches on Product Hunt Sept 7 at 12:01 PM PKT

More from Sunday 6 September →