screwlisp proposes kittens

Screwlisp learns more about federalising kittens

I got really hung up on my plan to just-port-my-hurkle-game-to-kitten.

In the week after that plan, I learned really quite a lot about what Kitten really is.

What Kitten really is

I had kind of missed with how-well-Kitten-does-markdown-pages how central javascript is to Kitten. It turns out that what Aral has done with Kitten is to repurpose basically all the salvageable web technology for good, and sent it back in time to save humanity like the Terminator.

Knowing what I know now, I think Kitten has two main uses:

Having a kitten on your computer (private kitten)

Kitten code editorKitten replKitten web browser

Aral has basically recreated emacs but where elisp is Kitten (is hosted by javascript).

But this is only part of the story, the bigger picture is like

Private kittens connecting to public kittens

Public kitten(s)tls as authenticationwebsocketprivate kitten(s)
😺😺
😺
😺
😺

This, where some of the private kittens also have their own public kittens, is what Kitten means about smallweb federalisation.

Parenscript kittens

This was basically a wild success but clearly more work is needed right now. My friend Jencel Panic pointed out a parenscript CLOS implementation, but this was not quite the scratch for my itch (though it is a very good scratch for a very good itch, and everyone is right that the MOP and the Art of the Metaobject Protocol are good directions. Actually, a while ago now, I had been wanting to do common lisp elephant but instead of berkeley-db it is a kitten. Too big an aside right now).

One thing is that it is Kitten that wants to be the one providing sanitized html generation, called components in Kitten, with the host parenscript/javascript/common lisp passing in non-html data to Kitten’s components.

This led to me wanting to do Kitten component fractal html tree sections as lisp cons trees, and the cons trees get made into Kitten’s components.

Revised next plans

  1. Generate kitten components from lisp
  2. Generate kitten pages from lisp, where the code is a parenscript (function-lambda-expression closure)

With these two programs, I will have basically succeeded with my insane kitten fairy godmother idea, however it bears to do a good job at programming these, so I expect it to take me on the order of weeks to write.

Fin.

I dunno, what do you think (on the Mastodon thread).

screwlisp proposes kittens