Remi's fear of the constabulatory

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Tue Sep 5 11:50:14 UTC 2017



On 04/09/17 17:38, Brian Goetz wrote:
> These send a clear signal to the caller about what sort of arguments 
> can be passed (though the compiler still need to apply additional 
> constraints, such as the constables being compile-time constant 
> expressons.)  You could validly argue either way; that "because the 
> compiler still must apply additional outside-the-type-system checks, 
> these could just as well be Object", and also that the type 
> specificity helps users understand the API better. 
A possible third option when reading this would be:

Intrinsics.ldc(@FoldableConstant Object c)
BootstrapSpecifier.of(MethodHandleRef bootstrap, @FoldableConstant 
Object... staticArgs)

That is, decouple constant-ness from the type system, and use a 
dedicated annotation to do that.

Maurizio


More information about the amber-spec-experts mailing list