Sonny To
2017-09-17 15:32:31 UTC
follwing docs at https://www.gnu.org/software/kawa/Anonymous-classes.html
(let ((handler (android.os.Handler (android.os.Looper:getMainLooper)))
(runnable (lambda ()
(android.util.Log:i "scm" "run me"))))
(handler:post runnable)
)
that doesn't seem to work. Do I need to give type hints to be able to do this?
I'm getting this error:
#|.....44|# #|.....45|# #|.....46|# #|.....47|# /dev/stdin:46:17:
warning - type function is incompatible with required type
java.lang.Runnable
java.lang.ClassCastException: don't know how to coerce
gnu.expr.LambdaExp$Closure to java.lang.Runnable
at gnu.bytecode.ObjectType.coerceFromObject(ObjectType.java:180)
at gnu.kawa.functions.Convert.apply2(Convert.java:38)
at gnu.mapping.Procedure2.applyToObject(Procedure2.java:62)
at java.lang.reflect.Method.invoke(Native Method)
at gnu.mapping.CallContext$ReflectMethodHandle.invokeExact(CallContext.java:726)
at gnu.mapping.Procedure.applyToConsumerDefault(Procedure.java:75)
at java.lang.reflect.Method.invoke(Native Method)
at gnu.mapping.CallContext$ReflectMethodHandle.invokeExact(CallContext.java:726)
at gnu.mapping.CallContext.runUntilDone(CallContext.java:586)
at gnu.mapping.CallContext.getFromContext(CallContext.java:616)
at gnu.expr.Expression.eval(Expression.java:52)
at gnu.expr.ApplyExp.apply(ApplyExp.java:161)
at gnu.expr.LetExp.apply(LetExp.java:72)
at gnu.expr.ModuleExp.evalModule2(ModuleExp.java:281)
at gnu.expr.ModuleExp.evalModule(ModuleExp.java:211)
at kawa.Shell.run(Shell.java:283)
at kawa.Shell.run(Shell.java:196)
at kawa.Shell.run(Shell.java:183)
at kawa.TelnetRepl.apply0(TelnetRepl.java:25)
at gnu.mapping.RunnableClosure.run(RunnableClosure.java:75)
at java.lang.Thread.run(Thread.java:764)
(let ((handler (android.os.Handler (android.os.Looper:getMainLooper)))
(runnable (lambda ()
(android.util.Log:i "scm" "run me"))))
(handler:post runnable)
)
that doesn't seem to work. Do I need to give type hints to be able to do this?
I'm getting this error:
#|.....44|# #|.....45|# #|.....46|# #|.....47|# /dev/stdin:46:17:
warning - type function is incompatible with required type
java.lang.Runnable
java.lang.ClassCastException: don't know how to coerce
gnu.expr.LambdaExp$Closure to java.lang.Runnable
at gnu.bytecode.ObjectType.coerceFromObject(ObjectType.java:180)
at gnu.kawa.functions.Convert.apply2(Convert.java:38)
at gnu.mapping.Procedure2.applyToObject(Procedure2.java:62)
at java.lang.reflect.Method.invoke(Native Method)
at gnu.mapping.CallContext$ReflectMethodHandle.invokeExact(CallContext.java:726)
at gnu.mapping.Procedure.applyToConsumerDefault(Procedure.java:75)
at java.lang.reflect.Method.invoke(Native Method)
at gnu.mapping.CallContext$ReflectMethodHandle.invokeExact(CallContext.java:726)
at gnu.mapping.CallContext.runUntilDone(CallContext.java:586)
at gnu.mapping.CallContext.getFromContext(CallContext.java:616)
at gnu.expr.Expression.eval(Expression.java:52)
at gnu.expr.ApplyExp.apply(ApplyExp.java:161)
at gnu.expr.LetExp.apply(LetExp.java:72)
at gnu.expr.ModuleExp.evalModule2(ModuleExp.java:281)
at gnu.expr.ModuleExp.evalModule(ModuleExp.java:211)
at kawa.Shell.run(Shell.java:283)
at kawa.Shell.run(Shell.java:196)
at kawa.Shell.run(Shell.java:183)
at kawa.TelnetRepl.apply0(TelnetRepl.java:25)
at gnu.mapping.RunnableClosure.run(RunnableClosure.java:75)
at java.lang.Thread.run(Thread.java:764)