Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Language is not mentioned in a title, so my first thought was about TypeScript type wizardry. Turns out it's as simple as `Exclude<string, "">`.

    https://www.typescriptlang.org/docs/handbook/utility-types.h...

    Edit: nevermind, LLM fooled me.

  • Daily reminder that TypeScript's type checker is not sound.

    https://www.typescriptlang.org/play/?#code/C4TwDgpgBAcg9gOwK...

  • Speaking of TS, there's stuff in there for typing strings / string formats: https://www.typescriptlang.org/docs/handbook/2/template-lite...
  • It is very much mentioned in the article title and the first sentence. It's just HN that's truncated the title.
  • It's simple, and it doesn't work as `Exclude` only applies to union types. For type `string` it just returns the same type `string`.
  • Empty strings are usually an artifact of lazy developers paying a minimal "empty" value for a type (just as 0 for numbers).

    A type like NonEmptyString is a weak defense against that, as a lazy dev can just pass a single space character or something similar.

    by VMG
  • But that’s not an empty string
  • Very cool that the language allows specification of a type in this way.

    I added a similar type — “non-empty-string” to a typechecker for PHP, and it’s been adopted widely in the PHP ecosystem. It turns out to be pretty handy, especially when there’s a full type system to support it.

  • > Very cool that the language allows specification of a type in this way.

    Check out Idris 2. Dependent types can get very hairy to work with, but that language is an absolute playground for inductive type-level verification. And the standard library is like a nice Haskell standard library to me in a lot of ways, although the language itself is (unsurprisingly) not nearly as "production ready" as Haskell.

  • "Huh never heard of Bellroy... I wonder what they're using Haskell for..."

    Turns out it's some kind of bags and accessories brand!

  • I once saw a job ad for a company selling a horoscope app that required Haskell. An unusual conjunction for sure.
  • I bought a leather wallet from them in 2016 (the Hide & Seek) and it is still holding up well despite a few loose stitches. It’s much slimmer than my older wallet.
  • I pondered for a while, it IS the company I used to know
  • I've had a Bellroy bag, they're not the most fashionable but super high quality and well thought-out. Just like Haskell code—maybe that's why they like it.