Nicheloom

Market intelligence for builders — see what's gaining traction before it's crowded.

Gene

a Lisp-like language built around a generic "Gene" data type

Details

External ID
46456870
Source
HN
Company
—
Product
Geneva
Website domain
github.com
Launched
Jan. 1, 2026
Cohort
—
Upvotes
36
Upvotes percentile
0.7424242424242424
Tags
—
Fetched at
Sept. 7, 2026, 9:25 p.m.
Updated at
Sept. 7, 2026, 9:25 p.m.

Description

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 typeGene’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 evaluationGene 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.cppI 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/geneI’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.).

Enrichment

Theme
developer tools and programming utilities
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
lisp-like programming language
Manually corrected
False

Could you build this?

Partial A simple Lisp tree evaluator is relatively easy to script, but implementing a novel core data type runtime with proper memory semantics and homoiconic evaluation requires solid language design knowledge.

What it would actually take: Built as an interpreter or runtime in Rust, C, or Java implementing a custom AST parser and evaluator around a custom composite data structure. The hard part is defining consistent evaluation semantics, scoping, macro hygiene, and performance optimization for a non-standard list/map hybrid data model, which requires formal language runtime architecture expertise.

Discussion

No comments on this launch.

Competitors

Other products that read as similar to this one — 107 launches clear the similarity bar, closest 8 shown.

Attention rank: #35 of 108 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 64 days after the earliest competitor.

Other launches for this product

Same idea, different domain

Nobody's really built a dev tools tool for Sales yet.