Revamping my 15 puzzle

16 views
Skip to first unread message

pixel...@gmail.com

unread,
Sep 28, 2025, 3:06:13 AM (yesterday) Sep 28
to Medley Interlisp core
Taking some time to clean up my InterLisp game from 2 years ago. I've learned quite a bit and even stomped out a bug or three. Also got my function definitions out to a .lisp file this time.

A few things:
- I've got some dummy functions in my .lisp file I want gone now.
- Can I just pass out my .lisp file for others to test or do I need to do additional work?
- I recall Herb and Larry saying InterLisp doesn't have formalized packages but I don't want my functions to pollute the user's environment. My game consists of about 10 or so functions. Do I provide a nice way so that the functions get clearned with a command or something?

Anyway, updated screenshot. (I removed the button bezels since the machine seems to be drawing more slowly than 2 years ago. Different computer though.)

Screenshot_20250928_005653.png

Larry Masinter

unread,
Sep 28, 2025, 11:51:32 AM (18 hours ago) Sep 28
to pixel...@gmail.com, Medley Interlisp core
>  Do I provide a nice way so that the functions get clearned with a command or something?

Eliminating the side effects of loading something isn't really done, so it isnt expected. System components that are widely shared should just be written so they don't impact other code.  

>> I removed the button bezels since the machine seems to be drawing more slowly than 2 years ago. Different computer though.)

there's something going on that isn't right if the time to draw buttons with bezels is any different from the time to draw them without. Or that drawing is so slow as to be visible at all. 

as for releasing this, I don't think we've settled on a policy of where to publish user-contributed code (a modern "LispUsers" ). The difficulty has to do with access control and updatability. We should open an issue to discuss. In the short term I'd suggest you add your own repo RyanBurnside/fifteen. A TEdit file of documentation would be nice.



--


--
You received this message because you are subscribed to the Google Groups "Medley Interlisp core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lispcore+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/lispcore/1abc116e-1c33-4589-96a7-8a015d7db907n%40googlegroups.com.

Arun Welch

unread,
Sep 28, 2025, 12:44:54 PM (17 hours ago) Sep 28
to pixel...@gmail.com, Medley Interlisp core
The contents of the file are defined in the associated COMS variable for the file. You can remove your dummy functions by editing FIFTEENCOMS, removing them from the FNS list and resaving the file.

Medley uses the packages, you can create a new package that uses IL instead of CL. There’s really no need to do that though, the environment starts fresh when you load a fresh sysout.
> <Screenshot_20250928_005653.png>
> --
> You received this message because you are subscribed to the Google Groups "Medley Interlisp core" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to lispcore+u...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/lispcore/1abc116e-1c33-4589-96a7-8a015d7db907n%40googlegroups.com.
> <Screenshot_20250928_005653.png>

Ron Kaplan

unread,
Sep 28, 2025, 12:57:38 PM (16 hours ago) Sep 28
to pixel...@gmail.com, Medley Interlisp core, Arun Welch
You can also call (DELDEF 'dummyfunction). That will delete the current in-memory and remove it from the COMS.
> To view this discussion visit https://groups.google.com/d/msgid/lispcore/C64DFED2-11FB-45CB-A1CE-C1A9C8679774%40anzus.com.

Paolo Amoroso

unread,
Sep 28, 2025, 2:00:42 PM (15 hours ago) Sep 28
to Larry Masinter, pixel...@gmail.com, Medley Interlisp core

pixel...@gmail.com

unread,
1:34 AM (4 hours ago) 1:34 AM
to Medley Interlisp core
Thanks for all the help! I've managed to purge out the old and clean up the new.
You can try the game (with TEdit instructions) on my personal repository below.
Simply put FIFTEEN.LISP where you can find it and (LOAD "FIFTEEN.LISP") followed by (START-FIFTEEN) in an InterLisp REPL.
Instructions are in FIFTEEN.TEDIT if you're unfamiliar with the game.

https://github.com/RyanBurnside/FIFTEEN

I don't object to having it included in LispUsers but I need to get my TEdit file into whatever template PARC originally used.
Larry, I was drawing a heavy multi polygon beveled border on each button and it made it pretty slow. (essentially 4 textured filled trapezoids forming the bezel)
I might hack them back in later if I implement drawing only as necessary (currently there is a window clear and redraw per click event).

PS Thanks everyone for your help. I'm still having a lot of fun.
Reply all
Reply to author
Forward
0 new messages