42 lines
934 B
Markdown
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
|
|
```
|