Urgent.News

What's breaking now, across thousands of outlets.

Tech

Externum launches today: one typed source Python, Bash or bytecode (with honest benchmarks)

One statically typed source compiles to readable CPython, a standalone set -euo pipefail bash script, or a source-less bytecode artifact. The compiler is written mostly in itself, bootstrapped from a 6.4 KB Python stub. Today Externum is launching (Show HN + DevHunt launch week). This post is the honest version of that story: what it does, what it's bad at, and the numbers I'd want to see before…

Externum, a statically typed source compiler, has launched today. It can compile to readable CPython, a Bash script, or bytecode. The compiler itself is written mostly in Externum, bootstrapped from a 6.4 KB Python stub. The launch, promoted via Show HN and DevHunt, aims to provide honest benchmarks and transparency.

Externum's Python backend emits plain CPython source, allowing for review and PR integration. The Bash backend creates standalone scripts with local parameters and recursion via ($(...)). However, it warns about limitations where bash lacks equivalents. The bytecode target outputs a .exbc artifact for distribution rather than code.

Benchmarks revealed the Python path to be ~1.6× slower than hand-written CPython due to the multi-target nature. The Bash path was ~11× faster than the same arithmetic loop in Bash. The bytecode VM was ~30× slower, intended for distribution, not speed. The author emphasizes the importance of accurate benchmarks, as initial claims were based on measuring code generation instead of execution.

The compiler has undergone rigorous testing with ~380 tests, ensuring output consistency across backends. The project is MIT-licensed, self-hosted, and available for browser playground access via pip install externum. During launch week, a Pro Pack of 70+ exercises, solutions, and a production guide is offered for $29 (down from $50) using the code LAUNCHWEEK. The team encourages questions, especially addressing potential flaws, on the launch page or the Hacker News thread.

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

Cómo solucionar `docker run` con exit code 1 en Raspberry Pi

Cómo solucionar docker run con exit code 1 en Raspberry Pi ¿Por qué ocurre este error? El código de salida 1 indica que el proceso principal del contenedor terminó con un error genérico.

  • Exit code 1 indicates container process terminated due to generic error.
  • Syntax error in command: spaces around = in --net=host flag.
  • Rebuild image for ARM architecture or use pre-built compatible image.

More from Monday 21 September →