←back to thread

Parse, Don't Validate (2019)

(lexi-lambda.github.io)
389 points melse | 2 comments | | HN request time: 0.412s | source
Show context
spinningslate ◴[] No.27640804[source]
This is a great post. I come back to it frequently.

There's beautiful clarity in the articulation, and the essence is easy to grasp yet powerful. It reminds me a bit of Scott Wlaschin's Railway Oriented Programming (ROP) [0]. As a technique, ROP nicely complements "parse don't validate". As an explanation, it's similarly simple yet wonderfully effective.

I've a real admiration for people who can explain and present things so clearly. With ROP, for example, the reader learns the basics of monads without even realising it.

[0]: https://fsharpforfunandprofit.com/rop/

replies(2): >>27640892 #>>27643364 #
ChrisMarshallNY ◴[] No.27640892[source]
I agree. It's a very well-written post. I am not a Haskell person, but it was quite clear to me.

I feel that we don't put enough value, these days, on the ability to write clear, articulate exposition. Also, I believe that many people are not willing to read articles, books, or papers, of any meaningful length.

Everything needs to be boiled down to <10 min. read time, or <18 min. TED talks.

replies(1): >>27642226 #
1. themulticaster ◴[] No.27642226[source]
The way you somewhat randomly mention the value of clear and articulate exposition makes me assume you just had to wade through a 300-page specification document for a government contract regarding pencil sharpeners or something similar. If that's the case, you have my sympathy.

Anyways, I definitely agree.

replies(1): >>27644041 #
2. ChrisMarshallNY ◴[] No.27644041[source]
Not recently (thank the Gods), but I used to work for a defense contractor, and I have dealt with many specification documents (like the Bluetooth spec).