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