Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Astra for Law(openai.com ↗)
    110comments
  2. Bend(bend-lang.com ↗)
    32comments
  3. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    112comments
  4. Wax motor(wikipedia.org ↗)
    25comments
  5. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    165comments
  6. Everybody's Lost Their Minds(netmeister.org ↗)
    79comments
  7. CrowdSec Source Code Leak(crowdsec.net ↗)
    30comments
  8. Infinite-Parameter LLMs: Generating and Adapting Weights from Live Data(arxiv.org ↗)
    24comments
  9. Rate limits on GitLab.com are changing(about.gitlab.com ↗)
    98comments
  10. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    3comments
  11. Towards Self-Driving Codebases(detail.dev ↗)
    68comments
  12. The American Religion of Self-Storage Facilities(newyorker.com ↗)
    265comments
  13. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    222comments
  14. TSMC revealing details about next gen A14 node(mapyourshow.com ↗)
    19comments
  15. Zettascale (YC S24) Is Hiring ASIC/FPGA Engineers to Build Chips for ASI(zscc.ai ↗)
    discuss
  16. André Weil and the Hodge Conjecture(jiahao116.github.io ↗)
    6comments
  17. How GLM built its own inference infrastructure(z.ai ↗)
    251comments
  18. Running Ubuntu on the Lenovo IdeaPad Duet(vhaudiquet.fr ↗)
    15comments
  19. T. Rex Had a Body Temperature of 97 Degrees(nytimes.com ↗)
    70comments
  20. GraphViz Pocket Reference – Make a Graph(grevian.org ↗)
    discuss
  21. How do we prevent mathemathics from devolving into the Medieval Era of secrecy?(mathoverflow.net ↗)
    16comments
  22. One year of sponsored Servo development(servo.org ↗)
    136comments
  23. Launch HN: Skillsync (YC W26) – AI chat sessions made portable across agents
    41comments
  24. Canto: A speech model built for the real world(wisprflow.ai ↗)
    7comments
  25. CCC invites all model citizens to 40C3(ccc.de ↗)
    168comments
  26. Don't Make Job Referrals Public(melashri.net ↗)
    12comments
  27. The Return of Sail Power: Cargo Ships Are Turning Back to the Wind(gcaptain.com ↗)
    118comments
  28. Show HN: Share your AI Setup, Learn from others(mysetup.ai ↗)
    78comments
  29. Grand MS-DOS Gaming General MIDI Showdown(johnnovak.net ↗)
    8comments
  30. The most important product decision is what you don't build(liamnugent.me ↗)
    3comments

Bend

105 pointsby 1h agobend-lang.com
29 comments
45m agoHN ↗

A single commit in github, and the compiler isn't there anyway. Where is the compiler?

19m agoHN ↗

the compiler is in comp.ts, alongside the runtime

it is not a pretty file and it has a lot of gambiarra and AI slop for now

if you want to read something worthy, read the kernel (bend.ts)

44m agoHN ↗

Victor Taelin's work (HVM) got me interested in interaction combinators as a compilation target. I'm now working on an implementation as part of my Uni research. Cool to see Bend 2.0 release!

22m agoHN ↗

Then you might be interested in Marc Thatcher's recent PhD thesis dedicated to interaction nets [1]. A great exposition of interaction nets through multiplicative linear logic's proof nets, and several novel contributions like productivity analysis for interaction nets.

[1] https://hdl.handle.net/10779/uos.32024301

42m agoHN ↗

https://github.com/bendlang/bend

...did they just squash the repo to 1 commit for v2.0.4? Why? Yall should know that in this age of AI trust is the real currency... and nuking your history is one hell of a way to raise eyebrows.

Enjoy bug-free, fast vibe-coded apps! Hints: ask it to write laws for whatever should never break, and to parallelize everything you want running fast. Bend is young: if anything goes wrong, ask it to open an issue.

Emphasis mine. I don't want to be snarky but like... come on.

26m agoHN ↗

GitHub shows 44 contributors. 41 distinct users have merged pull requests.

...so now their work has been reduced to nothing?

23m agoHN ↗

Taelin's X is a war story of how the codexes and fables tried to bend it. If you're afraid then LLMs were used in there - fear no more - they were.

20m agoHN ↗

yes, there's a lot of personal info and AI slop in the commit history.

is this a problem to you? why

39m agoHN ↗

Interesting... But I don't think formal software verification is going to be the answer (is that what this is? Kind of unclear.)

It's too difficult and doesn't scale well to many real world programs - how do you formally verify Facebook?

We'll probably be stuck with normal testing and at least skimming code for a while.

35m agoHN ↗

The issue is I’ll have to vibecode all the laws and the laws could be wrong.

15m agoHN ↗

Jokes aside, I think the idea is that the law is simple to code, the proof that it holds is where the agent is responsible. This probably becomes less true though as you try to express more complicated laws.

29m agoHN ↗

Hi, I'm the author.

HN staff: someone posted before me. Could we change the title to "Bend - a language that blocks AI mistakes via proof and runs on GPUs"?

Everyone: feel free to ask any question, but I'd be highly appreciative if you could be a bit civilized and respectful this time. I've worked on this for 1 year, nearly 16h/day, 7 days a week, and I'm giving it for free. You need not to use it. So, I'd be thankful if you could point occasional failures politely rather than throwing me in a lava pit.

Thank you!

20m agoHN ↗

This reads very vibecoded, but putting that aside...

1. How does this benefit from GPU parallelism? I don't know much about implementing proof assistant, as I am just a user, but its my understanding that these tasks aren't amenable to running on a GPU.

2. The comparison to Lean/Agda/Isabelle/etc have no meaning without understanding what programs are being used for comparison. I also so far have no reason to believe large-scale verified programs would ever adapt to Bend. For instance, I have a large software verification project written in Cubical Agda https://github.com/um-catlab/cubical-categorical-logic it's not clear to me how one would even begin to port this over to Bend, especially given the dependence on cubical

3. Single commit history is hella sus

4. Bend uses "an affine dependent type theory". Substructural dependent type systems are an active area of research. If this weren't slop, I'd expect such a system to be worthy of publication at a top programming languages conference. It sounds quite unlikely that a random vibecoded project with a Fable-written paper has worked out all of the kinks

5. I would've at least expected this paper to be cited https://arxiv.org/abs/2401.15258 but it is noticeably absent

I'm glad you're having fun vibecoding, and I like that you're interested in this area of research/engineering, but you are wildly overstating what you have here and sound sus af

7m agoHN ↗

Yes, there's a lot of vibe-coding in many places, but the critical parts (compiler, runtime, kernel) are human designed, and the kernel has been extensively audited by human. All of it is my own design and architecture, and I'm a human, I think.

1. The paper explains it well:

https://github.com/bendlang-private/bend/blob/main/paper/Ben...

In short, we implemented a complete allocator, garbage-collector, closure evaluator and functional evaluator, on the GPU (with zero interaction net overhead this time). We then use a very simple (for now) scheduler that spreads binary recursive calls as to saturate all CPU or GPU cores, depending on where it is running. This is the simplest thing that works fast. In the future, we want to have a more flexible task stealing queue, but contention destroys GPU performance, so, that's the best thing that works, for now.

2. Benchmarks aside, large scale verified programs would run much faster on Bend for a simple reason: Bend is fully explicit. It has no tactics, and it does zero compile-time search. As always: the less a computer does, the faster it runs. This is a tradeoff. In exchange, Bend code is substantially more verbose than Lean, and it is more laborious to write Bend proofs. I argue this is the right tradeoff, because AI write proofs, and AI time is cheap, while bugs take human time, which is expensive.

3. Sorry I'm not proud of the commit history

4. I don't think it is worthy publication because the core idea is simple. We just use QTT-like linear types to fully prohibit runtime closures. So, paradoxes like Russel's and Girard's are blocked. In exchange, functions like List.map are not expressive (without templates). So it is not a research breakthrough. I just made a conscious trade here, which makes Bend way closer to C or Rust, than to Haskell or Lean.

5. Will patch.

Great questions actually, and surprisingly respectful. I appreciate it a lot.

5m agoHN ↗

You expect an arxiv only paper to be cited? Do you even know fuck all about scientific research? Do you think someone can slap "Foundations of" in an arxiv title and we are mandated to cite it?

14m agoHN ↗

Maybe in our brave new world only the "laws" will matter and the implementation language is irrelevant to humans. In the mean time I have some questions about the "guide", which claims to define the entire language:

https://github.com/bendlang/bend/blob/main/guide/GUIDE.md

Let's see:

- There are no infinite loops, and recursion is kind of softly bounded to 2^48-1. This sounds grrrreat for games. I guess they have to stop working after a while? (What would be wrong with addressing this conceptually like Lean does? Have a way to annotate a term as possibly non-terminating?)

- We seem to have Data and Type and Kind, and they don't mean what they conventionally do. '-' means "used 0 types". And the example is:

    def length(a, -A: Kind(a), xs: List<a, A>) -> Nat:
      match xs:
        case Nil{}:
          0n
        case Con{h, t}:
          1n+length(a, A, t)

But wait! A is used albeit not at runtime. Is it possible that this actually intends "A may be used any number of times and is itself the name of a - type"? Shouldn't that be spelled "A: Kind(a) & -" or similar? Why does the kind even matter for this example?

- I don't understand the Array example:

    import Base
    
    def main() -> Array<U32> & U32:
      a = [0 : U32*8n] # new array with 8 copies of 0
      a[5] <- 42       # performs an in-place rewrite
      a[5]             # reads index 5

What is the return type of this function? It looks like it returns U32. So what's "Array<U32> & U32"?

- I don't even understand the Array explanation:

The slot count after * is a power of two; [0 : U32^3n] names the depth instead.

Okay, the 8 in *8n above is indeed a power of two. Does the language require it? Does it actually mean 2^8? What is the "depth" of an array? Does this language not have non-power-of-two-sized arrays?

At this point I stopped reading.

11m agoHN ↗

Great team behind it. SSL cert is quantum resistant even.

10m agoHN ↗

No windows? axiomatic F32? I'll stick with Slopjective-C 3.0 thanks

6m agoHN ↗

  claude: 1 commit 1,722,119 ++0 --

I assume that Claude formally proved Bend correct like CakeML?

Why would anyone want to work with such a dystopian setup? Prove your code directly in Lean or Coq or leave it.

6m agoHN ↗

Weird claim about us living in a post-AGI world, no company has shown true AGI yet.

4m agoHN ↗

Would the author have specified on the page that it's a fast new language with a new take on proof and so on, without mentioning ai and that alone would have caught my attention. It seems like if there isn't the word ai people are not interested anymore, we used to care many of us used to care

4m agoHN ↗

Unless the proofs themselves are defined with natural language, I don't see them being adopted by humans. It takes a high cognitive load to read let alone write a proof.