From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 101664 invoked by alias); 17 Sep 2017 15:32:48 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 101635 invoked by uid 89); 17 Sep 2017 15:32:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-wm0-f46.google.com Received: from mail-wm0-f46.google.com (HELO mail-wm0-f46.google.com) (74.125.82.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 17 Sep 2017 15:32:34 +0000 Received: by mail-wm0-f46.google.com with SMTP id 13so17025643wmq.2 for ; Sun, 17 Sep 2017 08:32:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=AbFUwc9s/IcWs+yYis2A4DdcaLjnRZXIYZMmjQ6dmVU=; b=t/DAn3gDwSunyyVGO1yM+psAFZoistvXdhuZNCSjM4ztl3gLr+n3G06udFqJExBiuk UufC/KSS6D7EZzVkQjub/gKm9BiQy65fVjE9wOBt7pA/GbEyl6kOTcjPladzRSehKSq+ bPanQVDIPMcvUGbu15ytfcewfLYT1HmwNTn3NUk9mykmMpfZMhXLKBlxnTgE76AgQeUj WHJjwfx8tdVypfxlRiHzaDosLXBbiWnDiXmJW1SoNvA6VYEvM4CrNRlZdYIG44/lvMgm CVqMnMjft6s6lY4kAXz1QIH9ydg1hPKlqpIZXXeTUALlDtvOsuoK2Yn06VcmQNfGywPn B8Gg== X-Gm-Message-State: AHPjjUiYOucPV90/RP/zAtfnYWSUpN7u3LR68qP7xrn82uMwUExEVf0w 7BzfHUaYEnTqhqBTcofZtNdY+R5GU7QeGd7+g6Wk3usa X-Google-Smtp-Source: AOwi7QDQXToDM5ntMD8JlGBxqMCHTmFgWqK6PWUH7vLAbBlz6bVl1uz0Hn/cCmuS+a+CGUuFNraZ71spMWXn9lJu/kE= X-Received: by 10.28.128.215 with SMTP id b206mr2710819wmd.152.1505662351555; Sun, 17 Sep 2017 08:32:31 -0700 (PDT) MIME-Version: 1.0 Received: by 10.223.200.2 with HTTP; Sun, 17 Sep 2017 08:32:31 -0700 (PDT) From: Sonny To Date: Sun, 17 Sep 2017 15:32:00 -0000 Message-ID: Subject: using lambda to implement one method interface To: Kawa mailing list Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2017-q3/txt/msg00047.txt.bz2 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)