flowmetal/components/milkshake/README.md

42 lines
934 B
Markdown

# Milkshake
![milkshake](./milkshake.png)
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
```