[its-hackers] Muddle function to remove a node from a list.

Richard Shiffman rrs0 at earthlink.net
Thu Apr 15 10:25:51 CEST 2021


That should be an IBM 360/44

Sent from my iPhone

> On Apr 15, 2021, at 12:30 AM, rrs0 at earthlink.net wrote:
> 
> HI Everyone,
> 
> I now have a working version of DROP  for" ITSPKG >" the ITS muddle package system.
> <DROP "FOO"> removes <PACKLAGE "FOO">'s public oblist from .OBLIOST without  causing
> muddle's READ to lose its mind by screwing up .OBLIST . I don't think my code should touch the 
> GVAL of OBLIST. That leaves me to finish L-UNUSE and the  file system interface in
> FIND/LOAD which is called by USE. Then to try some real packages, like the sources of MIGS 
> And others. 
> 
> Its amazing that after 40+ yeas, so much of Muddle comes back. All I have is Greg Pfister (GFP) 
> and Stue Gally (SWG)'s book The Muddle/MDL manual and a online copy PDL's MDL Programming 
> Environment. Of the 15+ computer languages that I've work with, I think in Muddle still.
> 
> I agree with LARS that ITS is  the best text adventure game I have ever seen. ITS and MUDDLE
> Really gave me a good reason to recover a serious life treating illness and the will to continue.
> I am definitely a 70 year old Hacker and computer nerd. Its great fun. Back then it was the ARPA
> Net and MIT-DMCG (DMS's original name was HOST 70 and USC TIP was host 23. The terminal
> Next to the TIP was a ASR 33 Teletype, the TTY's paper tape reader was used to boot the TIP.
> GFP and BKD linked to me and gave me personal on line instruction in the use of Muddle . It
> was so much better than Fortran or IBM Assembly language. I was hook!! At that time USC-ECL
> was an IBM 3670/44, An Adage AGT-10 (a 30 Bit computer and vector drawing 21" CRT graphics display)
> which played Space War! Lastly a large Analog Computer -- A Beckman I Think, many OP-AMPs..
> 
> Here's the working code for drop:
> -------------------------------------------------------
> 
> ; "find the index needed by NTH of the package's oblist in .OBLIST."
> <DEFINE FNDOBLIDX (PKN "OPT" (OBLS .OBLIST)
>              "AUX" (IDX 0) X Y Z )
>    #DECL( (PKN) STRING (OBLS) <LIST [REST OBLIST]>
>           (IDX VALUE) <OR FIX FALSE> )
>    <REPEAT ((I 1)(LEN <LENGTH .OBLS>) OBL)
>        #DECL( (I LEN) FIX (OBL) OBLIST ) 
>        <SET OBL <NTH .OBLS .I>>
>        <SET OBNAM <PNAME <GET .OBL OBLIST>>>
>        <COND (<=? .PKN .OBNAM>
>               <SET IDX .I> <RETURN .I> )
>              (T <SET I <+ .I 1>> )>
>        <AND <G? .I .LEN> <RETURN <SET IDX 0>> >
>    >
>    <COND (<0? .IDX> <SET IDX #FALSE(OBLIST-NOT-FOUND) >)>
>    .IDX>
> 
> 
> ;" REMOVE THE NTH NODE IN A LIST. Doesn't MODIFIES THE ORGINAL LIST
>  LIKE REST FOR N ==? 0 RETURN THE LIST UNCHANGED"
> <DEFINE LRM (L N "AUX" X Y Z (LST <LIST !.L>) "ACT" A) 
>    #DECL ((L LST VALUE) LIST (N) FIX)                    
>    <COND (<==? .N 0> <RETURN <SET LST .LST> .A>)         
>          (<==? .N 1> <RETURN <SET LST <REST .LST>> .A>)> 
>    <PUTREST <REST .LST <- .N 2>> <REST .LST <+ .N 0>>>   
>    .LST>                                               
> 
> ;" REMOVE A DROPPED PACKAGDE FROM .OBLIST . IF THE PACKAGE
>   IS NOT FOUND, THEN NO CHANGES TO .OBLIST ARE MADE"
> <DEFINE DROP(PKN "AUX" NOBLS OOBLS N X Y Z) 
>    #DECL((PKN) STRING (N) <OR FIX FALSE>
>          (NOBLS VALUE OOBLS)<OR <LIST [REST OBLIST]> FALSE> )
>    <SET OOBLS .OBLIST>
>    <SET N <FNDOBLIDX .PKN>>
>    <OR .N <SET N 0>>
>    <SET NOBLS <LRM .OOBLS .N>>
>    ;"Danger! Will Robbinson"
>    <SET OBLIST .NOBLS> >
> 
> ---------------------------------------------------------------------------------
> 
>>> On Apr 14, 2021, at 12:18 AM, Lars Brinkhoff <lars at nocrew.org> wrote:
>>> 
>>> Timothy Anderson wrote:
>>> Euclid's (or Tim's) sixth axiom is that there is absolutely no part of
>>> this entire exercise that is even remotely rational [...] Like the
>>> song says, nerds just want to have fun.
>> 
>> This is very much true.  There certainly are no material or productivity and the 
>> gains in running ITS today.  But I think it's  great fun!  It's the best
>> text adventure game I have ever seen.  There are all the elements:
>> exploring unknown territory, solving puzzels, quirky characters.  It's
>> not interactive fiction, but interactive facts.
>> 
>> 
>> Eric Swenson wrote:
>>> Wouldn’t it be better, rather than reimplementing the package system,
>>> to just request of the MIT archives the release of the runtime
>>> libraries for the various versions of MDL?
>> 
>> That's probably better in the long run, and I'd like to make that happen
>> some day.  But it's also a some work on the part of other people, and I
>> don't want to be a pest.
>> 
>> In the meanwhile, RRS's package system will make it possible to run
>> things like MIGS.
> 




More information about the its-hackers mailing list