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

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

   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,

Reply via email to