I have a background point to my devlog https://gamerplus.org/@screwlisp/115483404317168585 and my #tootCoding #programming experiment in general. My whole experience of the true meaning of tootCoding is that it is just #interlisp medley's executive's

USE foo FOR bar IN line-number

history redo. On one hand, realising the similarity I can crib from Interlisp's design. On the other hand, you know, we can just run modern interlisp in-browser or natively. https://online.interlisp.org/ https://interlisp.org/software/using-medley/ #lisp

screwlisp (@[email protected])

Attached: 1 image https://screwlisp.small-web.org/lispgames/the-other-threeish-checkmarks/ #commonLisp #programming #McCLIM #gamedev #devlog #itchio using my own #NicCLIM map editor. I guess the checklist I wrote before is now 1. Make a map, as above ✓ 2. Fill in subrectangles of a map with another map ✓ 3. Pop up some pictures and dialog using CLIM’s accepting-values 4. Use a door in the map to enter another map ✓ 5. picturize the map symbols ✓ though there are clearly a few teething / #gameJam -ing pains. #lispGameJam . What do you think?

G+DBN

#tootCoding #NicCLIM

In the context of the above two, this was all the coding for today's jam. It looks repetitive, but it is all basically dense information I think slash hope.

'SOLID
'IMGS/SOLID.PNG
;; (to "🎭")

'ROCK
'IMGS/ROCK.PNG
#.+++

'TREE
'IMGS/TREE.PNG
#.+++

'GRASS
'IMGS/GRASS.PNG
#.+++

'LAMBDA
'IMGS/LAMBDA.PNG
#.+++

'grass-clearing.map
;; (to "🚪")

#|Add 1 lambda - doorway
(execute-frame-command
*nic*
`(com-set-cur1 ,*))
(execute-frame-command
*nic*
`(com-cur1-rotatef))
|#

#tootCoding ^ #commonLisp #NicCLIM

;; «🚪» (to “.🚪”)
`(lambda
(&rest r)
(execute-frame-command
*application-frame*
'(com-change-map ,*)))

Creates a lambda expression in which the active McCLIM application-frame executes com-change-map to whatever the last repl result was.

#tootCoding (read my jam articles about the experiment) #commonLisp #NicCLIM

;; «🎭» (to “.🎭”)

(setf (get ** :bitmap) *)

i.e. it sets the :bitmap property of the second-last arguement to the last arguement.

#tootCoding #commonLisp #NicCLIM
This toot operates on the lisp REPL's last two results: receiving
'(file1 file2 fileout)
'(1 3 2 4)
it copies file1 to fileout, except for rows from 1 below 3 and columns from 2 below 4, the results are taken from the top left of file2. This goes with an extract-rect function/command from NicCLIM, which is why you on't specify the region to take inside file2. It did the (ROCK CAVERN) in the rock.

# «‡» (to ".‡")
```
(append ** *)
(apply 'clobber-rect *)
```

#tootCoding #commonLisp #NicCLIM

This toot opens the file named by the last symbol entered in the default view NicCLIM GUI (as seen in the devlog pictures)

# «†» (to ".†")

```
(enclose-map *)
```

#tootCoding #commonLisp #nicCLIM
If you remember my tootcoding experiment; I am trying having the code as a constellation of toots in the freeform eev style.

This toot reuseably generates an s-expression file by my NicCLIM as described in the comments.

# «§» (to ".§")

```
;; 1. 'name-for-map (file) should be a symbol ; consider 'tree.map which will be `~/GAME/TREE.MAP`
;; 2. '(width height) of this map
;; 3. '(cell contents)
(apply 'rect-file *** (append ** (list *)))
```

@zleap did you further develop thoughts on fediverse education? My own intuition is against trying to use the mastodon as a common university-class-web-forum because this is not special to i.e. the activitypub 2.0 protocol's federating and often ephemeral natures.

On the other hand, as I pointed out before lots of learning, teaching and play are clearly popular activities here. #lispGameJam is starting soon, so I will try #tootCoding my lisp game for that to see how it goes.

#tootcoding #commonLisp
(execute-frame-command *nic* '(writef garden))

EDIT:
On disk, GARDEN is now:
(SOIL) (SOIL) (SOIL) (SOIL) (SOIL)
(SOIL) (SOIL GRASS) (SOIL) (SOIL) (SOIL)
(SOIL) (SOIL) (SOIL) (SOIL GRASS) (SOIL GRASS)
(SOIL) (SOIL) (SOIL) (SOIL) (SOIL)

#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))