Hello João: > That's a great idea. Have you looked at the jsonrpc.el test application > in test/lisp/jsonrpc-tests.el? It has a simple application, but it's > not very well commented, so a well-described tutorial that does a > similar simple application is welcome. I haven't read it yet and I will. > Doing jsonrpc-async-request without success-fn is possible but oesn't > make much sense, becase there's nothing to react to whatever the server > returned for this remote proceedure call if the request succeeds. You're right and what I want to do is to see what will happen if I don't use :success-fn. > By the way, this isn't how you make objects in Common Lisp (or in Emacs > Lisp's emulation of it, which is what we have here). You would have to > use 'make-instance' Yes, 'make-instance' is the better one. > You should first be able to describe in plain English what you want this > tutorial example to showcase. Do you want to make a simple JSONRPC > client that asks the endpoint to perform elementary arithmetic remotely? > Fine. Where do you want the remote endpoint to live? The same Emacs? > Another Emacs? Another process running a program written in another > language? All these problems are indeed things I need to consider if I want to write an example using JSON-RPC. My initial idea was simply to use RPC in Emacs to access some functionalities of Python. > As I said, it's a very good idea in principle. But from your > description of it, it seems still a bit fuzzy. Yeah. While writing this example, I assume that the user acts as the transport layer for RPC messages: manually calling 'jsonrpc-connection-send' and 'jsonrpc-connection-receive' to achieve message transmission. My initial intention is to let readers of the tutorial get a simple understanding of how jsonrpc.el works. > I _think_ you first want to do 1, to get a feeling of how to use the > library as an application writer. Only then should you move on to 2 to > understand how to user the library an implementor of new transports. can't agree more. In summary, first, I need to consider with whom I will perform RPC and address some of the details mentioned above. Afterward, I can proceed to plan and write the tutorial. I will carefully consider the suggestions above on how to better introduce the usage of jsonrpc.el. When I believe that my work is well-prepared, I may consider submitting a request to emacs-devel for review and feedback. Regards YI YUE