flowmetal/components/milkshake/README.md

43 lines
1,011 B
Markdown
Raw Normal View History

2023-05-04 05:30:59 +00:00
# Milkshake
2023-05-04 05:33:11 +00:00
<img style="float: right; margin: 0px 0px 15px 15px;" width=100 src="./milkshake.png" alt="A milkshake" />
2023-05-04 05:30:59 +00:00
A tool for slurping S-expressions. They are quite tasty.
## Grammar
Milkshake supports a slightly expanded and idiosyncratic set of S-expression datums.
Milkshake owes much to but is not quite Clojure's EDN.
```lisp
;; A comment. Any number of semicolons will do.
() ; A list
'() ; A quoted list
[] ; Another kind of list
#[] ; A vector (maybe just a list)
{'foo 1} ; A mapping
#{1 2 3} ; A set
nil ; A symbol
/ ; Another symbol
~ ; An unusual symbol
# ; Another unusual symbol
/^\s+/ ; A regex pattern
"foo" ; A string
1 ; A number
1e3 ; Another number
+3.1415 ; Another form of a floating number
1,000.00 ; A US-format number
1.000,00 ; A more common number format
1_000.00 ; A compromise form for a number
`() ; A quasiquoted expression
`~() ; An unqoted expression
`~@() ; A spliced expression
```