
So you want to be a proof engineer? - luu
http://proofcraft.org/blog/proof-engineer-reading.html
======
danblick
Where are formal methods used in industry? To quote
[http://research.microsoft.com/en-
us/um/people/lamport/tla/am...](http://research.microsoft.com/en-
us/um/people/lamport/tla/amazon.html) -

"We have found relatively little published literature on using high-level
formal specification to verify the design of complex distributed systems in
industry."

~~~
mlitchard
Here [https://www.facebook.com/](https://www.facebook.com/) Here
[https://galois.com/](https://galois.com/) And Here
[https://www.fpcomplete.com/](https://www.fpcomplete.com/)

To name a few.

~~~
danblick
Could you elaborate on the uses at Facebook?

~~~
gohrt
[https://code.facebook.com/posts/302060973291128/open-
sourcin...](https://code.facebook.com/posts/302060973291128/open-sourcing-
haxl-a-library-for-haskell/)

~~~
gelisam
While Haxl is great and is a good example of Haskell usage in the industry,
it's not a good example of the usage of formal methods, since functional
programming is only the first of the two steps mentioned in the article.

The title of this post made me hope they were looking to hire a "proof
engineer", but alas, they're only explaining how to become one. It's already
hard enough trying to find a Haskell job, finding one in Isabelle or Agda must
be near impossible!

------
solomatov
It's a bad advice. You don't have to learn Haskell and functional programming
for this.

IMO, you need: \- Learn math, i.e. what a proof is, basic algebra, etc \-
Learn a dependently typed system like Agda or Coq. All these systems use
functional programming but this kind of programming is very different from
programming which leads to programs.

~~~
murbard2
What kind of programming doesn't lead to programs? And before you say proofs,
proofs are programs, that's the point.

~~~
solomatov
Proofs are programs but of a very different kind. For example, you don't care
about performance.

