It's easier to reason in FP plus the python paradox [1] [2]. [1]: https://www.paulgraham.com/pypar.html [2]: https://blog.janestreet.com/why-ocaml/
> try (BufferedReader reader = new BufferedReader (new FileReader (filePath) )){ won't FileReader leak if the BufferedReader constructor throws?
It's easier to reason in FP plus the python paradox [1] [2]. [1]: https://www.paulgraham.com/pypar.html [2]: https://blog.janestreet.com/why-ocaml/
> try (BufferedReader reader = new BufferedReader (new FileReader (filePath) )){ won't FileReader leak if the BufferedReader constructor throws?