1818-  [ Status] ( #status ) 
1919-  [ Installation] ( #installation ) 
2020-  [ Dependencies] ( #dependencies ) 
21+ -  [ Usage examples] ( #usage-examples ) 
2122-  [ API] ( #api ) 
2223-  [ Authors] ( #authors ) 
2324-  [ License] ( #license ) 
@@ -34,14 +35,27 @@ The core language is intentionally kept extremely minimal and currently only
3435contains the following:
3536
3637-  basic math ops (multi-arity)
38+ -  logic operators (multi-arity)
39+     -  ` and ` 
40+     -  ` or ` 
41+     -  ` not ` 
42+ -  bitwise operators
43+     -  ` << ` 
44+     -  ` >> `  / ` >>> ` 
45+     -  ` bit-and ` 
46+     -  ` bit-or ` 
47+     -  ` bit-xor ` 
48+     -  ` bit-not ` 
3749-  comparison operators
3850-  constants & functions from JS-native ` Math ` 
3951-  selected utilities from [ thi.ng/math] ( https://thi.ng/math )  package
4052    -  ` HALF_PI ` 
4153    -  ` TAU ` 
4254    -  ` clamp ` : clamp value to interval
55+     -  ` deg ` : convert radians to degrees
4356    -  ` fit ` : fit value from one interval into another
4457    -  ` mix ` : linear interpolation (same as GLSL ` mix() ` )
58+     -  ` rad ` : convert degrees to radians
4559    -  ` step ` : same as GLSL ` step() ` 
4660    -  ` smoothstep ` : same as GLSL ` smoothstep() ` 
4761-  basic FP programming constructs
@@ -51,6 +65,8 @@ contains the following:
5165    -  ` let ` : locally scope var bindings/expression
5266    -  ` partial ` : partial application (currying)
5367-  basic list/array processing
68+     -  ` aget ` : get array index
69+     -  ` aset ` : set array index
5470    -  ` count ` : number of items
5571    -  ` concat ` : same as ` Array.prototype.concat(...) ` 
5672    -  ` filter ` : list/array filtering
@@ -98,7 +114,7 @@ For Node.js REPL:
98114const  lispy  =  await  import (" @thi.ng/lispy" 
99115``` 
100116
101- Package sizes (brotli'd, pre-treeshake): ESM: 1.30  KB
117+ Package sizes (brotli'd, pre-treeshake): ESM: 1.40  KB
102118
103119## Dependencies  
104120
@@ -111,6 +127,16 @@ Package sizes (brotli'd, pre-treeshake): ESM: 1.30 KB
111127
112128Note: @thi  .ng/api is in _ most_  cases a type-only import (not used at runtime)
113129
130+ ## Usage examples  
131+ 
132+ One project in this repo's
133+ [ /examples] ( https://github.com/thi-ng/umbrella/tree/develop/examples ) 
134+ directory is using this package:
135+ 
136+ |  Screenshot                                                                                                        |  Description                                               |  Live demo                                        |  Source                                                                        | 
137+ | :------------------------------------------------------------------------------------------------------------------| :----------------------------------------------------------| :-------------------------------------------------| :------------------------------------------------------------------------------| 
138+ |  <img  src =" https://raw.githubusercontent.com/thi-ng/umbrella/develop/assets/examples/lispy-repl.png "  width =" 240 " /> |  Browser REPL for a Lispy S-expression based mini language |  [ Demo] ( https://demo.thi.ng/umbrella/lispy-repl/ )  |  [ Source] ( https://github.com/thi-ng/umbrella/tree/develop/examples/lispy-repl )  | 
139+ 
114140## API  
115141
116142[ Generated API docs] ( https://docs.thi.ng/umbrella/lispy/ ) 
@@ -160,6 +186,16 @@ evalExpressions(SRC, {...ENV, name: "lispy"});
160186//    "<=": "<function>",
161187//    ">=": "<function>",
162188//    ">": "<function>",
189+ //    "and": "<function>",
190+ //    "or": "<function>",
191+ //    "not": "<function>",
192+ //    "<<": "<function>",
193+ //    ">>": "<function>",
194+ //    ">>>": "<function>",
195+ //    "bit-and": "<function>",
196+ //    "bit-or": "<function>",
197+ //    "bit-xor": "<function>",
198+ //    "bit-not": "<function>",
163199//    "E": 2.718281828459045,
164200//    "LN10": 2.302585092994046,
165201//    "LN2": 0.6931471805599453,
@@ -203,11 +239,17 @@ evalExpressions(SRC, {...ENV, name: "lispy"});
203239//    "tan": "<function>",
204240//    "tanh": "<function>",
205241//    "trunc": "<function>",
242+ //    "HALF_PI": 1.5707963267948966,
243+ //    "TAU": 6.283185307179586,
206244//    "clamp": "<function>",
245+ //    "deg": "<function>",
207246//    "fit": "<function>",
208247//    "mix": "<function>",
248+ //    "rad": "<function>",
209249//    "step": "<function>",
210- //    "smoothStep": "<function>",
250+ //    "smoothstep": "<function>",
251+ //    "aget": "<function>",
252+ //    "aset": "<function>",
211253//    "push": "<function>",
212254//    "concat": "<function>",
213255//    "count": "<function>",
0 commit comments