Comments (7)
Would otherwiseLeft
and otherwiseFail
only be generated for the flavours that support them, or will derive4j have a companion artefact containing an Either
and Validation
implementation ( hopefully not unique versions of these per @Data
type..
from derive4j.
they would be generated only for flavours that already have those data-types.
from derive4j.
+2 - sounds good.
from derive4j.
2cents: why not have overload?
Function<ADT, R> otherwise(R value);
Function<ADT, R> otherwise(Supplier<R> value);
Things are only going bad if you have same erasure or ambiguous lambda parameter (Supplier<Supplier<>>
? unlikely to be used). And the symmetry is not harmed either as naming here is to accommodate return type, not input
from derive4j.
Yeah, let's try overloading. If not complaints from users' compilers we will keep it. thanks @elucash
from derive4j.
overloading may not be a good idea, performance-wise. Current inference algo is slow in the presence of overloading: https://bugs.openjdk.java.net/browse/JDK-8051946 / http://stackoverflow.com/questions/34223249/slow-compilation-with-jooq-3-6-plain-sql-and-the-javac-compiler
I also worry that IDE code completion will be less useful.
from derive4j.
I left out otherwiseFail
(Validation
), to reduce the amount of generated code (conversion from Either
is easy).
I also gone the overload route. If problems arise overloads may be renamed in a later version.
from derive4j.
Related Issues (20)
- NoSuchElementException after upgrading from 0.10.2 to 1.1.1
- StackOverflow in derivingConfig when @Data annotation is used HOT 1
- Data constructors: allow referencing no yet generated types. HOT 1
- Extension APIs HOT 1
- Could not find instance derivator for fj.Equal and InstanceConfig(Optional.empty, Optional.empty) HOT 2
- @ExportAsPublic does not work correctly on (static) nested classes
- Add Vavr flavour HOT 4
- Improve lazy implementation to support stack-safe evaluation of nested Lazy values
- Ignoring arguments while pattern matching HOT 4
- Random bug : compilation pb with static imports of constructors HOT 4
- Supporting subtypes HOT 4
- Compilation times with Derive4J-generated code HOT 9
- Type classes derivation : wildcards are problematic HOT 2
- DSL example Pass compile but can't run . HOT 5
- Type classes derivation : arrays (or varargs) are problematic HOT 1
- Add Cycops flavour HOT 1
- Feature request: Support Java 11
- Any example about Lens support for VAVR? HOT 4
- Usage in mixed scala/java codebase
- More compact code for equals methods HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from derive4j.