Hi list, I keep returning to this idea, so I thought I'd do a little write up and share it with you all.
tldr: A thought experiment about extending the wiki markup syntax to inclued mechanisms for input forms and DB entity linkage. I've been spending a lot of time with the wiki, working on the new website (more on that in the coming weeks). Along the way, I've found myself desiring a couple features. Notably, the ability to attach arbitrary CSS to particular wiki documents. I imagine attaching a CSS file to a document, much like we can already attach various media. Then (with some markup extensions) we could access the classes/id's from that file. Maybe something like: 1.myClass{My Header styled with 'myClass'} 1.myClass.myOtherClass{Another Styled Header} 1#myId{Header with id 'myId'} or added to the end... 1{My Header styled with 'myClass'}.myClass or as "metadata" inside the braces... 1{(.myClass .myOtherClass) My Styled Header} I'm sure many syntax possiblities exist. That led to me wondering what other things might be possible using a wiki-like markup, which, taken to its logical extreme, was 'Well couldn't we write entire GUI's using a markup syntax?' Maybe brackets could serve as a "frontend" to 'gui': [+TextField 40] [+Able +PwField '(not *Login) 10 "Password" ] [+E/R +NumField '(nr : home obj) 8] [+Button "My Stylish Button" '(doSomething)].stylish or alternatively, +Button.stylish["My Stylish Button '(doSomething)] Again, many possibilities for the syntax, that was just what came to mind. Some variation of the wiki could then be used as a CMS. It could allow to create PicoLisp DB architectures graphically, as well as provide the means to build the user facing pages for manipulating the DB. In a nutshell, it would be a PicoLisp app for creating PicoLisp apps, with a powerful markup language to intuitively build dynamic content with little "actual code". I guess the point of all this would be to further abstract the application development details. No need to worry about 'action', 'html', or 'form'. Maybe no need to worry about "coding" at all. This might be a cool idea because: - It could open up PicoLisp application development to a much wider audience. - It might be fun/powerful/fast to create apps this way, especially non-programmers. - If it did open up PL app development to a wider audience, there could be consulting work for those of us who actually know what's going on under the hood. This might be a total flop because: - It might not be possible. - If it is possible, it would likely be a lot of work to implement, especially to "get it right". - Would anyone actually use it? - It goes against the PicoLisp philosophy? There would certainly be some magic going on behind the scenes... I wanted to share this, if only so I could stop thinking about it :) Chime in if you find it interesting! Thanks and be well, Erik