itch.io is community of indie game creators and players

Devlogs

Tootcoding NicCLIM on the Mastodon

NicCLIM - Map Editor
A downloadable lisp map editor

So I am doing something new with the fediverse. If you read https://screwlisp.small-web.org/tootcoding/nicclim-0/ https://screwlisp.small-web.org/eev/mastodonel-eev-repl-programming/ you know I started working on the implications of shared learning coding via fediversal toots, e.g. https://gamerplus.org/@screwlisp/115426572575091351 - each toot (mastodon reply) adds something I am sending to my McCLIM application-frame (which is threadsafe) like

#tootcoding #commonLisp
(loop
  :for cmd
    :in (list '(com-set-cur1 grass)
	      '(com-l) '(com-j) '(com-push-cur1)
	      '(com-h) '(com-push-cur1))
  :do
     (execute-frame-command *nic* cmd)
     (sleep 1))

to cite https://gamerplus.org/@screwlisp/115426589485607816 with the corrollary animation since the commands are spaced out 1 second in time:

In my opinion, the key insight is that Bill Joy’s VI is incredibly more basal to all of programming than computer education for example would have it. It is tempting to attribute this to ?macs or its primordial soup, TECO, but the has-a-programming-language nature of emacs and vim makes it seem like the magic is in its programmability (emacs the programmable programming environment; lisp the programmable programming language, vim, the programmable vi), but actually it is the control panel itself, even, maybe especially VI’s that enables programming. This sort of resolves the paradox of why VI would be popular in the face of emacs; surely alllllll those ?macs macros add up to something VI does not have?

The fact that there is something there to be sent commands, the same commands we find useful to have attached to keypresses, seems to be more important than having a huge volume of commands; who can actively use 100 different commands moment to moment anyway? Plus the ability to macro live kind of solves all these problems.

Don’t remember a command to trim trailing whitespace in vi? o$b/ ^Md$^["add now @a trims trailing spaces (could extend it slightly to explicitly do tabs as well).

We got a bit away from my topic.

Oh, right, I think I added x to nicclim.lisp, and replaced usage of strings with (string ’my-symbol) earlier if I missed that. x is

(defun x (&rest args) (apply 'execute-frame-command *nic* args))

to save on characters when using execute-frame-command.

Files

  • nicclim.lisp 42 kB
    2 days ago
Download NicCLIM - Map Editor
Leave a comment