From 380fc18fe1ce891fbb1134d4cc91a0c9b4e19dee Mon Sep 17 00:00:00 2001 From: JB Giraudeau Date: Wed, 31 Aug 2016 15:12:52 +0200 Subject: [PATCH 1/2] Removed Faux Pas from Functional Programming section This library is not related to functional programming. Having it in this section might lead learners of functional programming to think that error propagation/handling via runtime exceptions is the way to go. It is not. Even worse, sneaky throw is a hack/corruption of the type system. A key goal of functional programming is maximize safety, this library has the opposite goal by encouraging unsafe functions. In functional programming one would rather use sum types (or at least checked exceptions) for error handling. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a2c4755..f585b68 100644 --- a/README.md +++ b/README.md @@ -343,7 +343,6 @@ A curated list of awesome Java frameworks, libraries and software. * [cyclops-react](https://github.com/aol/cyclops-react) - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more. * [derive4j](https://github.com/derive4j/derive4j) - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, morphisms. -* [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. * [Fugue](https://bitbucket.org/atlassian/fugue) - Functional extensions to Guava. * [Functional Java](http://www.functionaljava.org) - Implements numerous basic and advanced programming abstractions that assist composition-oriented development. * [Javaslang](http://www.javaslang.io/) - Functional component library that provides persistent data types and functional control structures. From 5ee60695c37bb327a695a4ed011110fb99689a3b Mon Sep 17 00:00:00 2001 From: JB Giraudeau Date: Wed, 31 Aug 2016 21:53:01 +0200 Subject: [PATCH 2/2] Moved Faux Pas to Development section as it is not really related to functional programming. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f585b68..7f370d6 100644 --- a/README.md +++ b/README.md @@ -270,6 +270,7 @@ A curated list of awesome Java frameworks, libraries and software. * [AspectJ](https://eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. * [Auto](https://github.com/google/auto) - Collection of source code generators. * [DCEVM](http://dcevm.github.io/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. +* [Faux Pas](https://github.com/zalando/faux-pas) - Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions. * [HotswapAgent](https://github.com/HotswapProjects/HotswapAgent) - Unlimited runtime class and resource redefinition. * [Immutables](http://immutables.github.io/) - Scala-like case classes. * [JHipster](https://github.com/jhipster/generator-jhipster) - Yeoman source code generator to create applications based on Spring Boot and AngularJS.