[Ur] New website?

Timothy Beyer beyert at fastmail.net
Sun Aug 9 05:39:08 EDT 2015


At Thu, 06 Aug 2015 11:56:27 -0400,
Adam Chlipala wrote:
>     Right now, I'm focusing on library stuff, rather than tutorials, such as GUI
>     components similar to what I've used on big Javascript projects, and JSON RPC.
> 
> Can you elaborate on the JSON RPC part?  I can't think of anything of that kind that wasn't
> already well-supported by Ur/Web and its extended standard library 5 years ago.

I don't have any specific affection for JSON RPC or RPC in general, but rather
that I have an odd use case.

I plan on writing desktop type applications that are highly stateful that use
Ur/Web for the UI and transactional portions of the server side (I'm porting a
number of Emacs applications that I wrote years ago).  A small yet important
chunk of that state is long running, and I wanted to keep that part away from
transactional portions of the application.

I opted to have most of that state live on the server side, which is invoked in
a completely separate process on the server.  Perhaps this isn't an optimal
arrangement, but thus far it seems to work for my requirements, and I was able
to make a working proof of concept in a few days.

For this purpose, I was able to use the Ur/Web C FFI to call a JSON RPC client
written in Haskell, which I use to specify stateful actions to run on the
server side process, which in turn writes to the PostgreSQL database.  It is
only intended to return database related content, at most just pinging back
Ur/Web so that it knows to update the display.

Sergey recently mentioned to me that he wrote urweb-callback some time ago,
which might work for many cases that I describe (at the time I wrote the code,
I wasn't aware of it), although I have to investigate it in more detail to see
if it is a suitable replacement for what I had in mind (although some of the
cases aren't well suited to being batch executables or shell scripts).
Speaking of which, is there any reason why it was not incorporated as part of
Ur/Web, since applying patches isn't ideal?

Regards,
Tim



More information about the Ur mailing list