Tag

Haskell

2 stories

A maintainer spent 100 hours keeping AI code out of his project — and may lose modern Git to do it (joeyh.name)

He didn't reach the rule on principle first. Auditing dependencies, he found large LLM-generated changes reverted with no explanation, incoherent commit messages, and questionable code-copying — then spent ~100 hours drawing a clean line around his supply chain.

The thread split hard. Some users said the practical price — abandoning the world's dominant version-control tool over a disclosure tag — is one they won't pay. A ZeroTier founder went after the premise itself: reliable AI-code detection, he argued, is 'today's polygraph test pseudoscience.'

Not just a headline — the discussion unpacked

The top HN threads: facts from the discussions, both sides, insider voices. Email, Telegram, or RSS.

'Parse, don't validate' in a language that fights you: TypeScript's structural typing problem (cekrem.github.io)

An essay walks through making 'parse, don't validate' work in TypeScript, where structural typing means a validated Email is indistinguishable from any string. The fix is a branded type: a phantom symbol that makes Email incompatible with string at compile time and vanishes at runtime.

The thread's senior voices split on whether that's the real idea or a fake-out: one argued branding just labels a string as 'validated,' while another countered that all type guarantees are ultimately validation the compiler agrees to trust.