repl for android

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

repl for android

Sonny To
One thing I like about Clojure for Android is the repl.  Is there a
repl for android where I can attach from emacs and eval some code and
dynamically construct a UI?
Reply | Threaded
Open this post in threaded view
|

Re: repl for android

Per Bothner
On 08/31/2017 08:43 AM, Sonny To wrote:
> One thing I like about Clojure for Android is the repl.  Is there a
> repl for android where I can attach from emacs and eval some code and
> dynamically construct a UI?

Kawa does includes a telnet server. You could start it on the phone with:
   java kawa.repl --port PORTNUM
where PORTNUM is the listening port.  (If you use 0, an available port is used.)

Then from your PC you can telnet to that port:

telnet IPADDR PORTNUM

where IPADDR is that of your Android device.

I haven't tested this with an Android device.  Of course note that telnet
is unencrypted and insecure, so don't use an unencrypted WiFi connection.

Better, but more complex, would be to use a ssh server on the device.

Kawa's eval/repl on Android does have some limitations because you can't
construct new classes on the fly.  (On other targets repl/eval code is
first compiled to bytecode before it is executed.  That is not an option
on Android at this time.)
--
        --Per Bothner
[hidden email]   http://per.bothner.com/
Reply | Threaded
Open this post in threaded view
|

Re: repl for android

Per Bothner
On 08/31/2017 09:31 AM, Per Bothner wrote:
> On 08/31/2017 08:43 AM, Sonny To wrote:
>> One thing I like about Clojure for Android is the repl.  Is there a
>> repl for android where I can attach from emacs and eval some code and
>> dynamically construct a UI?
>
> Kawa does includes a telnet server. You could start it on the phone with:
>    java kawa.repl --port PORTNUM
> where PORTNUM is the listening port.  (If you use 0, an available port is used.)

Oops - that should have been

java kawa.repl --server PORTNUM

The ---port flag used used to start a http server, while the --server flag
is used to start a telnet server.
--
        --Per Bothner
[hidden email]   http://per.bothner.com/