Hi Alex, > > The code is an interesting exercise in itself: > > The HTML entry function 'tractatus' consists mainly of a read-macro > which parses the embedded plaintext block into a '<menu>' structure, > with the hierarchy based on the individual indentation levels. >
This is really neat! It's great to see a more "substantial" use of a read-macro in the wild. And I'm impressed (though not surprised) by how concise the code is :) > To have it all together in a single source, the CSS "file" is in fact > the function 'tractatus.css', as well as the source download link > 'tractatus.l' (despite their names). > It didn't occur to me that we could use the "!<lisp-function>" syntax as you did to generate css. Would something like this work as well, to temporarily overide definitions in CSS files? (html NIL "My Page" (list *Css "!my-css-tweaks") NIL ... ) I don't know if that would actually be useful, just thinking aloud. > I suspect that the text is not complete yet, and probably neither > error-free nor particularly consistent. Let me know what you think > should be added or changed. > Looks pretty good to me. More links could be added, especially for the DB/Pilog/App Framework. Maybe some links to examples for 'Equivalence of Code and Data' too, and how it makes the language more expressive in practice? I also enjoyed the suspense generated by having to click through the menu. Thanks for sharing! -Erik