s-expression language that compiles to css
"* {
box-sizing: border-box
}"("div" (".test" color green) ("a" color yellow))div .test{color:green;}div a{color:yellow;}
("div" ((".test" "a") color green)div .test{color:green;}div a{color:green;}
("div" (("&.test" "a") color green)div.test{color:green;}div a{color:green;}
("@media" ("a" color "orange"))@media{a{color:orange;}}
the variables always come from the scheme environment and are inserted into plcss exactly like quasiquote (it is quasiquote)
(define myvariable "1rem")
(css
("body" margin (unquote myvariable)))body{margin:1rem;}
compiled to a port with "plcss->css"
(import (sph lang plcss))
(plcss->css
(quote ((".content" width "3px")))
(current-output-port))with "css"
(define a "4px")
(display
(css
(".content" (".mtime" position absolute right 0 top 0 color "hsl(0,0%,67%)" text-align right)
(".signature" border "1px solid hsl(0,0%,70%)"
display "inline-block" border-radius (unquote a) padding "0.75rem" color "hsl(0,0%,10%)"))
(".middle .content" padding 0)))result: .content .mtime{position:absolute;right:0;top:0;color:hsl(0,0%,67%);text-align:right;}.content .signature{border:1px solid hsl(0,0%,70%);display:inline-block;border-radius:4px;padding:0.75rem;color:hsl(0,0%,10%);}.middle .content{padding:0;}
.plcss