mietek / mit-cadr-system-software

Mirror of MIT CADR Lisp machine system software
22 stars 3 forks source link

files lack the 'lisp' file type... not that useful. #1

Closed lispm closed 5 years ago

mietek commented 9 years ago

It seems that GitHub can and does recognise Lisp source code even without a .lisp extension: https://github.com/mietek/mit-cadr-system-software/blob/master/src/nzwei/mouse.30

Can you explain what you mean?

lispm commented 9 years ago

Yeah, still many files have no useful extension. the number is a version number. It's then unclear what type the files are. Lisp? Text? Some data? On the Lisp Machine files have a name, a type and a version number. That makes three components. Here the files have a name plus a type XOR a version number. Only two components. For many files the type is missing.

mietek commented 9 years ago

Please bear in mind this is exactly what was made available by @lisper, minus the backup tape images and extractor code: http://www.heeltoe.com/retro/mit/files

Do you think it would be possible to improve the extractor code to recover file types?

larsbrinkhoff commented 9 years ago

It's not necessary to rename the files. If there is a way to identify the Lisp files, put something like this in a file called .gitattributes:

src/lispm/coldld.10 linguist-language=Lisp

Of course, it would be tedious to do this manually. A grep for e.g. Mode:Lisp or defun may be useful.

larsbrinkhoff commented 9 years ago

Also, these files obviously aren't Emacs Lisp! :-)

lispm commented 9 years ago

Various files only have the version number as its type. Some Lisp, some not. Given a tape of Lispm files, one needs to deal with the version numbers somehow:

Thus a build system or some other tools like editors (not just Github) would know what type it is...

mietek commented 9 years ago

@lispm: You said that on the Lisp Machine files have a name, a type, and a version number. Can you confirm that all three components are included in the backup tape images?

mietek commented 9 years ago

Version numbers can be handled by importing each version of a file as a separate commit.

lispm commented 9 years ago

Where are the backup tape images?

mietek commented 9 years ago

I’ve included the link in the README: http://www.heeltoe.com/retro/mit/mit_cadr_lmss.html

lisper commented 9 years ago

On 4/7/15 6:52 AM, Rainer Joswig wrote:

Where are the backup tape images?

— Reply to this email directly or view it on GitHub https://github.com/mietek/mit-cadr-system-software/issues/1#issuecomment-90506011.

Hi,

I'm not sure what I'm replying to (sorry - is this a mailing list?), but maybe I can shed some light. First off let me apologize for being a hermit for the past 3 years. I've had some personal issues (divorce) which had the effect of putting all my hobbies on hold.

I have the original tape images for both the MIT lispm release and the final "system 99" sources. Both contain some "meta information" but both are different. I can provide the tapes and the extract programs to anyone who would like to spend the time improving the extract. I'll be happy to kibitz and review the result.

The original MIT tapes came from Dan Weinreb's basement. I think they were the original "hand off" from the AI labs to Symbolics. They are ITS backup tapes. Feel free to google ITS, it's the "incompatible time sharing system". I think the meta information might have version numbers, but I'm not sure. It probably does and I just don't remember.
The extract program is dense and a layered and assumes you understand the format of 36 bit words on a 8 bit tape.

The "system 99" tapes, which I will claim are the "latest and greatest" of MIT Lispm sources are (as I recall) tops-20 backup tapes of the "kansas" disk structure. The disks units had names back then (well, the disk structures did anyway, sort of the moral equivalent of the unix/linux mount point). I don't remember what the top-20 backup have for meta information. I have to believe they have version numbers since tops-20 certainly did when I used it.

So, in both cases I have the original tape images and the extract programs. Someone with more time on their hands than myself should be able to extract full file names.

My goal was just to extract sources files which I could then recompile.
I've done that - I pulled all the sources into a LMFS file system and one can recompile them into fasl binary files. (the lisp is "compiled" into the intermediate op-code format which is "run" by the microcode).

It would be nice to get the full file names and to preserve the binary files as well as the source files. As I recall to do that corrrectly the extract program has to "know" if the file is text or binary, which is not always obvious... one might consider giving the extract program some hints or a full list of files to extract which is explicit... just a thought.

The "full circle" is to have the files completely and accurately extracted and then allow them to be read by the lispm emulator using chaosnet and an (I think) NFILE file server. I had this cobbled together at one point and I think others have improved on this.

As I recall (dimly), Robert Swindells got pretty far recreating a cold load from the system 99 sources. He may well have cracked the nut.

And, recently, I got a skype call from some folks "in the MIT community" including Rick Greenblatt who wanted to make sure the sources were preserved.

I make a mailing list for people interested - if the folks reading this have some sort of list, would it make sense to combine them all? (do people even use mailing lists anymore? seems like maybe it should be a subreddit or something like that in 2015 :-)

If I can find (please help) a good way to send messages to the "community" I will start posting some summaries.

-brad

ams commented 5 years ago

The content of this tree is System 48, those files come from ITS -- and does not have file extensions only version numbers. Robert Swindells (RJS) did manage getting the cold load generator produce a load band, but it does not get to macro code execution. I've been working on fixing that as of writting, 46 macro instructions in.

The current workable system is System 78.42 with patches by RJS (and some other people), this is available at https://github.com/LM-3/sys . This version can bootstrap.

@lisper A list would be good, or maybe just use http://lists.tunes.org/mailman/listinfo/lispm .

mietek commented 5 years ago

Thanks for the clarifications, everyone. I’m going to close this issue and point visitors to LM-3.