Live data from Hacker News

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

github.com

21–30 of 67 posts

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

#21
post #11

> External/world effects are visible in function signatures Brilliant. I think Jai has something like that? Each function declares what it's going to touch (both read/write) globally, and I think you can specify that per block even. I haven't used Jai (I think it's not out yet) but I remember the author talking about this and it sounded like a great idea. It's related to the idea of pure functions being easy to reaso…

Thanks for the pointer to Jai! I will check it out.

Yes, Jacquard uses content-addressed definitions and it should be possible to set up a process for 'review again if this changes' on top of it. Warp, the testing framework, already uses this to avoid rerunning pure tests when neither the definition or dependencies have changed.

Jacquard does not currently implement proof or strictness levels, but binding those to a definition’s content identity is interesting and definitely worth exploring.

What are you building that people keep comparing to Ada?

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

#22

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.

It's a good name regardless! Don't stop on my account.

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

#23

I love how people create so many new things with AI, but to think how much tokens, and in turn money we all have collectively burned for these side projects is crazy.

Not just money. A lot of CO2 was dumped into our atmosphere and tons of clean water were evaporated as well.

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

#24

I love how people create so many new things with AI, but to think how much tokens, and in turn money we all have collectively burned for these side projects is crazy.

Not just money. A lot of CO2 was dumped into our atmosphere and tons of clean water were evaporated as well.

Streaming videos and playing heavy online games has a similar effect. Which do you think should be preferable: watching ~3 hours of video streaming, or generating a respectably-sized project that perfectly scratches an itch?

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

#25
post #11

> External/world effects are visible in function signatures Brilliant. I think Jai has something like that? Each function declares what it's going to touch (both read/write) globally, and I think you can specify that per block even. I haven't used Jai (I think it's not out yet) but I remember the author talking about this and it sounded like a great idea. It's related to the idea of pure functions being easy to reaso…

Not just effects, multi-shot effects:

> Algebraic effects with deep, multi-shot handlers. A handler can resume a computation zero, one, or many times, which is what makes exhaustive search and exact inference ordinary library code.

I love me some algebraic effects, but this sets off alarm bells for me.

Multi-shot effects are neat and powerful but are incredibly difficult to reason about for humans, and given that there are few languages that have implemented them (and they're so niche with very little training data) I'm skeptical that LLMs are sufficiently better at them to make up the gap.

One-shot effects are a cross between `throw` and a function call. Multi-shot are full-on delimited continuations and come with all the complexity that entails.

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

#26
a feature that i thought would be good for llm-centric languages would be making something like python's doctest prominent where you put simple little unit tests in the docstring of the function rather than in some testing module someplace else.

it would make it easy for humans to easily stub out tests with a docstring description and the tests that would guarantee certain behaviors. for the machine, it'd make it easy to add in new tests because the function+tests are in the same context window

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

#27

Earlier quoted context omitted.

Not just money. A lot of CO2 was dumped into our atmosphere and tons of clean water were evaporated as well.

Streaming videos and playing heavy online games has a similar effect. Which do you think should be preferable: watching ~3 hours of video streaming, or generating a respectably-sized project that perfectly scratches an itch?

I don't really have a dog in this race, but "3 hours of streaming" is several orders of magnitude off using a frontier model to write a project like this. Like, 3000 hours of streaming would be closer. Then you're talking about one person consuming the resources for a useless project they'll abandon after a week vs. the resources consumed providing years of entertainment.

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

#28
post #19

An llm doesnt 'prefer' to use anything. Whats different to the effects system just being a type system? Isnt a function that opens a particular file still just a type? Perhaps dependent? Reminds me of mercury which has determinism of the function like type signatures.

You're right, an LLM doesn't have preferences. As shorthand, I thought it a useful concept though, as they do have particular ways of writing that can be tuned for.

The effect system here is part of a type system (technically a type-and-effect system). Where a value type typically describes what value a computation returns, an effect describes which operations it can perform during evaluation.

The difference is that effects propagate through the call graph, so lower-level code cannot access disallowed resources without that authority appearing higher up. At runtime, world effects also require an explicit grant. In a typical value type system, lower-level code can introduce side effects without them appearing in the caller’s type.

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

#29

a feature that i thought would be good for llm-centric languages would be making something like python's doctest prominent where you put simple little unit tests in the docstring of the function rather than in some testing module someplace else. it would make it easy for humans to easily stub out tests with a docstring description and the tests that would guarantee certain behaviors. for the machine, it'd make it eas…

> for the machine, it'd make it easy to add in new tests because the function+tests are in the same context window

Given how many useless unit tests Codex just loves to write, no, thank you.

Thankfully, its training data completely misses this. So at least for now it completely ignores doctests (at least in Elixir).

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

#30

The obvious problem with any new AI-centric programming language (I think this is the third I’ve seen at this point) is that any LLM you try to use with it will be starting from zero - it has nothing to copy from and very little documentation available to find on its own, if it’s even capable of doing web searches. Java or C++ or whatever may be “worse” by some standards for LLMs (or humans) to work with, but all LLM…

This is definitely true. The language is intentionally small enough to fit into a single SKILL.md file, for what it's worth:

https://github.com/jbwinters/jacquard-lang/blob/main/docs/SK...

Agents I've tested with have had been able to pick up the language from that, at least to the extent that I've been able to test so far.

Post reply on HN