惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
T
Threatpost
P
Palo Alto Networks Blog
NISL@THU
NISL@THU
O
OpenAI News
Project Zero
Project Zero
G
GRAHAM CLULEY
P
Privacy International News Feed
A
Arctic Wolf
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
D
Docker
aimingoo的专栏
aimingoo的专栏
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
W
WeLiveSecurity
P
Proofpoint News Feed
腾讯CDC
Cloudbric
Cloudbric
S
Secure Thoughts
C
Check Point Blog
博客园 - Franky
T
The Exploit Database - CXSecurity.com
T
Troy Hunt's Blog
GbyAI
GbyAI
Security Archives - TechRepublic
Security Archives - TechRepublic
Application and Cybersecurity Blog
Application and Cybersecurity Blog
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
TaoSecurity Blog
TaoSecurity Blog
L
Lohrmann on Cybersecurity
V
Visual Studio Blog
F
Fortinet All Blogs
博客园 - 叶小钗
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
C
Cisco Blogs
博客园 - 司徒正美
Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine — Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Show HN: VCoding – A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agents–no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main · ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: 📄 PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedIn™ 职位抓取工具 - Chrome 应用商店 GitHub - EdoardoBambini/Agent-Armor-Iaga: AI agents are getting tool access — shell, file system, databases, APIs, secrets. But **nobody is governing what they actually do with it**. Frameworks like LangChain, CrewAI, AutoGen, and Claude Code give agents the power to execute. Agent Armor gives you the power to control, audit, and approve every single action before it happens. HN Vibes — Week 15, Apr 7–13 2026 GitHub - chojs23/ec: Easy terminal-native 3-way git mergetool vim-like workflow GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - JakOb-dotcom/cloud-sandbox-security-analysis: Technical analysis and Proof of Concept (PoC) regarding environment variable exfiltration in containerized cloud sandboxes via side-channel data leaks. Springboards - Flint Alpha Show HN: A simpler coding agent harness GitHub - audiodude/sudomake-friends GitHub - 256thFission/mini-mythos: OSS clone of Anthropic’s Mythos harness to locate C/C++ memory vulnerabilities Show HN: OpenParallax: OS-level privilege separation for AI agent execution Hacker News Sorted - Chrome 应用商店 Show HN: How to Install Docker on Ubuntu 24.04 LTS: Complete 2026 Guide GitHub - himanshudongre/smriti GitHub - sverrirsig/claude-control: macOS desktop dashboard for monitoring and managing multiple Claude Code sessions GitHub - ory/dockertest: Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work. Chiral - Chrome 应用商店 Show HN: Two Claudes collaborating through shared memory on a $100 mini-PC GitHub - pmichaillat/latex-cv: Minimalist LaTeX template for academic CVs GitHub - oguzbilgic/posse: A web UI for Anthropic Managed Agents. GitHub - sshiraz/depsly: Dependency risk analysis tool for npm packages ABI Add safari/agent-harness — Safari browser automation via safari-mcp by achiya-automation · Pull Request #212 · HKUDS/CLI-Anything GitHub - Halfblood-Prince/trustcheck: Verify PyPI package attestations and improve Python supply-chain security GitHub - oguzbilgic/kern-ai: Agents that do the work and show it. GitHub - bruits/satteri: High-performance Markdown and MDX processing for the JavaScript ecosystem GitHub - tylergibbs1/feedstock: High-performance web crawler and scraper for TypeScript, powered by Bun and Playwright GitHub - Grimm67123/grimmbot: The self-improving sandboxed and open-source AI agent. With persistent memory and scheduling. GitHub - whitevanillaskies/whitebloom: Local whiteboard that blooms. GitHub - hwdsl2/docker-whisper: Docker image for a self-hosted Whisper speech-to-text server with speaker diarization and OpenAI-compatible transcription and translation APIs. Powered by faster-whisper. Supports all Whisper models, NVIDIA GPU (CUDA) acceleration, JSON/SRT/VTT output, SSE streaming, offline mode, and multi-arch (amd64, arm64). GitHub - yisding/reviewwiggum GitHub - MarwanAlsoltany/serrors: Structured errors for Go: sentinel hierarchies, typed data, custom formatting, and slog integration. GitHub - soatok/age-php GitHub - Luthiraa/markitme GitHub - stagas/rtdiff: realtime git diff gui and AI-assisted commits GitHub - tombedor/excalicharts GitHub - wh1le/excalidraw-edit: Open and edit .excalidraw files from the terminal. Offline, auto-saves to disk. MalExt Sentry - Malicious Extension Scanner - Chrome 应用商店 GitHub - syi0808/asciianimesvg: Generate animated ASCII art SVGs from text. CLI, Rust library, WASM, and web editor. GitHub - zaina-ml/ml_forge: A visual-based graph node editor for training computer vision models. GitHub - anakin87/llm-rl-environments-lil-course: 🌱 A little course on Reinforcement Learning Environments for evaluating and training Language Models GitHub - takaakit/superpowers-uml: Superpowers-UML modifies Superpowers to ensure a software development workflow in which AI agents design through UML modeling. AdriByte Studio - Sviluppo Web e Soluzioni Digitali GitHub - chouligi/angel-copilot: Your personalized Angel Investment Advisor Show HN: MoodSense AI (ML and FastAPI and Gradio, Deployed on Hugging Face) Moodsense Ai - a Hugging Face Space by aman179102 GitHub - agenteractai/lodmem: Level Of Detail Context Management for Agents GitHub - ostefani/subnetlens: A fast, concurrent network scanner with a TUI and plain-text CLI, built in Go. It discovers live hosts on your network, scans their open ports, resolves hostnames, and fingerprints operating systems—delivered. Cyber Pulse: Agentic Intel - Apps on Google Play Whisper API: Self-Hostable Speech to Text Transcription The Agent-Web Protocol Stack: A Research Thesis GitHub - msmarkgu/RelayFreeLLM: A restful API designed to route user prompts to various AI model providers. Show HN: Provepy – A Python decorator that proves your code using Lean and LLMs Show HN: Pardonned.com – A searchable database of US Pardons GitHub - patrickdappollonio/dux: Dux is a terminal UI that lets you run multiple AI coding agents side by side, each in its own git worktree, with full companion terminals, macros, commit generation, and a command palette that knows more tricks than you do. kMC Crystal Simulator Show HN: HyperFlow – A self-improving agent framework built on LangGraph GitHub - stef41/vibescore: 🎵 Grade your vibe-coded project. One command, instant letter grade across security, quality, dependencies, and testing. GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. imgur.com GitHub - visionscaper/collabmem: Enabling long-term collaboration with Agentic AI - building up episodic and world model memory over time with in-context awareness 在 Steam 上购买 FriedrichAI: Offline AI 立省 10% GitHub - atripati/ark: AI Runtime Kernel — a context operating system for AI agents. Eliminates tool bloat, loads only what’s needed, and gives LLMs their reasoning space back. GitHub - nowork-studio/toprank: Open-source Claude Code skills for SEO, SEM, Google Ads GitHub - tacomanator/sash: Lightweight macOS menu bar app for reliably cycling through windows of the current application. Appents | Social Media Management for Product-First Teams GitHub - pnhoang/youtube-spam-blocker: Automatically detects and hides spam messages in YouTube Live chat. Set rate limits, keyword filters, and block repeat offenders. GitHub - decisionnode/DecisionNode: CLI + Local MCP - A shared structured memory store across Claude Code, Cursor, Windsurf, Antigravity, and every MCP client. Semantically queryable. GitHub - AvaCodeSolutions/django-email-learning: An open source Django app for creating email-based learning platforms with IMAP integration and React frontend components. The $100K Gap in Kubernetes Security Tooling Function Calling Harness: From 6.75% to 100%
GitHub - DO-SAY-GO/freelang: I love freelang
keepamovin · 2026-05-12 · via Hacker News: Show HN

FreedomLang. Reality is magic enough.

FreedomLang

CI

Model the world as data. Treat bugs as fatal.

FreedomLang is a small AOT-compiled systems language for auditable native tools.

It draws one hard line:

missing file       -> world state
network timeout    -> world state
permission denied  -> world state

bad tag
bad field access
impossible state   -> fatal bug

External uncertainty belongs in data. Broken invariants do not.

FreedomLang is not trying to replace Rust, Go, Python, or shell. It is for the narrow places where you want a native binary, explicit failure semantics, and a compiler/runtime that a determined engineer can read end to end.

No more magic. Reality is magic enough.

In three sentences: FreedomLang compiles .flx source through a JavaScript compiler and a compact IR into native x86-64 artifacts. It draws a hard semantic line between external uncertainty, which is modeled as explicit data, and broken program invariants, which terminate immediately. The project is pre-1.0, but the compiler, runtime model, backends, and behavior tests are real enough to evaluate from code instead of promises.

In one paragraph: FreedomLang is a deliberately small, readable compiler/runtime stack for people who care about native tools, auditability, and failure semantics more than optimizer sophistication or ecosystem size. Programs use familiar imperative syntax, user-defined operators, object-shaped calls, tagged runtime values, explicit job/fork concurrency, and a growing chaos/world-state model for things like missing files and network timeouts. The compiler does not rely on LLVM, a VM, or a JIT; the repository contains the frontend, IR lowering, platform backends, runtime helpers, stdlib, and behavior suite, so public technical questions can usually be answered by pointing at a source file or test.

What it is

FreedomLang is an AOT compiled language with a compiler written as ordinary JavaScript. There is no project-specific compiler binary to install in the normal workflow: you run freelang.js with Node.js, inspect the compiler source in this repository, and get native x86-64 output.

The current pipeline is:

.flx source -> lexer/parser -> AST -> FreedomLang IR -> x86-64 backend

Targets today:

Target Output
Linux Linux x86-64 Direct native ELF executable
macOS macOS x86-64 Native assembly linked by clang into Mach-O
Windows Windows x86-64 Native x86-64 assembly for the Microsoft ABI, linked into PE/COFF with LLVM/MSVC tools

The Linux icon is the Ubuntu mark because CI currently runs on Ubuntu-hosted Linux; the target is Linux x86-64 generally, not Ubuntu-only.

The implementation entry point is freelang.js. The major compiler pieces live in src/frontend.js, src/ir.js, src/backend/, and src/runtime/.

Why it exists

FreedomLang is built around a simple rule:

Model the world as data. Treat bugs as fatal.

Network timeouts, missing files, EOF, and permission failures are world states that code should model explicitly. Invalid tags, impossible states, bad field access, and broken invariants are bugs; they should stop the job instead of leaking into later computation.

That gives FreedomLang its main benefits:

  • Auditability: the compiler and runtime are intentionally small and direct.
  • Predictability: no user exceptions and no hidden recovery paths.
  • Native artifacts: generated programs run as x86-64 binaries or linked assembly, not on a VM or JIT.
  • Explicit runtime model: tagged values, visible heap object layouts, runtime checks, and fail-fast traps.
  • Isolation-oriented concurrency: jobs use explicit handles and wait; modern fork blocks make concurrency visible in source.

No more magic

Reality is magic enough.

Modern software has been living through an age of magic.

Magic render trees. Magic object queries. Magic deployment layers. Magic async behavior. Magic recovery paths. Magic defaults. Magic frameworks that look like the thing you already know, but are subtly not that thing, until your expectations become the bug.

Enough.

No more cursed magic.
No more magic footguns.
No more hidden recovery paths.
No more exception mazes.
No more framework seances.
No more "trust me" runtime behavior.
No more clever layers silently doing the expensive thing you did not ask for.

FreedomLang is built from the opposite instinct.

Do not hide the world. Model it.

A missing file is not an exception from reality. It is reality.
A network timeout is not a surprise. It is the network.
Permission denied is not a stack trace waiting to happen. It is a world state.

Those states should be visible in the program.

missing file       -> world state
network timeout    -> world state
permission denied  -> world state

bad tag
bad field access
impossible state   -> fatal bug

The line matters.

External uncertainty belongs in data. Broken invariants do not.

FreedomLang does not try to make every failure recoverable. It tries to separate the failures you must model from the bugs you must stop.

If a program depends on the world, the world should be in the program.

If a job forks, the fork should be visible.
If a job waits, the wait should be visible.
If data crosses a boundary, the boundary should be visible.
If the program enters an impossible state, it should die there, loudly, before the lie spreads.

FreedomLang is early. It does not fully achieve this philosophy yet. But this is the direction of the work:

No more magic. Reality is magic enough.

Feature domains

Status key: ✅ implemented and covered, 🟡 implemented but still hardening or platform-gated, 🧭 planned or aspirational.

Feature set domain Status What exists now Why it matters Honest notes
Native compiler pipeline .flx source is parsed, lowered to FreedomLang IR, then emitted by x86-64 backends. The implementation is small enough to inspect without treating a huge compiler stack as magic. There is no serious optimizer yet, and the compiler is still pre-1.0.
Node-readable compiler The compiler is JavaScript source run with Node.js, not a separate opaque compiler binary. Build and audit workflows can point at the actual compiler files instead of a sealed toolchain executable. Node.js is still a binary dependency; this claim is about the FreedomLang compiler distribution.
Linux native output Direct ELF executable emission from JavaScript. No linker or libc is needed for the Linux direct-output path. The direct ELF backend currently has a different heap/GC path than macOS.
macOS native output x86-64 assembly linked by clang into Mach-O. Good current platform for chaos, TCP, and GC validation. Requires x86-64 execution support on Apple Silicon.
Windows native output Native x86-64 assembly for the Microsoft ABI, linked into PE/COFF through LLVM/lld and Windows SDK libs. Windows is a real backend, not a transpiled or VM story. It still needs hardening in long GC stress and some platform-gated surfaces.
Small binaries and no libc/CRT default 🟡 Generated programs avoid libc/CRT in current paths; Linux uses direct ELF/syscalls, macOS links without stdlib, Windows uses Kernel32 rather than a C runtime. Reduces dependency surface and makes small tools easier to reason about. This is not a security proof. System APIs remain, helper code is emitted as needed, and binary size grows with features used.
Bounds and shape checks Array/object access is runtime checked, with fatal diagnostics for invalid states. Memory and shape mistakes fail near the bug instead of silently corrupting later logic. This is runtime checking, not a Rust-style static memory-safety system.
Fast-fail invariants fall, assert, expect_eq, invalid tag/slot paths, and backend fatal handlers terminate broken program states. Bugs are not treated as ordinary recoverable values. Fatal behavior is a semantic choice; callers still need process-level supervision where appropriate.
Chaos/world-state modeling 🟡 with chaos and chaos tags model external outcomes such as missing files or network conditions. External uncertainty becomes explicit program data instead of hidden exceptions. The model is strongest on macOS today; Linux and Windows parity is still moving.
Custom operators Positional operators, object-shaped operators, scalar infix, shaped infix, and value-shape overloads. Domain code can expose clear, auditable call shapes without a large class or trait system. The syntax is unusual and will need taste, examples, and restraint.
FSABI instrumented concurrency Fork blocks, handles, wait, blocking fork sugar, job directories, and inbox/outbox parameter paths. Job boundaries are visible in source and observable on disk, which helps debugging and audit trails. This favors explicit process/job semantics over lightweight in-process concurrency.
Bytes, strings, arrays, objects Tagged heap objects, UTF-8 conversion, byte arrays, string/array/object operations, and slot access. Enough structured data support for small real tools and protocol experiments. APIs are still stabilizing.
TCP and filesystem surfaces 🟡 f/net and file chaos surfaces exist, with loopback TCP examples passing on macOS. Native tools need real IO, not just toy arithmetic. Platform parity is not complete; Linux/Windows network and chaos coverage should not be oversold yet.
Heap and GC 🟡 Heap allocation exists across platforms; macOS emits the conservative GC path, Windows emits GC with long stress hardening still open, Linux direct ELF uses mmap-backed allocation today. Heap objects are real and tested rather than hand-waved. A stable no-heap/no-GC profile is planned, not a finished user-facing mode.
Behavior test suite Shared .flx tests with expected stdout/stderr/exit-code files across CI platforms. Claims can be checked from executable examples instead of prose. Some feature-specific tests are intentionally platform-gated.
AI-agent ergonomics 🟡 Small compiler, explicit jobs, behavior tests, and visible failure boundaries are intended to make agent-written code easier to inspect and debug. AI-generated code gets harder to trust when failure paths and concurrency are implicit. This is a design thesis, not a benchmarked claim yet. Treat it as a direction to evaluate.

Pain points addressed

Pain point FreedomLang's answer Current caveat
Security-critical shell or Python scripts become too implicit to audit. Compile small tools to native artifacts with explicit failure behavior and a readable compiler/runtime. The stdlib is young, so many conveniences still need to be built.
C gives control but makes memory and bounds mistakes too cheap. Use runtime-checked tagged values, bounds checks, shape checks, and fatal invalid-state paths. This is not static memory safety or formal verification.
Exception-heavy code blurs expected world outcomes and bugs. Model world outcomes through chaos tags; reserve fall for invariants. Chaos APIs are still evolving and platform-gated.
Concurrent tools are hard to inspect after failure. Use explicit fork blocks, handles, wait, and FSABI job directories/inbox/outbox paths. Process/job semantics are heavier than goroutines or green threads.
Toolchain trust is too broad. Avoid LLVM, a VM, a JIT, and libc/CRT in current generated paths. Smaller does not mean bug-free; it means the code is inspectable.
AI-generated code can hide brittle assumptions. Keep effects, waits, job outputs, fatal paths, and world-state handling visible in source and test outputs. Agent-readability still needs empirical validation and better examples.

Advantages and limits

FreedomLang's current advantages are practical, not magical: small inspectable implementation, native artifacts, explicit world-state handling, runtime bounds/shape checks, custom operators, and observable FSABI concurrency. The strongest security-oriented claim is reduced and more visible trusted code, not immunity from bugs.

Do not read "no libc" as "no legacy risk anywhere." It means generated programs do not bring in a C runtime by default in the current backend paths; the OS, linker, system DLLs/frameworks, and FreedomLang runtime helpers still matter. Do not read "AI-friendly" as "AI-proof"; it means the language is being shaped around explicit control flow, explicit world modeling, and testable boundaries.

Aspirations

These are goals, not launch claims:

  • Stable no-heap/no-GC profile for programs that do not allocate heap objects.
  • Linux and Windows parity for chaos, filesystem, and TCP surfaces.
  • Exec/process APIs after network parity.
  • Versioned safety profile with enforceable restrictions.
  • Better diagnostics, editor support, examples, and agent-oriented debugging workflows.

Current status

FreedomLang is early, real, and pre-1.0.

What works today:

  • Integers, strings, arrays, objects, bytes, variables, blocks, loops, and control flow.
  • User operators, including positional, object-shaped, scalar infix, shaped infix, and value-shape overloads.
  • Runtime-checked array/object access and fatal diagnostics for invalid states.
  • Native x86-64 backends for Linux, macOS, and Windows.
  • Explicit job concurrency with fork blocks, handles, wait, and blocking fork sugar lowered through real child jobs.
  • FSABI job directories and essential inbox/outbox parameter paths across Linux, macOS, and Windows.
  • A shared behavior test suite with expected stdout/stderr/exit-code files.
  • Heap support across all backends, with GC behavior still being hardened to parity.
  • Experimental chaos/world-state syntax and stdlib surfaces, strongest on macOS.

What is still moving:

  • The language and stdlib APIs are not stable.
  • Chaos/network surfaces are actively evolving and platform-gated.
  • Exec/process APIs are planned after network parity work.
  • Documentation is intentionally focused on current specs, tutorials, and implementation guides; use docs/INDEX.md as the map.
  • The safety-profile work is drafted but not complete.

Current implementation and test matrix:

Platform Category Implementation status Test status
Linux Linux x86-64 Native output Direct ELF executable emitted by the JavaScript backend Green in CI
Linux Linux x86-64 Core language/runtime Integers, strings, arrays, objects, bytes, operators, control flow, checks Covered by shared behavior suite
Linux Linux x86-64 Heap/GC Heap allocation works; the direct ELF path currently uses mmap-backed allocation rather than the parity collector path Allocation behavior covered; GC parity wiring remains open
Linux Linux x86-64 Fork/FSABI Child jobs, job directories, blocking fork sugar, inbox/outbox essentials Parity-essential tests green
Linux Linux x86-64 Chaos/files/net Some chaos/files/net surfaces are platform-gated while parity advances Not yet treated as full release parity
macOS macOS x86-64 Native output Native assembly linked by clang into Mach-O Green in CI
macOS macOS x86-64 Core language/runtime Same shared IR and runtime model as other targets Covered by shared behavior suite
macOS macOS x86-64 Heap/GC Generated conservative heap/GC path is emitted when heap features are used GC stress and behavior tests green
macOS macOS x86-64 Fork/FSABI Blocking fork lowers to real child jobs with FSABI directories and outbox reads Parity-essential tests green
macOS macOS x86-64 Chaos/files/net Strongest current implementation for chaos, file, and TCP surfaces Platform-gated chaos/net tests green
Windows Windows x86-64 Native output Native x86-64 assembly for the Microsoft ABI, linked into PE/COFF through LLVM/lld Green in CI
Windows Windows x86-64 Core language/runtime Shared IR lowered to Windows calling convention and runtime helpers Covered by shared behavior suite
Windows Windows x86-64 Heap/GC Windows GC is generated; long stress behavior is still being hardened Enabled GC tests green; redundant deep stress cases are skipped pending hardening
Windows Windows x86-64 Fork/FSABI CreateProcess-backed child jobs and FSABI job directories Parity-essential tests green
Windows Windows x86-64 Chaos/files/net Some chaos/files/net surfaces remain platform-gated Not yet treated as full release parity

Programs that do not allocate heap objects should not need heap initialization or GC work on the hot path, and the backends already feature-gate much of that emission. A fully explicit no-heap/no-GC profile is still a planned release surface, not a stable command-line promise.

Syntax shape

FreedomLang syntax is intentionally small but not especially mainstream. The main shapes are:

Form Meaning
let name = value; Bind a value
op sum [a, b] (...) Define a positional operator
op describe {name, role} (...) Define an object-shaped operator that binds by field name
sum [1, 2] Positional call
describe {role: "admin", name: "alice"} Object-shaped call
value\field / items\0 Object field or indexed slot access
=> value; Return from the current operator or fork block
fall "message"; Fatal invariant failure
( (...) )& Start a child job
let x <= ( (...) )& Start a child job, wait, and read its named outbox value
with chaos { Tag(_) => value } Convert an external world state into explicit program data

Comparison to other languages

FreedomLang is not trying to win a general-purpose language bakeoff. It is a focused experiment in small native tools, explicit world-state handling, and readable compiler/runtime implementation.

Reference point Honest comparison
C Similar interest in direct native artifacts and readable low-level behavior, but with tagged runtime values and checked failure paths. It does not have C's ecosystem, ABI reach, or decades of tooling.
Rust Shares a concern for correctness, but it does not have Rust's borrow checker, trait system, package ecosystem, or production maturity. FreedomLang leans on explicit world states, runtime checks, and small implementation size instead.
Go Similar appetite for small operational tools, but jobs are explicit child processes rather than goroutines and channels. The ecosystem is tiny by comparison.
Zig Similar taste for inspectable native compilation, but FreedomLang is less mature and is focused more narrowly on failure semantics, chaos/world-state modeling, and auditability.
Python or shell Targets some of the glue-code space where scripts become security-critical, but trades interactive convenience and libraries for native artifacts and stricter runtime behavior.
Erlang/Elixir The job/failure-boundary thinking is philosophically adjacent, but FreedomLang is not a VM, actor system, or supervision-tree platform.
ML/Rust Result style Chaos handling has family resemblance to tagged result values and pattern-oriented recovery, but it is aimed specifically at modeling external world states rather than making all bugs recoverable.

The syntax has prior-art echoes rather than a single ancestor: Unix job control and process isolation, result-value error handling, object-shaped calls, indexed slot access, and explicit tagged world states. Expect it to feel alien at first; the bet is that unusual syntax is acceptable if it makes operational boundaries and failure behavior easier to audit.

Language genealogy

This is a relationship map, not a claim that FreedomLang descends directly from any one language. The project combines several older ideas in a deliberately small AOT compiler.

FreedomLang
├─ C / Zig / Go family
│  ├─ AOT compilation to native artifacts
│  ├─ operational tools as a serious target
│  └─ explicit release binaries instead of a VM or JIT
├─ Unix process model and shell job control
│  ├─ fork blocks
│  ├─ wait points
│  └─ filesystem-visible job inbox/outbox state through FSABI
├─ ML / Rust Result / tagged-union thinking
│  ├─ external world states represented as explicit values
│  └─ recoverable outcomes separated from bugs
├─ Erlang-style fault-boundary intuition
│  ├─ jobs as failure boundaries
│  └─ fatal invariants handled by containment, not local exception recovery
├─ JavaScript/object-record ergonomics
│  ├─ object-shaped calls
│  └─ field-oriented runtime shapes
├─ Operator-rich languages
│  ├─ custom positional and object-shaped operators
│  └─ infix and value-shape overloads for domain notation
└─ Agent-readable implementation practice
   ├─ compiler distributed as Node.js-readable JavaScript source
   ├─ behavior tests as executable claims
   └─ explicit effects, waits, and fatal paths for debugging

The unusual part is the combination: AOT native output, a compiler you run as Node.js source, custom operator syntax, explicit chaos/world-state modeling, and FSABI job concurrency in one small stack. None of that makes FreedomLang mature by itself; it makes the project easier to inspect and argue about from code.

Quick start

Requirements:

  • Node.js 22 or newer for the compiler.
  • clang for macOS/Windows linking workflows.
  • On macOS, the test runner uses gtimeout from Homebrew coreutils if available or installs it when needed.
  • On Windows, install LLVM and a Windows SDK containing kernel32.lib; the PowerShell runner discovers the SDK library path and links with lld.

Compile a Linux ELF directly:

node freelang.js hello.flx hello.bin --target=linux --emit=bin
./hello.bin

Compile macOS assembly and link it:

node freelang.js hello.flx hello.s --target=darwin --emit=asm
clang -target x86_64-apple-macos12 -nostdlib -Wl,-e,_main -Wl,-static hello.s -o hello.bin
./hello.bin

Compile Windows assembly:

node freelang.js hello.flx hello.s --target=windows --emit=asm

Or compile, link, and run with the helper:

pwsh ./flx.ps1 hello.flx

Small example

op sum3 [a, b, c] (
  => a + b + c;
)

let values = [2, 3, 5];
let total = sum3 [values\0, values\1, values\2];

if (total == 10) (
  print "ok";
) else (
  fall "unexpected total";
)

Object-shaped operators bind by field name. String/array/object + overloads are provided by f/operators:

credits: <f/operators>;

op describe {name, role} (
  print "user: " + name + " (" + role + ")";
)

describe {role: "admin", name: "alice"};

Modern fork blocks make job creation explicit:

let job = ( (
  print "child";
  => 42;
) )&

let answer = wait job;
print answer;

Blocking fork sugar runs the child as an actual job, waits, and reads the named outbox value:

let answer <= (
  (
    let child_value = 42;
    child_value >value;
    => 0;
  )
)&

print answer;

Testing

Run the Unix/macOS suite:

bash tests/run-all.sh --hide-passes > test-output-current.txt 2>&1

Run the Windows suite:

pwsh ./tests/run-all.ps1 -HidePasses > test-output-windows.txt 2>&1

The test system is behavior-driven. A tests/foo.flx program can be paired with:

  • foo.expect.exit
  • foo.expect.out
  • foo.expect.err
  • unordered stdout/stderr variants for concurrent output

See tests/README.md and tools/compare-run-output.js.

Repository map

Path Purpose
freelang.js CLI entry point and compiler pipeline wiring
src/frontend.js Lexer, parser, scopes, operators, chaos parsing, module credits
src/ir.js IR structures, AST lowering, safepoint metadata, runtime call lowering
src/backend/index.js Target routing for Linux/macOS/Windows backends
src/backend/x86_64-linux.js Linux x86-64 backend
src/backend/x86_64-macho.js macOS x86-64 assembly backend
src/backend/x86_64-windows.js Windows x86-64 assembly backend
src/backend/elf-writer.js Direct ELF file writer
src/runtime/ Runtime support, allocator/GC/job/chaos helpers
stdlib/ Standard library modules
examples/ Compile-checked example programs used for public snippets
tests/ Behavior and regression tests
docs/ Specifications, tutorials, and current implementation guides

Documentation

Start here:

Release posture

FreedomLang is suitable today for:

  • reading and evaluating the implementation,
  • experiments with small native tools,
  • internal prototypes,
  • language/runtime design review,
  • security-oriented discussions about failure semantics and auditability.

It is not yet a stable production language distribution. Treat public releases as evaluation builds until the compiler flags, stdlib APIs, platform support, and safety profile are versioned and locked.

License and contact

FreedomLang is dual-licensed: AGPL-3.0-or-later for open-source use, or a separate commercial license from DO-SAY-GO Corporation for uses that are not compatible with the AGPL.

The source license does not grant trademark rights. See TRADEMARKS.md.

Security contact: security@freelang.dev