Urgent.News

What's breaking now, across thousands of outlets.

Tech

Singeli: High-level interface for low-level programming

Singeli is a domain-specific language for building high-performance algorithms (including SIMD) with flexible abstractions over code that corresponds to individual instructions. It's implemented in BQN, with a frontend that emits IR and a backend that converts it to C (the IR is simple, so that other backends like LLVM or machine code could be supported without much work). Comments

Singeli is a domain-specific language designed for creating high-performance algorithms, including those with SIMD capabilities. It boasts flexible abstractions over code that map to individual instructions and can be implemented in BQN, a language of its own. The Singeli interpreter or compiler features a frontend that generates intermediate representation (IR) and a backend that converts it into C code.

It's a metaprogramming language, aiming to build abstractions around CPU instructions to generate specialized codes. Singeli includes a generator concept that allows for flexible, Turing-complete code creation during compilation. Generators can be programmed with parameters and behave differently based on conditions. They can be defined anonymously or named.

Singeli supports both left-associative and prefix syntax for operators. The language also provides debugging tools like compile-time print statements (`show{}`) and runtime printing (`lprintf{}`). Debugging can be done using the interactive Singeli playground or the singeli-lsp for advanced editing features. Singeli's design discussions have taken place in various online forums, and it currently has a stable core language.

The language caters to low-level programming, making it an ideal choice for developers looking to optimize their code for specific hardware instructions.

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

Read the original at github.com →

More in Tech

Migrated Up, Then Back

Over a few weeks I moved seven self-hosted services onto Kubernetes — ArgoCD, supply-chain policy, the whole GitOps loop — and then, on one afternoon, I moved all seven back to Docker Compose.

  • Migrated seven services to Kubernetes, including ArgoCD and GitOps loop.
  • Reverted back to Docker Compose within a day, keeping only three open-source services.

Web Traffic Inspector Dash

Mischievous Behavior Detected 🔎 It all started when I discovered an anonymous user was uploading a file with a strange extension and then trying to execute it.

  • User discovered unusual server behavior and created a traffic dashboard
  • Identified key indicators of security threats like IP tampering
  • Recommended AbuseIPDB for free API key to enhance security

More from Monday 14 September →