;;=> (1 2 3 "This is the fun part." "\n" "It also handles newlines and indentation.")
```
It differs from Racket's at-expr in that it is not a proper reader extension, but a hack using guile's read-hash-extend. I never had the time nor energy to find all the edge cases and work them out, so no fancy things.
# One weird thing
``` scheme
;; Any at-expr in the squiggly part of an at-expr should start without the #.
#@list{Here I want proper scheme expr: @(+ 1 2).
Look. No pound sign.}
;; ("Here I want proper scheme expr: " 3 ". " "\n" "Look. No pound sign.")
Where all parts are optional, but you have to have at least one.
cmd and args are read with guile's normal reader. Squiggly is special. Any normal text between { and } is read as a string. If an @ is found, whatever follows is interpreted as an at-expr. To write a literal at, you have to do @"@".