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
|
|
|
|
```
|