1 #+title: demo-old-readme
3 The backend services are written in Rust and controlled by a simple
4 messaging protocol. Services provide common runtime capabilities known
5 as the
/service protocol/ but are specialized on a unique
/service 6 type/ which may in turn register their own
/custom protocols/ (via
9 Services are capable of dispatching data directly to clients, or
10 storing data in the
/database/ (sqlite, postgres, mysql).
12 The frontend clients are pre-dominantly written in Common Lisp and
13 come in many shapes and sizes. There is a cli-client, web-client
14 (CLOG), docker-client (archlinux, stumpwm, McCLIM), and native-client
15 which also compiles to WASM (slint-rs).
19 - *install dependencies* 23 - *make executables* \\ 24 Simply run
=make build=. Read the
~makefile~ and change the options
26 - MODE :: Mode (debug, release)
27 - LISP :: Lisp (sbcl, cmucl, ccl)
28 - CFG :: Config (default.cfg)
34 Configs can be specified in JSON, TOML, RON, or of course SEXP. See
35 =default.cfg= for an example.
37 The high-level user interface is presented as a multi-modal GUI
38 application which adapts to the specific application
/instances/ 41 This backend retrieves weather data using the NWS API.
43 The 'Stocks' backend features a stock ticker with real-time analysis
46 This is a benchmark backend for testing the capabilities of our
47 demo. It spins up some mock services and allows fine-grained control
51 - consider tree-sitter parsing layout, use as a guide for developing a
52 single syntax which expands to Rust or C.
58 *** TODO rs-macroexpand 64 *** TODO c-macroexpand 70 *** TODO slint-macroexpand 76 *** TODO html (using who) 78 create a basic static page in CL which will be used to host Slint UIs
79 and other WASM doo-dads in a browser.
81 using clingon, decide on generic options and write it up
83 work on doc generation -- Rust and CL should be accounted for.
85 We have none! need to make it more comfy - set up testing in all Rust
86 crates and for the lisp systems.