Gene – a Lisp-like language built around a generic "Gene" data type
Hi HN — I’ve been working on Gene, a general-purpose, homoiconic language with a Lisp-like surface syntax, but with a core data model that’s intentionally not just “lists all the way down”. What’s unique: the Gene data type Gene’s central idea is a single unified structure that always carries (1) a type, (2) key/value properties, and (3) positional children: (type ^prop1 value1 ^prop2 value2 child1 child2 ...) The key point is that the type, each property name, each property value, and each child can themselves be any Gene data. Everything composes uniformly. In practice this is…
In plain words
Gene is a general-purpose, homoiconic programming language with Lisp-like syntax built around a unified data structure. Each Gene combines a type, key-value properties, and positional children, all of which can themselves be Gene values. This approach enables uniform composition of rich, self-describing structures without requiring separate meta-representations. The language is designed for programmers seeking an alternative to traditional list-based Lisp systems, offering an AST and runtime that share the same fundamental shape.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
Hi HN — I’ve been working on Gene, a general-purpose, homoiconic language with a Lisp-like surface syntax, but with a core data model that’s intentionally not just “lists all the way down”. What’s unique: the Gene data type Gene’s central idea is a single unified structure that always carries (1) a type, (2) key/value properties, and (3) positional children: (type ^prop1 value1 ^prop2 value2 child1 child2 ...) The key point is that the type, each property name, each property value, and each child can themselves be any Gene data. Everything composes uniformly. In practice this is powerful and liberating: you can build rich, self-describing structures without escaping to a different “meta” representation, and the AST and runtime values share the same shape. This isn’t JSON, and it isn’t plain S-expressions: type + properties + children are first-class in one representation, so you can attach structured metadata without wrapper nodes, and build DSLs / transforms without inventing a separate annotation system. Dynamic + general-purpose (FP and OOP) Gene aims to be usable for “regular programming,” not only DSLs: * FP-style basics: fn, expression-oriented code, and an AST-friendly representation * OOP support: class, new, nested classes, namespaces (still expanding coverage) * Runtime/tooling: bytecode compiler + stack VM in Nim, plus CLI tooling (run, eval, repl, parse, compile) Macro-like capability: unevaluated args + caller-context evaluation Gene supports unevaluated arguments and caller-context evaluation (macro-like behavior). You can pass expressions through without evaluating them, and then explicitly evaluate them later in the caller’s context when needed (e.g., via primitives such as caller_eval / fn! for macro-style forms). This is intended to make it easier to write DSL-ish control forms without hardcoding evaluation rules into the core language. Optional local LLM backend via llama.cpp I also added an optional local LLM backend: Gene has a genex/llm namespace that can call local GGUF models through llama.cpp via FFI (primarily because I wanted local inference without external services). Repo: https://github.com/gene-lang/gene I’d love feedback on: * whether the “type/props/children” core structure feels compelling vs plain s-exprs, * the macro/unevaluated-args ergonomics (does it feel coherent?), * and what would make the project most useful next (stdlib, interop, docs, performance, etc.).
More life & fun this month
the category →- TL
Life & fun · 10d ago · louisabraham.github.io

Photosynthesis fires two of your iPhone
Life & fun · 28d ago · photosynthesis.camera
SoloUno▲310Take control of hair pulling, nail biting & skin picking
Life & fun · 28d ago · solouno.io

Scroll through all 43,252,003,274,489,856,000 reachable Rubik's Cube permutations.
Life & fun · 26d ago · everycube.alen.is


Hi HN, I built Eigendrum, a web tool that solves the 2D wave equation for arbitrary shapes so you can hear what they sound like as drums. How it works: * Solves -∇²u = λu using finite element analysis (Kφ = λMφ) on a triangle mesh. * Validated to <0.1% error against closed-form solutions for circles (Bessel zeros) and rectangles. * Sound model factors in strike location, Rayleigh damping, and mallet width. * Includes Kac drums I & II to demonstrate identical sound spectra from different geometries. * No frameworks, build steps, or dependencies. Repo and tests:…
Life & fun · 27d ago · baselashraf81.github.io
Launched alongside, January 2026
the whole month →- IN
Hey HN! I wanted to share something I built over the last few weeks: isometric.nyc is a massive isometric pixel art map of NYC, built with nano banana and coding agents. I didn't write a single line of code. Of course no-code doesn't mean no-engineering. This project took a lot more manual labor than I'd hoped! I wrote a deep dive on the workflow and some thoughts about the future of AI coding and creativity: http://cannoneyed.com/projects/isometric-nyc
AI · Jan 2026 · cannoneyed.com




Automatic AI-powered code reviews the moment you open a PR
Dev tools · Jan 2026 · kilo.ai
