public abstract static class Function.Native2 extends Function.Native
Function
s specified by
arbitrary Java code in apply2(v0,v1)
.
Note, Native2 extends (i.e., is a) Function.Native
.Function.Native.WithInverse
Function.Cts2Cts, Function.Cts2Cts2Cts, Function.CtsD2CtsD, Function.HasInverse, Function.Native, Function.Native2, Function.Native3
Value.Atomic, Value.Bool, Value.Char, Value.Chars, Value.Cts, Value.Defer, Value.Discrete, Value.Enum, Value.Inc_Or, Value.Int, Value.Lambda, Value.List, Value.Maybe, Value.Option, Value.Real, Value.Scannable, Value.Structured, Value.Triv, Value.Tuple
Constructor and Description |
---|
Native2() |
Modifier and Type | Method and Description |
---|---|
Function.Native |
apply(Value v0)
Take the parameter 'v0' and return a
Function.Native which takes
the parameter 'v1' to produce the result (this(v0))(v1). |
abstract Value |
apply2(Value v0,
Value v1)
apply2(v0,v1) does whatever you specify, BUT it must
return a Value in WHNF – see
Value.force() . |
public abstract Value apply2(Value v0, Value v1)
Value.force()
.public Function.Native apply(Value v0)
Function.Native
which takes
the parameter 'v1' to produce the result (this(v0))(v1).
Hence 'this' is a curried Function.apply
in class Function.Native