changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > demo / readme.org

changeset 19: fd19fdc77a20
parent: a1137af05c8d
child: ba323d8c0f93
author: ellis <ellis@rwest.io>
date: Mon, 29 May 2023 21:55:22 -0400
permissions: -rw-r--r--
description: readme update, removed scripts dir
1 #+TITTLE: cl-demo
2 This is a demo software suite which showcases the power of Common Lisp and Rust.
3 * Guide
4 ** Build
5 - *install dependencies*
6  - Rust =curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh=
7  - Common Lisp
8  - on Linux ::
9  - Ubuntu/Debian :: =sudo apt-get install sbcl=
10  - Arch BTW :: =sudo pacman -S sbcl=
11  - on MacOS :: =brew install sbcl=
12  - on Windows :: download from
13  <https://www.sbcl.org/platform-table.html> and figure it out.
14  - Quiche
15  - RocksDB
16 - *make executables* \\
17  Simply run =make build=. Read the ~makefile~ and change the options
18  as needed.
19 - M :: Mode (debug, release)
20 - L :: Lisp (sbcl, cmucl, ccl)
21 - P :: Python (python3, python2)
22 ** Run
23 #+begin_src shell
24  make build
25  ./out/demo
26 #+end_src
27 ** Config
28 Configs can be specified in JSON, TOML, RON, or of course SEXP.
29 ** Play
30 The high-level user interface is presented as a multi-modal GUI
31 application which adapts to the specific application /instances/
32 below.
33 *** Weather
34 This backend retrieves weather data using the NWS API.
35 *** Stocks
36 The 'Stocks' backend features a stock ticker with real-time analysis
37 capabilities.
38 *** Bench
39 This is a benchmark backend for testing the capabilities of our
40 demo. It spins up some mock services and allows fine-grained control
41 of input/throughput.
42 * tasks
43 ** TODO DSLs
44 - consider tree-sitter parsing layout, use as a guide for developing a
45  single syntax which expands to Rust or C.
46 - with-rs
47 - with-c
48 - with-rs/c
49 - with-cargo
50 - compile-rs/c
51 *** TODO rs-macroexpand
52 - rs-gen-file
53 - rs-defmacro
54 - rs-macros
55 - rs-macroexpand
56 - rs-macroexpand-1
57 *** TODO c-macroexpand
58 - c-gen-file h/c
59 - c-defmacro
60 - c-macros
61 - c-macroexpand
62 - c-macroexpand-1
63 *** TODO slint-macroexpand
64 - slint-gen-file
65 - slint-defmacro
66 - slint-macros
67 - slint-macroexpand
68 - slint-macroexpand-1
69 *** TODO html (using who)
70 ** TODO web templates
71 create a basic static page in CL which will be used to host Slint UIs
72 and other WASM doo-dads in a browser.
73 ** TODO CLI
74 using clingon, decide on generic options and write it up
75 ** TODO docs
76 work on doc generation -- Rust and CL should be accounted for.
77 ** TODO tests
78 We have none! need to make it more comfy - set up testing in all Rust
79 crates and for the lisp systems.