flowmetal/components/milkshake
2023-05-03 23:30:59 -06:00
..
src/python/milkshake Sketching towards a prototype lisp 2023-05-03 22:50:09 -06:00
test/python Sketching towards a prototype lisp 2023-05-03 22:50:09 -06:00
BUILD Sketching towards a prototype lisp 2023-05-03 22:50:09 -06:00
milkshake.png Document milkshake a bit 2023-05-03 23:30:59 -06:00
README.md Document milkshake a bit 2023-05-03 23:30:59 -06:00

Milkshake

milkshake

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.


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