zlacker

[parent] [thread] 3 comments
1. sheeps+(OP)[view] [source] 2026-01-20 00:08:11
Really clean language where the design decisions have led to fewer traps (cond is a good choice).

It’s peculiar to see s-expressions mixed together with imperative style. I’ve been experimenting along similar lines - mixing s-expressions with ML style in the same dialect (for a project).

Having an agentic partner toiling away with the lexer/parser/implementation details is truly liberating. It frees the human to explore crazy ideas that would not have been feasible for a side/toy/hobby project earlier.

replies(1): >>catlif+Pc
2. catlif+Pc[view] [source] 2026-01-20 02:20:11
>>sheeps+(OP)
I had the same reaction to seeing S-expressions, but my conclusion was that this should just be a lisp. Why stop just at operators?
replies(1): >>jkh99+DI9
◧◩
3. jkh99+DI9[view] [source] [discussion] 2026-01-22 19:03:25
>>catlif+Pc
I posted about this also on linkedIn. I actually tried to do a bunch of agentic coding in Clojure but found that the parser really got in my way - it continuously fooled the LLM on what line number the errors actually occurred on!

This is why I made nanolang always report line numbers accurately and also have a built-in "trace mode" where, with an environment variable set, it would tell you exactly what line number was producing which C code and which behaviors were being exhibited (state changes). The LLM uses this aggressively for debugging!

replies(1): >>catlif+k8e
◧◩◪
4. catlif+k8e[view] [source] [discussion] 2026-01-24 03:01:11
>>jkh99+DI9
> it would tell you exactly what line number was producing which C code and which behaviors were being exhibited (state changes)

Would you consider generating sourcemaps? Although they’re mainly used for minified JavaScript they sound like a perfect fit for this use case. Plus they’re so ubiquitous there’s already a ton of tooling that understands them.

[go to top]