Re:CSS Written in Pure Go
by kccqzy on Sunday June 02, 2024 @02:22AM
(#40551853)
Not a bad idea actually. I had used the lucid library to do just that. It was intuitive and easy to read.
[ Parent
| on HN ]
Sample syntax:
table_ (tr_ (td_ (p_ "Hello, World!")))
More complex: table_ [rows_ "2"]
(tr_ (do td_ [class_ "top",colspan_ "2",style_ "color:red"]
(p_ "Hello, attributes!")
td_ "yay!"))
Source: https://hackage.haskell.org/package/lucidYeah Haskell is far from the worst langage to write a tree of elements in.
That is essentially what Elm proposes and it works fine.
Re:CSS Written in Pure Go
by tannhaeuser on Sunday June 02, 2024 @04:58AM
(#40552595)
HTML isn't a "tree of elements" though; it's about content token sequences described by regular languages where the symbols can also represent nested markup. The regular content model stuff is what drives SGML/HTML tag omission/inference and is a major feature of markup languages as a text format compared to primitive co-inductive expression syntax a la s-expr and co.