Live data from Hacker News

Show HN: Jacquard, a programming language for AI-written, human-reviewed code

github.com

51–60 of 67 posts

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#51
post #4

Given how poorly LLMs do with writing prompts for LLMs, I'm not sure I'd trust their judgement in designing a language for LLMs. > and the runtime requires explicit permission to touch the filesystem, network, etc This feels like more of an OS problem (or library problem) than a language problem. > Run one program against many worlds. The same code can run against the real network, a scripted fake, a recording of las…

Why do you think LLMs write prompts for LLMs badly? I use LLMs to write and refine prompts all the time. The prompts seem to come out very good. What are you basing this on?

Generally excessively verbose and failing to account for LLM failure modes. Example: when dispatching a subagent with an instruction prompt, I see the agent refer to "phase 5 of the plan" without actually pointing to the plan file it's referencing. The subagent says something to the tune of "phase 5, sure thing boss" and goes and generates garbage because it never reads the plan to find out what "phase 5" entails.

If I ask an agent to maintain agent-facing docs like AGENTS.md then similarly it ends up with low information density and not really saying what I want it to say. Something I thought was unequivocal ends up leaving the agent with far too much scope for interpretation and judgement calls.

Perhaps I'm just Prompting It Wrong (TM) but I do find LLMs lack the theory of mind to realise that other LLM instances don't know the things that the current instance knows, and make poor calls on what to include and what not to include. It's a bit hand-wavey, but I was wondering if the same issue might transfer to language design.

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#52

Earlier quoted context omitted.

> How is the "world" model different from plain dependency injection? In addition to what the other comment said, this "world" model is great for hermetic testing of complex code, LLM written or not. We've seen existing projects that intercept the OS level syscall for testing, replayability, etc. Building it into the language runtime, hopefully with better ergonomics from the start than a syscall, would be a welcome…

Dependency injection provides the same hermetic-testing capability, so that's not really an answer to OP's question. Effect-as-world-model is, in this specific way, just a special argument slot that only accepts dependency-injected functions. What effects provide beyond DI is entirely in their ability to abort (resume zero times) or (in the case of multi-shot effects) resume multiple times. An effect that resumes exa…

> What effects provide beyond DI is entirely in their ability to abort (resume zero times) or (in the case of multi-shot effects) resume multiple times

Thanks, this answers my question and does sound handy. Also I do see the value in having more problem-shaped versions of a general construct.

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#54
This is an interesting direction. I like the premise that the language is designed around AI-written, human-reviewed code rather than treating AI as just another code generator.

I'm curious about one thing though: what kinds of bugs or review tasks does Jacquard make substantially easier than existing languages? In other words, what's the smallest example where reviewing Jacquard is noticeably easier than reviewing Python or Rust? Thank you.

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#55
post #4

Given how poorly LLMs do with writing prompts for LLMs, I'm not sure I'd trust their judgement in designing a language for LLMs. > and the runtime requires explicit permission to touch the filesystem, network, etc This feels like more of an OS problem (or library problem) than a language problem. > Run one program against many worlds. The same code can run against the real network, a scripted fake, a recording of las…

>This feels like more of an OS problem (or library problem) than a language problem.

And from my perspective it's the exact opposite. You can apply a sandbox on the OS level and the library you call will crash at runtime. In your model you now get to harass the library author "hey you didn't tell me you do I/O" after it is already too late.

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#56
post #50

> a C-emitting native AOT backend that currently compiles the kernel .jqd carrier This human reviewer gave up at line 4 of the Readme. What is the kernel? What does the carrier carry? Why does it need to be carried? Where does the .jqd come from? Also, for whatever reason, from the submission here: > I had AI analyze the ASTs of several mainstream languages plus a few of the conceptually groundbreaking but esoteric o…

Just in case the above is not considered constructive enough, how about this: In my experience, with some prompting and iterations, AIs do reasonably well at writing solid, "boring" code. They do really badly at writing useful documentation, and this is a major pain point when reviewing their output. A system that claims to be oriented towards human review must address this somehow. It must talk about how it addresses it, and it must demonstrate that its own documentation is significantly better than unfiltered LLM output.

This system does not demonstrate this. It needs clear guidelines: Start with the big picture. Show an example. Show comments in that example. Don't get bogged down in the details of the internal workings of the compiler. Don't use jargon like "kernel" to mean "lowered intermediate representation". Don't use "carrier" when you mean "file". It's just a file, FFS. But again, don't tell me at all about the fact that there is an intermediate representation; that's not "big picture", and anyone who cares about compiler internals will already have guessed that you have an intermediate representation. Do tell me about the effect system in the first two paragraphs! That seems to be what sets this language apart. Do give me a brief argument why an effect system is a good match for a system where humans don't have to type everything by hand. And so on and so forth.

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#57
post #56
post #50

> a C-emitting native AOT backend that currently compiles the kernel .jqd carrier This human reviewer gave up at line 4 of the Readme. What is the kernel? What does the carrier carry? Why does it need to be carried? Where does the .jqd come from? Also, for whatever reason, from the submission here: > I had AI analyze the ASTs of several mainstream languages plus a few of the conceptually groundbreaking but esoteric o…

Just in case the above is not considered constructive enough, how about this: In my experience, with some prompting and iterations, AIs do reasonably well at writing solid, "boring" code. They do really badly at writing useful documentation, and this is a major pain point when reviewing their output. A system that claims to be oriented towards human review must address this somehow. It must talk about how it addresse…

I always feel like I'm losing my mind when reading LLM comments or prose for code. It's so esoteric and 'i-am-very-smart' and makes me feel like I'm not supposed to read the comments in the first place

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#58

Earlier quoted context omitted.

Like to believe we will one day use a low level language that is non-deterministic to build everything on top off seems to me in violation of such fundamental laws of information theory it's on the level of a belief in telekinesis.

All of human technology resulted from human brains, which are non-deterministic at the level you're talking about, right?

More like all of human technology is dedicated to make deterministic systems out of our feeble non-deterministic minds.

Re: Show HN: Jacquard, a programming language for AI-written, human-reviewed code

#60

lol I had started a “plugin compiler” that Claude also wanted to name after the Jacquard loom https://github.com/jondwillis/jacq Fricking training distribution/same-y ness coming for us all… cool project though.

The distribution is actually pretty diverse, but this diversity is constrained by mode collapse.

Thanks for the clarification. “Mode collapse” explains so much about how I have been experiencing output convergence and repetition for a while now.
Post reply on HN