{"slug": "show-hn-jixp-a-lisp-dsl-for-describing-jax-neural-nets", "title": "Show HN: Jixp, a Lisp DSL for describing Jax neural nets", "summary": "A developer released Jixp, a Lisp DSL for describing Jax neural nets, as a side project for learning Jax. The compiler reads Racket-style DSL and outputs Python, enabling simple model specification with hidden implementation details. The developer trained a 4m parameter model on their Obsidian vault for recall, but does not recommend using Jixp for anything besides learning.", "body_md": "This is a side project I've been working on while learning Jax. I noticed that a bunch of the neural net math looked like it would work well in a lisp syntax because most of the data flows through layers in a \"functional\" manner. Data is threaded through one layer at a time, each layer composing with the previous layer.\n\nJixp is designed as a learning tool for myself while learning Jax to toy around with different shapes/styles of models. I used this to train a 4m parameter model on my Obsidian vault to see if I could use it for recall which partially worked. ``` lisp (let-dim (d 256) (heads 8)\n\n(define transformer-block (chain (residual (layernorm d) (attention d heads #:causal)) (residual (layernorm d) (mlp d [4d] d #:bias)))) ```\n\nThe Jixp compiler reads the (racket style) DSL and outputs python which is then consumed via your normal python training stack. The advantage here is you get a pretty simple interface to describe your model and the implementation details are largely hidden in the generated python. I definitely do not recommend using this for anything besides learning.\n\nOne day I can see models being specified in terms of a DSL like this which would allow different implementations of inference/training to load the same model. You could write one model definition, then vLLM, PyTorch, and your custom inference stack could all use the same definition. Sort of like a `.safetensor` file for the model.\n\nComments URL: [https://news.ycombinator.com/item?id=49037725](https://news.ycombinator.com/item?id=49037725)\n\nPoints: 1\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-jixp-a-lisp-dsl-for-describing-jax-neural-nets", "canonical_source": "https://github.com/baileywickham/jixp", "published_at": "2026-07-24 16:10:56+00:00", "updated_at": "2026-07-24 16:22:59.726485+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "neural-networks", "developer-tools"], "entities": ["Jixp", "Jax", "Obsidian"], "alternates": {"html": "https://wpnews.pro/news/show-hn-jixp-a-lisp-dsl-for-describing-jax-neural-nets", "markdown": "https://wpnews.pro/news/show-hn-jixp-a-lisp-dsl-for-describing-jax-neural-nets.md", "text": "https://wpnews.pro/news/show-hn-jixp-a-lisp-dsl-for-describing-jax-neural-nets.txt", "jsonld": "https://wpnews.pro/news/show-hn-jixp-a-lisp-dsl-for-describing-jax-neural-nets.jsonld"}}