(import (json-rpc)) (cond-expand (chicken (import utf8)) (else)) (parameterize ((json-rpc-log-level 'error) (json-rpc-handler-table `(("hello" . ,(lambda (params) (let ((name (cdr (assoc 'name params)))) (string-append "Hello " name)))) ("grüß" . ,(lambda (params) (let ((name (cdr (assoc 'name params)))) (string-append "Grüß " name)))) ("sum" . ,(lambda (params) (apply + (vector->list params)))) ("subtract" . ,(lambda (params) (- (vector-ref params 0) (vector-ref params 1)))) ("notify_hello" . ,(lambda (params) #f)) ("notify_sum" . ,(lambda (params) #f)) ("get_data" . ,(lambda () #("hello" 5))) ("update" . ,(lambda (params) #f)) ("exit" . ,(lambda (params) 'json-rpc-exit))))) (json-rpc-start-server/tcp 4220))