public inbox for kawa@sourceware.org
 help / color / mirror / Atom feed
* Differences between the evaluator on Android and JVM
@ 2024-04-23 16:50 Panicz Maciej Godek
  0 siblings, 0 replies; only message in thread
From: Panicz Maciej Godek @ 2024-04-23 16:50 UTC (permalink / raw)
  To: kawa

[-- Attachment #1: Type: text/plain, Size: 1404 bytes --]

Hello,
in the process of working on GRASP, I observe that the "eval" function
works differently when invoked on Android and on JVM. More specifically,
the Android version seems to be missing some features.

For example, I have a function called "numbers", which takes keyword
arguments.

When I evaluate the expression (numbers from: 0 to: 3), the JVM client
returns the list (0 1 2 3), as expected. However, the Android client throws
the WrongArgument exception.

Another problem is the lack of support for the object:field notation. It is
properly parsed by the Android client as ($lookup$ object (quasiquote
field)) IIRC, but the "$lookup$" isn't defined properly.

I believe it can have something to do with the fact that on Android, the
"eval" function isn't available by default, and in order to make it run, I
do the following thing on startup:


    (let ((scheme ::gnu.expr.Language
  (or kawa.standard.Scheme:instance
      (kawa.standard.Scheme))))
      (kawa.standard.Scheme:registerEnvironment)
      (gnu.mapping.Environment:setCurrent
       (scheme:getEnvironment)))

Is there anything that I could change in this initialization in order to
have those Kawa-specific features?

Also, I yesterday recorded a 15-minute demo in which I use GRASP to build a
GUI calculator. I think that it shows the current state of the editor quite
well:

https://youtu.be/-oj3e_E2-Jk

Best regards,
Panicz

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-04-23 16:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-23 16:50 Differences between the evaluator on Android and JVM Panicz Maciej Godek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).