12-Jan-83 17:34:39-EST,8695;000000000001 Date: 12 Jan 1983 1734-EST From: JOSHM at MIT-OZ Subject: [HANSON at MIT-MC: Information about scheme] 1) 23-Nov HANSON at MIT-MC Information about scheme 2) 16-Dec HANSON at MIT-MC Structure Editor 3) 5-Jan HANSON @ MIT-MC pretty printing 4) 7-Jan HANSON @ MIT-MC Redisplay 5) 7-Jan HANSON @ MIT-MC Redisplay 6) 7-Jan HANSON @ MIT-MC Directory defaulting 7) 7-Jan HANSON @ MIT-MC 8) 11-Jan HANSON @ MIT-MC Display Hacker Message 1 -- ************************ Mail-From: HANSON created at 23-Nov-82 21:13:33 Date: Tuesday, 23 November 1982 21:13-EST Sender: HANSON at MIT-OZ From: HANSON at MIT-MC To: JOSHM at MIT-OZ Subject: Information about scheme Sadly, there is no such list. The stuff you want can be found in the file SRC:SMACRO.LSP. It is written in Maclisp. Chris Message 2 -- ************************ Mail-From: HANSON created at 16-Dec-82 00:15:33 Date: Thursday, 16 December 1982 00:15-EST Sender: HANSON at MIT-OZ From: HANSON at MIT-MC To: JOSHM at MIT-OZ Subject: Structure Editor You should look at the code in SRC:MODIFIER.SCM, which is a procedure editor. Clearly procedures are one of the more interesting structures to be able to edit. You can snarf a copy of this code and take whatever you find helpful to build your editor. Thanks and comments to Andy Berlin . Chris Message 3 -- ************************ Mail-From: HANSON created at 5-Jan-83 19:22:08 Date: Wednesday, 5 January 1983 19:22-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Subject: pretty printing In-reply-to: The message of 5 Jan 1983 18:42-EST from JOSHM Date: Wednesday, 5 January 1983 18:42-EST From: JOSHM To: hanson Re: pretty printing Could you direct me to the place where the schemes pretty printer was defined? I'm trying to write one myself for use with my redisplay, (I must be able to pretty print only part of a structure, bounded by a number of things that I'm not sure of yet. -Josh The Scheme pretty printer is in SRC:SPRINT.LSP. It is built up on top of Dick Waters' GPRINT, and is pretty hairy. But it should be able to do what you want. Message 4 -- ************************ Mail-From: HANSON created at 7-Jan-83 09:40:47 Date: Friday, 7 January 1983 09:40-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: AAB @ MIT-OZ, GJS @ MIT-OZ Subject: Redisplay In-reply-to: The message of 6 Jan 1983 17:48-EST from JOSHM Date: Thursday, 6 January 1983 17:48-EST From: JOSHM I think what would be appropriate for me (and possibly AAB) would be a controllable pretty printer (which I have almost finished writing) and an association list that would have as keys the atoms currently on the screen, and the keys would reference a pair of integers that would be the coordinates of the first position where the atom is displayed. Other information might be the ending point of each atom. I am not sure exactly what it is that you are suggesting. However, what you are talking about might be reasonable, since the basic idea of the redisplay algorithm is that there are two structures, one of which is the one you think is being displayed, and the other being the thing that is actually displayed. The redisplay just compares the two and corrects the differences. It (theoretically) doesn't matter if the structure is composed of characters or some other kind of structure. However, I suggested characters because I felt that it was simplest to do. It might be the case that two levels of redisplay are required, one at the character level, the other at the object level. I feel that this method would involve less processing (given list structured data) and less memory than does processing characters individually. I think you may be right. But: (1) The pretty printer should handle all kinds of objects, not just lists and atoms, or it will be fairly useless. (2) I think that this particular redisplay abstraction may be considerably harder to implement than what I was considering. On the other hand, without actually doing some work on it, I don't have a good feel. We should probably talk about this in person. Yes. I will be around all day and probably this weekend too. Send mail or drop by. Message 5 -- ************************ Mail-From: HANSON created at 7-Jan-83 11:59:54 Date: Friday, 7 January 1983 11:59-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: Andrew A. Berlin Cc: GJS @ MIT-OZ, JOSHM @ MIT-OZ, Hanson @ MIT-OZ Subject: Redisplay In-reply-to: The message of 7 Jan 1983 11:44-EST from Andrew A. Berlin Date: Friday, 7 January 1983 11:44-EST From: Andrew A. Berlin I don't see why we would want to keep a copy of the screen in memory (at least as far as re-display is concerned). Doing a redisplay algorithm from data structure directly is very hairy. The simplest way to do it that I can think of is to have the printer just write into the screen array, and then arrange for the redisplay to make sure that the screen stays up to date. This new printer would of course have to handle all types of data structures, and could not be permitted to print line-feeds (i.e. it would only display between the given cursor position and the end of the current line. This would involve a simple change to the print routine of adding a cursor-positioning instruction, and keeping a running total of how many characters have been displayed. I guess I have sort of changed the idea of re-display to that of a controlled-display. I think that you may be right here. In any case it is a good idea to avoid the hair of a redisplay algorithm until it is absolutely needed. By the way, what will happen to printing terminals? Will they be supported in any way by these new scheme features? This is a problem. Presumably the debugger will just print out one screenful at a time on a printing terminal. Special support for printing terminals will require extra code space, and right now space is at a premium. Message 6 -- ************************ Mail-From: HANSON created at 7-Jan-83 20:10:34 Date: Friday, 7 January 1983 20:10-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: bug-scheme @ MIT-OZ Subject: Directory defaulting In-reply-to: The message of 7 Jan 1983 16:54-EST from JOSHM Date: Friday, 7 January 1983 16:54-EST From: JOSHM To: bug-scheme Re: Directory defaulting When you start up scheme in a directory you didn't log in on, it still defaults to your logged in directory when looking for files. This is just an inconvenience, except when using emacs, when it makes it impossible to pass procedures from emacs to scheme using m-o, m-z, c-x z, c-m-y, etc, because emacs still writes the files into your connected directory. What gives? -Josh Emacs uses the directory that it is started up in. To change Scheme's default, use: ==> (lisp-eval '(setq defaultf (mergef defaultf))) Message 7 -- ************************ Mail-From: HANSON created at 7-Jan-83 20:11:13 Date: Friday, 7 January 1983 20:11-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: aab @ MIT-OZ, gjs @ MIT-OZ In-reply-to: The message of 7 Jan 1983 18:02-EST from JOSHM Date: Friday, 7 January 1983 18:02-EST From: JOSHM Sender: JOSHM To: aab cc: hanson, gjs, joshm perhaps *screen-col* and *screen-row* should be procedures instead of variables, i.e.: (define (*screen-col*) (cdr (lisp-eval '(cursorpos)))) (define (*screen-row*) (car (lisp-eval '(cursorpos)))) Obviously the actual definitions would be different when we moved to the 68000. -Josh Actually, these variables can be set up when the Scheme is started. Message 8 -- ************************ Mail-From: HANSON created at 11-Jan-83 16:03:42 Date: Tuesday, 11 January 1983 16:03-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ, AAB @ MIT-OZ Subject: Display Hacker AC@OZ will be hacking display stuff that you need. We should all get together this week and see how things are going. What's a good nite? Anytime is fine for me. ------- 12-Jan-83 17:35:02-EST,9924;000000000001 Date: 12 Jan 1983 1735-EST From: JOSHM at MIT-OZ Subject: [Andrew A. Berlin : Re: Urops] 1) 4-Jan Andrew A. Berlin Re: Urops 2) 6-Jan Andrew A. Berlin Scheme reader 3) 6-Jan Andrew A. Berlin Sharing display functions 4) 6-Jan Andrew A. Berlin Re: Sharing display functions 5) 6-Jan Andrew A. Berlin SCHEME display system names 6) 7-Jan Andrew A. Berlin Re: Redisplay 7) 7-Jan Andrew A. Berlin Controlling length of Printing 8) 8-Jan Andrew A. Berlin Controlling the Printer 9) 8-Jan Andrew A. Berlin Re: Controlling the Printer 10) 11-Jan Andrew A. Berlin Display Hacker 11) 12-Jan Andrew A. Berlin Meeting tonight? Message 1 -- ************************ Mail-From: AAB created at 4-Jan-83 18:25:15 Date: 4 Jan 1983 1825-EST From: Andrew A. Berlin Subject: Re: Urops To: JOSHM at MIT-OZ In-Reply-To: Your message of 4-Jan-83 1813-EST Hi! I'll know more about what kind of display system I will need after I talk to Chris Hanson on Thursday. Using one redisplay function for both projects is an excellent idea. I will send you mail again on Thursday after I talk to Chris. ---Andy ------- Message 2 -- ************************ Mail-From: AAB created at 6-Jan-83 16:35:09 Date: 6 Jan 1983 1635-EST From: Andrew A. Berlin Subject: Scheme reader To: gjc at MIT-OZ cc: aab at MIT-OZ, joshm at MIT-OZ I have a UROP with GJS writing a screen-oriented debugging package. Could you please let me know what (if any) affect my doing cursor positioning (probably via the lisp function cursorpos) will have on the reader? I ask this because of my experience with H19 terminals that whenever there is a background fork running which displays to the 25th line (a status line on h19's), Scheme does some very strange things in response to the DELETE key. (a typical response to delete is to have the cursor move to some unexpected location on the screen). This made me wonder if maybe the SCHEME READER has to be informed of any cursor positioning which is done. Thank you, Andy ------- Message 3 -- ************************ Mail-From: AAB created at 6-Jan-83 16:56:20 Date: 6 Jan 1983 1656-EST From: Andrew A. Berlin Subject: Sharing display functions To: joshm at MIT-OZ I spoke to Chris today. He says we should definately use the same screen display function. He wants us to select common variable names for the screen display routine that we will both need to use. We will need names for the both the width and length of the screen. The means by which screen-oriented display's will be implemented will be to direct the screen output to a 2 dimensional array with the same dimensions as the screen. We will both be writing to the same array. We need to pick a name for this array. Once the output is in the array, a screen redisplay function will display the contents of this array. We also need to pick a name for this array. For now, this re-display function can simply consist of re-displaying the entire array on the screen. We'll worry about doing it the more fancy way later. Perhaps we should also decide upon common names for variables for the current position on the screen. Chris says that implementing the screen output in this fashion will make transfer to the 68000 trivial. Once we decide upon these variable names, we are supposed to send mail to Hanson and GJS letting them know what we used. I sent mail to GJC asking what effect this will have on the reader. (I sent you a cc.) Please let me know what you think of the above ideas. ---Andy ------- Message 4 -- ************************ Mail-From: AAB created at 6-Jan-83 17:04:23 Date: 6 Jan 1983 1704-EST From: Andrew A. Berlin Subject: Re: Sharing display functions To: JOSHM at MIT-OZ In-Reply-To: Your message of 6-Jan-83 1701-EST I just left there. I am home now, x5-8728. You can call me here if it is convenient. ------- Message 5 -- ************************ Mail-From: AAB created at 6-Jan-83 17:51:17 Date: 6 Jan 1983 1751-EST From: Andrew A. Berlin Subject: SCHEME display system names To: gjs at MIT-OZ, hanson at MIT-OZ, joshm at MIT-OZ, aab at MIT-OZ JoshM and I have picked the following names for symbols to be defined in the global environment. These relate to the screen display function which will be used for both the Screen-oriented environment display and for the Structure editor. *SCREEN-WIDTH* -- Width of screen *SCREEN-LENGTH* -- Length of screen *SCREEN-ROW* -- Current Row on screen (current-location) *SCREEN-COL* -- Current Column on screen (current-location) ------- Message 6 -- ************************ Mail-From: AAB created at 7-Jan-83 11:44:04 Date: 7 Jan 1983 1144-EST From: Andrew A. Berlin Subject: Re: Redisplay To: HANSON at MIT-MC cc: JOSHM at MIT-OZ, AAB at MIT-OZ, GJS at MIT-OZ In-Reply-To: Your message of 7-Jan-83 0945-EST I don't see why we would want to keep a copy of the screen in memory (at least as far as re-display is concerned). Why can't we simply have a specialized version of the pretty-printer which takes as arguments not only the data-structure to be printed, but also the position at which it will be displayed on the screen, as well as the maximum number of characters to be displayed, after which truncation would occur. This new printer would of course have to handle all types of data structures, and could not be permitted to print line-feeds (i.e. it would only display between the given cursor position and the end of the current line. This would involve a simple change to the print routine of adding a cursor-positioning instruction, and keeping a running total of how many characters have been displayed. I guess I have sort of changed the idea of re-display to that of a controlled-display. I'm not sure what JoshM will need, but I will don't think that I will need access to the actual contents of the screen. (after all, since it is my procedure which will call the special printer, I can keep whatever record I need of what I put there (more efficiently than can a procedure which can only recognize screen contents as text). By the way, what will happen to printing terminals? Will they be supported in any way by these new scheme features? ------- Message 7 -- ************************ Mail-From: AAB created at 7-Jan-83 15:48:59 Date: 7 Jan 1983 1548-EST From: Andrew A. Berlin Subject: Controlling length of Printing To: JOSHM at MIT-OZ cc: HANSON at MIT-OZ, GJS at MIT-OZ, AAB at MIT-OZ Setting the maclisp variable PRINENDLINE to a value n will make the printer truncate output after n+1 lines. There is also a variable GLINELEN which is referenced in scm:gprint.lsp which sets the max length of the output, but I can't seem to find where it is in Maclisp - it is not defined in the maclisp global environment. I think it needs an equivalent variable LINELEN defined and passed to GPRINT along with its other arguments. GINITIAL-CHARPOS will tell the printer where to begin printing, but I can't find where to setq this variable either. Again, should INITIAL-CHARPOS be defined and passed as an argument? Could someone please look at GPRINT and tell me how to get to these? I think that the format of the call to gprint must be changed to add these arguments, but I am not sure in as much as I don't know MACLISP. If we can get to these variables, it would solve much of our printer problem. ---Andy ------- Message 8 -- ************************ Mail-From: AAB created at 8-Jan-83 14:53:55 Date: 8 Jan 1983 1453-EST From: Andrew A. Berlin Subject: Controlling the Printer To: joshm at MIT-OZ cc: hanson at MIT-OZ, aab at MIT-OZ, gjs at MIT-OZ In printctl.scm I have defined a procedure PRINTCTL which takes as arguments an object and an integer argument n. Note that this particular definition is exported to the SCHEME-SYSTEM-PACKAGE. It PRINT's the object, truncating/abbreviating after n lines. Note that n starts at 0, corresponding to gprint's prinendline. i.e. (printctl foo 0) would print one line of foo. This is what I am using for testing purposes. It's not great in that it doesn't print all that could fit on a line, but it is usable, at least until something else is ready. ------- Message 9 -- ************************ Mail-From: AAB created at 8-Jan-83 21:25:51 Date: 8 Jan 1983 2125-EST From: Andrew A. Berlin Subject: Re: Controlling the Printer To: JOSHM at MIT-OZ In-Reply-To: Your message of 8-Jan-83 2121-EST Because my programs will run in the env-package, I defined printctl in the SCHEME-SYSTEM-PACKAGE so as to avoid any possible conflicts with existing names. You can get it like this: ((access printctl scheme-system-package) printme numlines) or, copy it into your directory and change the define-export to a normal define and get rid of the SCHEME-SYSTEM-ENVIRONMENT line. ------- Message 10 -- ************************ Mail-From: AAB created at 11-Jan-83 16:26:07 Date: 11 Jan 1983 1626-EST From: Andrew A. Berlin Subject: Display Hacker To: hanson at MIT-OZ cc: joshm at MIT-OZ, ac at MIT-OZ, aab at MIT-OZ Wednesday night is ok after 8:40 ------- Message 11 -- ************************ Mail-From: AAB created at 12-Jan-83 17:02:56 Date: 12 Jan 1983 1702-EST From: Andrew A. Berlin Subject: Meeting tonight? To: joshm at MIT-OZ cc: hanson at MIT-OZ, ac at MIT-OZ, aab at MIT-OZ What has been decided - are we going to meet tonight? --Andy ------- ------- 12-Jan-83 17:40:15-EST,4431;000000000001 Date: 12 Jan 1983 1740-EST From: JOSHM at MIT-OZ Subject: [JOSHM at MIT-OZ: Redisplay] 1) 6-Jan To: hanson at MIT-OZ Redisplay 2) 7-Jan To: aab @ MIT-OZ 3) 9-Jan To: FIGMO@Kestrel.ar Re: Eno is God 4) 11-Jan To: ron@Brl.arpa Re: Moving right along... 5) 11-Jan To: HANSON at MIT-MC Re: Display Hacker 6) 12-Jan To: AAB at MIT-OZ Re: Meeting tonight? Message 1 -- ************************ Mail-From: JOSHM created at 6-Jan-83 17:48:10 Date: 6 Jan 1983 1748-EST From: JOSHM at MIT-OZ Subject: Redisplay To: hanson at MIT-OZ cc: joshm at MIT-OZ, aab at MIT-OZ I have talked (linked) with AAB and talked about redisplays. He says you suggested an array of characters which would represent the screen, and in the 68000 would actually be the screen if it's memory mapped, we weren't sure whether it was or not. Since I feel that I would like to maintain and edit the list structure instead of converting everything to character strings. As such, I have had to rethink my redisplay. I think what would be appropriate for me (and possibly AAB) would be a controllable pretty printer (which I have almost finished writing) and an association list that would have as keys the atoms currently on the screen, and the keys would reference a pair of integers that would be the coordinates of the first position where the atom is displayed. Other information might be the ending point of each atom. I feel that this method would involve less processing (given list structured data) and less memory than does processing characters individually. We should probably talk about this in person. -Josh ------- Message 2 -- ************************ Mail-From: JOSHM created at 7-Jan-83 18:02:01 Date: Friday, 7 January 1983 18:02-EST Sender: JOSHM @ MIT-OZ From: JOSHM @ MIT-MC To: aab @ MIT-OZ cc: hanson @ MIT-OZ, gjs @ MIT-OZ, joshm @ MIT-OZ perhaps *screen-col* and *screen-row* should be procedures instead of variables, i.e.: (define (*screen-col*) (cdr (lisp-eval '(cursorpos)))) (define (*screen-row*) (car (lisp-eval '(cursorpos)))) Obviously the actual definitions would be different when we moved to the 68000. -Josh Message 3 -- ************************ Date: 3 Jan 1983 1136-EST From: JOSHM@mit-oz Subject: Re: Eno is God To: FIGMO@Kestrel.arpa cc: info-music@Brl.arpa In-Reply-To: Your message of 23-Dec-82 1437-EST Received: From 10.3.0.44.ARPA via smtptcp for info-music; 9 Jan 83 21:22 EST I don't know what this was a reply to, but on your number 3, I recommend you become familiar with Howe/Squire, as in my opinion, they are both fine musicians. Howe was the guitarist for Yes, and now plays with Asia, while Squire was the bassist for Yes, and I would be very interested to find out what he is doing now. -Josh ------- Message 4 -- ************************ Date: 3 Jan 1983 1129-EST From: JOSHM@mit-oz Subject: Re: Moving right along... To: ron@Brl.arpa cc: info-music@Brl.arpa In-Reply-To: Your message of 22-Dec-82 1838-EST Received: From 10.3.0.44.ARPA via smtptcp; 10 Jan 83 7:29 EST It's about time someone on this list mentioned something that was at least similar to my tastes...classical/rock combinations. My tastes favor a blend of the two styles of music, particularly as demonstrated by artists such as Rick Wakeman, Yes, and Jethro Tull. Other groups I enjoy are Rush, Blue Oyster Cult, Pink Floyd, and Boston. I also like some classical, some Jazz, and some new wave, but I share the sentiment of NO DISCO!. If there is any interest, I would be glad to give my opinions/reviews of albums, particularly of the groups I mentioned. -Josh ------- Message 5 -- ************************ Mail-From: JOSHM created at 11-Jan-83 16:05:20 Date: 11 Jan 1983 1605-EST From: JOSHM at MIT-OZ Subject: Re: Display Hacker To: HANSON at MIT-MC cc: aab at MIT-OZ, joshm at MIT-OZ, ac at MIT-OZ In-Reply-To: Your message of 11-Jan-83 1604-EST Wednsday night? ------- Message 6 -- ************************ Mail-From: JOSHM created at 12-Jan-83 17:06:49 Date: 12 Jan 1983 1706-EST From: JOSHM at MIT-OZ Subject: Re: Meeting tonight? To: AAB at MIT-OZ cc: hanson at MIT-OZ, ac at MIT-OZ, joshm at MIT-OZ In-Reply-To: Your message of 12-Jan-83 1702-EST Yes, I think so. I can make it by about 9PM -Josh ------- ------- 12-Jan-83 17:45:03-EST,415;000000000001 Mail-From: JOSHM created at 12-Jan-83 17:43:20 Date: 12 Jan 1983 1743-EST From: JOSHM at MIT-OZ Subject: Mailing list To: scheme-coders at MIT-OZ I have created a mailing list for use with our project. Just send mail to scheme-coders, and it will reach gjs, hanson, joshm, aab, ac, and an archive file named src:communications.txt that I am keeping all of our communications in. ------- 12-Jan-83 19:20:49-EST,692;000000000001 Mail-From: HANSON created at 12-Jan-83 19:19:02 Date: Wednesday, 12 January 1983 19:19-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: scheme-coders @ MIT-OZ Subject: Mailing list In-reply-to: The message of 12 Jan 1983 17:43-EST from JOSHM Date: Wednesday, 12 January 1983 17:43-EST From: JOSHM To: scheme-coders Re: Mailing list I have created a mailing list for use with our project. Just send mail to scheme-coders, and it will reach gjs, hanson, joshm, aab, ac, and an archive file named src:communications.txt that I am keeping all of our communications in. Good idea; thanks. 14-Jan-83 09:45:26-EST,483;000000000001 Mail-From: AC created at 14-Jan-83 09:44:10 Date: 14 Jan 1983 0944-EST From: AC at MIT-OZ Subject: pretty-printer To: JOSHM at MIT-OZ cc: scheme-coders at MIT-OZ Can you get me a copy of the pretty-printer you worked on? I will get in touch with you concerning agreeing upon the way pathways are to be named, etc. as soon as things get organized on my end. Also, should I be sending messages like these to scheme-coders (like I have done for this message)? ------- 14-Jan-83 14:05:09-EST,1181;000000000001 Mail-From: JOSHM created at 14-Jan-83 14:03:50 Date: 14 Jan 1983 1403-EST From: JOSHM at MIT-OZ To: scheme-coders at MIT-OZ I am currently updating my pretty printer so that it will give me back the location on the screen in which a pathname I give it is printed, this way I can use my pretty printer as a redisplay to aid me in debugging until your real redisplay is done. My pretty printer is in PS:REDISPLAY.SCM, and I'm currently working on it. Use the copy command to get it into your directory. The pretty printer works as well as I'm going to make it work, and I'm just fixing up the cursor positioning (that's hard stuff). I would like to keep all of these communications in my archive file (which is now ps:communications.txt) for future reference, and posterity, and the easiest way to do it is to cc to scheme-coders. If other people on this list do not want all these messages that don't directly concern them, then I guess I should make a separate list that contains only this file, that all messages could get cc'd to, while only messages of more global interest could go to scheme-coders. -Josh ------- 14-Jan-83 14:25:05-EST,649;000000000001 Mail-From: AC created at 14-Jan-83 14:21:22 Date: 14 Jan 1983 1421-EST From: AC at MIT-OZ To: JOSHM at MIT-OZ cc: scheme-coders at MIT-OZ In-Reply-To: Your message of 14-Jan-83 1403-EST Thanks Josh. Can you answer me a question? (That is, if you have the time. I sent this same question to HANSON today but he wasn't around to answer. Am I supposed to be able to use escape-O to dump an emacs buffer containing a file in the src: structure into Scheme? I can do this if my buffer contains a ps: file but I cannot when my buffer contains a src: file. Any ideas? Anthony ------- 14-Jan-83 14:35:04-EST,1089;000000000001 Mail-From: JOSHM created at 14-Jan-83 14:30:20 Date: 14 Jan 1983 1430-EST From: JOSHM at MIT-OZ To: AC at MIT-OZ cc: scheme-coders at MIT-OZ In-Reply-To: Your message of 14-Jan-83 1421-EST Uhhh, I've had major problems with scheme using files from src:. I think there is a way to do this, but it is much easier to just copy src: files to ps: and work from there. Thats what I did. I talked with Hanson about this and he says there are no immediate plans to fix this lossage. The deal is that scheme (or probably maclisp does not recognize the existence of any structure other than ps:, and in order to load files from src: you must specify src:, even if you are connected to src:. This doesn't help when the loading is automatic (like from a schedit buffer. There is a trick, but it's not particularly winning. You can say to the exec @def ps: src:, and then you no longer have access to ps:, only src:, but thats ok, when your done you can say @def ps: ps: and everything will be back to normal. It is easier just to move everything to ps: -Josh ------- 14-Jan-83 14:45:14-EST,517;000000000001 Mail-From: JOSHM created at 14-Jan-83 14:44:40 Date: 14 Jan 1983 1444-EST From: JOSHM at MIT-OZ Subject: [AC at MIT-OZ:] To: scheme-coders at MIT-OZ Mail-From: AC created at 14-Jan-83 14:39:44 Date: 14 Jan 1983 1439-EST From: AC at MIT-OZ To: JOSHM at MIT-OZ In-Reply-To: Your message of 14-Jan-83 1430-EST Thanks. I'm glad I'm not the only one to have minor problems like these. I was worried I was doing something really wrong. Anthony ------- ------- 14-Jan-83 16:21:35-EST,366;000000000001 Mail-From: JOSHM created at 14-Jan-83 16:20:11 Date: 14 Jan 1983 1620-EST From: JOSHM at MIT-OZ Subject: Re: [HANSON at MIT-MC: Problem with Scheme use from SRC:] To: AAB at MIT-OZ cc: scheme-urops at MIT-OZ In-Reply-To: Your message of 14-Jan-83 1615-EST OK, I set up SCHEME-UROPS which will only send it to ac, aab, joshm, and my archive file. ------- 14-Jan-83 16:27:45-EST,445;000000000001 Date: 14 Jan 1983 1627-EST From: JOSHM at MIT-OZ Subject: [AC at MIT-OZ: Re: [HANSON at MIT-MC: Problem with Scheme use from SRC:]] Mail-From: AC created at 14-Jan-83 16:25:11 Date: 14 Jan 1983 1625-EST From: AC at MIT-OZ Subject: Re: [HANSON at MIT-MC: Problem with Scheme use from SRC:] To: JOSHM at MIT-OZ In-Reply-To: Your message of 14-Jan-83 1620-EST Good idea, Josh. Anthony ------- ------- 16-Jan-83 16:26:44-EST,1601;000000000001 Mail-From: JOSHM created at 16-Jan-83 16:24:02 Date: 16 Jan 1983 1624-EST From: JOSHM at MIT-OZ Subject: Pathnames To: scheme-coders at MIT-OZ cc: hanson at MIT-OZ Because I can't really do anything else till this is decided, I propose that the following scheme for pathnames be used (at least until a more sophisticated method that could deal wtih arrays and so forth is proposed):  ;Definitions of pathnames: ;This system should work for both dotted lists and normal lists: ; each element of a list has a number, which I define as follows: ; Not dotted: ;Dotted: ; 1 2 34 ; 1 2 3 ;(a b c) ;(a b . c) ;This numbering system is realized by the following procedures, which give the ;length of a structure (i.e. the number which the last legal element of a ;structure has; note that for a non-dotted structure, nil is the last element, ;and for a dotted structure, the last atom is.), and given a structure and ;a number, return the corresponding element, returning the last element if the ;number is too big. (define (nlength l) (define (nlength-aux l a) (if (atom? l) a (nlength-aux (cdr l) (1+ a)))) (nlength-aux l 0)) (define (nnth n l) (if (or (atom? l) (zero? n)) (if (atom? l) l (car l)) (nnth (-1+ n) (cdr l)))) ;examples: ;(define no-dot '(a b c)) ==> NO-DOT ;(nlength no-dot) ==> 3 ;(define dot '(a b . c)) ==> DOT ;(nlength dot) ==> 2 ;(nnth 1 no-dot) ==> B ;(nnth 1 dot) ==> B ;(nnth 2 no-dot) ==> C ;(nnth 2 dot) ==> C ;(nnth 10 no-dot) ==> NIL ;(nnth 10 dot) ==> C ------- 17-Jan-83 14:44:41-EST,803;000000000001 Mail-From: JOSHM created at 17-Jan-83 14:26:23 Date: 17 Jan 1983 1426-EST From: JOSHM at MIT-OZ Subject: Progress: To: scheme-urops at MIT-OZ cc: Hanson at MIT-OZ I have written a crufty redisplay to test out my editor with. It takes an expression, and a pathname, clears the screen, pretty prints the expression (using my own pretty printer), and puts the cursor on the object represented by the pathname. It might be useful to AAB for testing, and it might be useful to AC for a guide on how he might try to write the pretty printing and point locating part of his redisplay. It currently is made for use with my database, and the procedures which access it, but I will put a copy with the necessary procedures in PS:PUBLIC-REDISPLAY.SCM upon request. -Josh ------- 18-Jan-83 01:56:30-EST,1303;000000000001 Mail-From: HANSON created at 18-Jan-83 01:52:29 Date: Tuesday, 18 January 1983 01:52-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: Andrew A. Berlin Cc: Scheme-Coders @ MIT-OZ Subject: New SRC: subdirectory? In-reply-to: The message of 18 Jan 1983 01:44-EST from Andrew A. Berlin Date: Tuesday, 18 January 1983 01:44-EST From: Andrew A. Berlin I think it would be a good idea to create a new subdirectory in the scheme directory tree for my code (at least temporarily). This would give me a place to put modules that are finished in such a way that they will be accessible to everyone else for testing purposes. (You said that you wanted to use my code for your own debugging, and this would be an ideal way for you to have access to the "best" version of my functions.) ---Andy OK. The new directory is SRC:. I would suggest that everyone should put reasonably up-to-date copies of their stuff here, or preferably do work in this directory. That way we can all see what is happening without having to poke around in each other's directories. If you add a file to this directory, please add a short description of the file to SRC:README.TEXT. 18-Jan-83 10:39:41-EST,797;000000000001 Mail-From: AC created at 18-Jan-83 10:35:17 Date: 18 Jan 1983 1035-EST From: AC at MIT-OZ Subject: PS:PUBLIC-REDISPLAY.SCM To: JOSHM at MIT-OZ cc: SCHEME-UROPS at MIT-OZ ------------------------------------------------------------------------ MIT REQUEST FORM (FORM 001) ------------------------------------------------------------------------ QUANTITY |DESCRIPTION ---------|-------------------------------------------------------------- 1 |Copy of CRUFTY-REDISPLAY ---------|-------------------------------------------------------------- | ---------|-------------------------------------------------------------- Anthony ------- ------- 18-Jan-83 10:39:55-EST,319;000000000001 Mail-From: AC created at 18-Jan-83 10:39:27 Date: 18 Jan 1983 1039-EST From: AC at MIT-OZ Subject: Your pretty-printer To: JOSHM at MIT-OZ cc: SCHEME-UROPS at MIT-OZ Josh, where can I find the function "TAB-TO" that you used in your pretty- printer? Anthony ------- 18-Jan-83 21:29:06-EST,2664;000000000001 Mail-From: HANSON created at 18-Jan-83 21:25:02 Date: Tuesday, 18 January 1983 21:25-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: scheme-coders @ MIT-OZ Subject: Pathnames In-reply-to: The message of 16 Jan 1983 16:24-EST from JOSHM Date: Sunday, 16 January 1983 16:24-EST From: JOSHM Because I can't really do anything else till this is decided, I propose that the following scheme for pathnames be used (at least until a more sophisticated method that could deal wtih arrays and so forth is proposed): ;Definitions of pathnames: ;This system should work for both dotted lists and normal lists: ; each element of a list has a number, which I define as follows: ; Not dotted: ;Dotted: ; 1 2 34 ; 1 2 3 ;(a b c) ;(a b . c) This seems completely reasonable. The only suggestion that I have is that you could abstract the code by the following organization: (define list-pathname (make-environment (define (size l) (size-loop l 0)) ;;; This procedure is moved out of SIZE because it doesn't ;;; need to be closed in SIZE's environment. And PAIR? is used ;;; in preference to ATOM?, because ATOM? is not well-defined. (define (size-loop l a) (if (pair? l) (size-loop (cdr l) (1+ a)) a)) (define (select l n) (cond ((zero? n) (car l)) ((pair? l) (select (-1+ n) (cdr l))) (else l))) )) ;end LIST-PATHNAME package. The advantage of this is that it automatically allows extension to cover the other interesting cases, such as arrays. Plus, given a number of foobar-PATHNAME packages, a generic pathname package can be built on top of them easily. One problem with this is that it doesn't really specify the right thing. The SELECT procedure really wants to return a pointer to either the CAR or CDR cell, not the object in it. Thus: (define (select l n) (cond ((zero? n) (make-locative car set!-car l)) ((pair? (cdr l)) (select (-1+ n) (cdr l))) ((= n 1) (make-locative cdr set!-cdr l)) (else (error "Not a pair -- SELECT" (cdr l))))) (define (make-locative accessor modifier pair) (lambda (message) (cond ((eq? message 'ACCESS) (accessor pair)) ((eq? message 'MODIFY) (lambda (new-value) (modifier pair new-value))) (else (error "Unknown message -- PAIR-LOCATIVE" message))))) This allows you to get a pointer to a slot in a data structure, independent of the data structure. The feature of this is that the 68000 implementation supports locatives like these as a standard datatype. 19-Jan-83 00:40:36-EST,873;000000000001 Mail-From: AAB created at 19-Jan-83 00:39:43 Date: 19 Jan 1983 0039-EST From: Andrew A. Berlin Subject: LOOK is ready for testing To: scheme-coders at MIT-OZ I have put the file LOOK.SCM into SRC: Loading this file will define the debugging function LOOK, which can be accessed in the same way as WHERE. I have placed known bugs into LOOK.BUGS. If you find any new bugs in this procedure, please send me mail. Also, I have created a file TEMPSETUP.SCM which defines some of the needed system functions. These definitions are TERRIBLE - *screen-length* is simply bound to 24 - if someone has the proper definitions, feel free to update this file. PRINTCTLC and PRINTCTL have been moved to src: (I send mail about these a while ago). See README.TEXT for more info on these files. ---Andy ------- 19-Jan-83 14:34:13-EST,280;000000000001 Mail-From: JOSHM created at 19-Jan-83 14:32:19 Date: 19 Jan 1983 1432-EST From: JOSHM at MIT-OZ Subject: Re: Your pretty-printer To: AC at MIT-OZ cc: SCHEME-UROPS at MIT-OZ In-Reply-To: Your message of 18-Jan-83 1039-EST ps:cursor.scm -Josh ------- 19-Jan-83 15:09:19-EST,773;000000000001 Mail-From: JOSHM created at 19-Jan-83 15:07:27 Date: 19 Jan 1983 1507-EST From: JOSHM at MIT-OZ Subject: Redisplay To: ac at MIT-OZ cc: scheme-coders at MIT-OZ I have hacked up the worst redisplay imaginable, but it works. Each time it is called, it clears the screen, and pretty-prints the structure given to it, positioning the cursor at the point indicated by PATH, which is defined by the system I outlined in a previous communication. It would have been trivial except I had to write my own pretty printer so that I could figure out where to put the cursor. It will not work correctly if it needs more than 24 lines (or whatever is on the screen) to print print the structure. It resides in SRC:BAD-REDISPLAY.SCM. -Josh ------- 19-Jan-83 17:34:01-EST,485;000000000000 Mail-From: JOSHM created at 19-Jan-83 17:29:37 Date: 19 Jan 1983 1729-EST From: JOSHM at MIT-OZ Subject: Environments To: hanson at MIT-OZ cc: scheme-coders at MIT-OZ I have made a lot of progress on the structure editor. I have implemented most of the commands that I had previously outlined successfully, including a kill ring that works pretty much like emacs's. However, I need some help on how to put it all in a package. When can we do this? -Josh ------- 19-Jan-83 23:07:28-EST,883;000000000000 Mail-From: HANSON created at 19-Jan-83 23:02:27 Date: Wednesday, 19 January 1983 23:02-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: scheme-coders @ MIT-OZ Subject: Environments In-reply-to: The message of 19 Jan 1983 17:29-EST from JOSHM Date: Wednesday, 19 January 1983 17:29-EST From: JOSHM I have made a lot of progress on the structure editor. I have implemented most of the commands that I had previously outlined successfully, including a kill ring that works pretty much like emacs's. However, I need some help on how to put it all in a package. When can we do this? -Josh I have phase-shifted myself into the night now. Unfortunately my next two evenings are pretty much taken up, but if you can come in this weekend, I will be free. Call me at work or home, or send mail. 20-Jan-83 14:48:35-EST,435;000000000000 Mail-From: JOSHM created at 20-Jan-83 14:45:37 Date: 20 Jan 1983 1445-EST From: JOSHM at MIT-OZ Subject: Question about variables. To: aab at MIT-OZ cc: scheme-coders at MIT-OZ First of all, I added two more procs to SRC:TEMPSETUP.SCM. Now, why do we have *'s around screen-width and screen-length, etc, and not around clear-to-end-of-line, etc. Shouldn't we be consistent in our naming? -Josh ------- 20-Jan-83 15:38:52-EST,1183;000000000000 Mail-From: JOSHM created at 20-Jan-83 15:36:24 Date: 20 Jan 1983 1536-EST From: JOSHM at MIT-OZ Subject: [Andrew A. Berlin : TEMPSETUP] To: scheme-coders at MIT-OZ Mail-From: AAB created at 20-Jan-83 15:32:16 Date: 20 Jan 1983 1532-EST From: Andrew A. Berlin Subject: TEMPSETUP To: joshm at MIT-OZ Clear-screen is already defined as a scheme primitive - there is no need to redefine it. Clear-to-end-of-screen and clear-to-end-of-line weren't given * around them for two reasons: 1) clear-screen (the primitive) doesn't have them 2) I wasn't planning on making them documented scheme functions - I thought that they would eventually end up in the scheme-system-package, thereby not accessible to ordinary users. *'s seem to be reserved for system VARIABLES - eventually, screen-row and screen-col will probably be variables instead of functions. System-functions seem to be put into the scheme-system-package Why not keep compatibility with maclisp and use cursorpos instead of position-cursor? Is there any advantage to defining position-cursor to be cursorpos? ---Andy ------- ------- 21-Jan-83 00:25:03-EST,507;000000000000 Mail-From: AAB created at 21-Jan-83 00:20:29 Date: 21 Jan 1983 0020-EST From: Andrew A. Berlin Subject: Forget about printing terminals To: scheme-coders at MIT-OZ We don't even have to think about supporting printing terminals unless some changes are made to the current scheme. If you want a good laugh, do a @term la36 and then start up scheme. When you get tired of the Garbage, type a control-g and then a delete. Talk about not supporting something - wow! ------- 21-Jan-83 00:40:05-EST,748;000000000000 Mail-From: AAB created at 21-Jan-83 00:37:43 Date: 21 Jan 1983 0037-EST From: Andrew A. Berlin Subject: *screen-length* and *screen-width* defined To: scheme-coders at MIT-OZ I have inserted the proper definitions of *screen-length* and *screen-width* into SRC:TEMPSETUP.SCM *screen-length* is defined as the length of the terminal *screen-width* is defined as one less than the actual width of the terminal to account for the ! printed at the end of each line when an attempt is made to display something in the last physical column. WHICH ENVIRONMENT SHOULD THESE BE DEFINED IN????? and for that matter, where should all the functions in TEMPSETUP be defined? ---Andy ------- 21-Jan-83 01:29:56-EST,1109;000000000000 Mail-From: HANSON created at 21-Jan-83 01:25:35 Date: Friday, 21 January 1983 01:25-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: Andrew A. Berlin Cc: Scheme-Coders @ MIT-OZ Subject: Many Things In-reply-to: The message of 19 Jan 1983 08:49-EST from Andrew A. Berlin Thanks for messages regarding problems with WHERE and DEBUG. We should sit down and go over that stuff carefully very soon. Maybe Gerry will want to do some of it when he gets back. As for the various things that you have in TEMPSETUP, there should be an environment under SCHEME-SYSTEM-PACKAGE which contains the interesting definitions. You can get to them using ACCESS, and thus not clutter up the normal namespace much. In general I don't believe that the *...* convention for variable names is reasonable in Scheme. It is a hack in Maclisp for identifying special variables, but in Scheme there is no such thing. Use normal names, and if you don't want to clutter things up, put the variables in other packages so you don't have to see them without explicitly looking. 21-Jan-83 02:59:43-EST,886;000000000000 Mail-From: AAB created at 21-Jan-83 02:58:26 Date: 21 Jan 1983 0258-EST From: Andrew A. Berlin Subject: Changes in TEMPSETUP To: scheme-coders at MIT-OZ I have changed all the definitions in tempsetup to be in scheme-system-package. This seems like a nice place to put them for now since it is on top of everyone's code. The file is now set up so the environment is determined by one line of code, thus making changes easier. Eventually these should have their own package, but leaving them in scheme-system-package will work for now. This includes CURSORPOS. Also, I have removed the *...* from all the definitions as they are not needed. I have updated LOOK.SCM to reflect these changes. If anyone has problems with this, please let me know immediately so as to avoid unnecessary changes in other code later on. ---Andy ------- 21-Jan-83 03:04:52-EST,306;000000000000 Mail-From: AAB created at 21-Jan-83 03:03:43 Date: 21 Jan 1983 0303-EST From: Andrew A. Berlin Subject: Old tempsetup To: scheme-coders at MIT-OZ The version of tempsetup before the changes which I just made can be found in src:OLDTEMPSETUP.SCM ---Andy ------- 21-Jan-83 17:40:30-EST,305;000000000000 Mail-From: JOSHM created at 21-Jan-83 17:38:08 Date: 21 Jan 1983 1738-EST From: JOSHM at MIT-OZ To: scheme-coders at MIT-OZ How do turn off input echoing from inside maclisp or scheme? I'm writing a display oriented program and the typed input keeps destroying the display. -Josh ------- 22-Jan-83 11:15:19-EST,429;000000000000 Mail-From: AAB created at 22-Jan-83 11:12:33 Date: 22 Jan 1983 1112-EST From: Andrew A. Berlin Subject: SCHEME DEBUGGER To: scheme-coders at MIT-OZ cc: bug-scheme at MIT-OZ I am working on making the scheme debugger screen oriented. If anyone changes the file src:debug.scm, please send me mail letting me know so that I can make these changes in my version. ---Andy ------- 25-Jan-83 16:55:08-EST,480;000000000000 Mail-From: AC created at 25-Jan-83 16:53:58 Date: 25 Jan 1983 1653-EST From: AC at MIT-OZ Subject: Window package To: JMILLER at MIT-OZ cc: SCHEME-CODERS at MIT-OZ The new implimentation of my window package is working. I would like to clean up loose ends Wednesday and talk some more with you, AAB, and JOSHM so that we can define more clearly what the window package should do and what else I should be doing. Anthony ------- 26-Jan-83 11:36:56-EST,372;000000000000 Mail-From: JMILLER created at 26-Jan-83 11:07:18 Date: 26 Jan 1983 1107-EST From: JMILLER at MIT-OZ Subject: Meeting To: Scheme-UROPS at MIT-OZ cc: JMiller at MIT-OZ Let's try to get together (all 4 of us: Jim Miller, Andy Berlin, Anthony Courtemanche, and Josh Marantz). I propose Friday morning (January 28) at 9:00am, in my office. --Jim Miller ------- 26-Jan-83 21:21:35-EST,272;000000000000 Mail-From: JOSHM created at 26-Jan-83 14:14:06 Date: 26 Jan 1983 1414-EST From: JOSHM at MIT-OZ Subject: Re: Meeting To: JMILLER at MIT-OZ cc: Scheme-UROPS at MIT-OZ In-Reply-To: Your message of 26-Jan-83 1107-EST If you insist (zzzz, snore). -Josh ------- 28-Jan-83 17:08:36-EST,652;000000000000 Mail-From: JOSHM created at 28-Jan-83 17:05:23 Date: 28 Jan 1983 1705-EST From: JOSHM at MIT-OZ Subject: [Richard M. Stallman : Redisplays] To: scheme-coders at MIT-OZ Analysis, anybody? --------------- Date: Friday, 28 January 1983, 17:03-EST From: Richard M. Stallman Subject: Redisplays To: JOSHM at MIT-OZ I don't think that basing an editor on list structure rather than on text is a good idea. It is a misfeature for the editor to deny the user the ability to control formatting. Not to mention that your editor will be useless for everything except scheme code. ------- 28-Jan-83 17:49:06-EST,756;000000000000 Mail-From: JMILLER created at 28-Jan-83 17:46:09 Date: 28 Jan 1983 1746-EST From: JMILLER at MIT-OZ Subject: Re: [Richard M. Stallman : Redisplays] To: JOSHM at MIT-OZ cc: Scheme-UROPS at MIT-OZ In-Reply-To: Your message of 28-Jan-83 1705-EST I would have been willing to predict that. As far as I can tell the point is true (maybe) but totally irrelevant. We need such an editor in order to guarantee that we can develop SCHEME code. We are not proposing that it be the only editor used with SCHEME -- only that we can promise the existence of this editor but not a full strength text editor. --Jim P.S. -- This is a religious issue: compare any MIT LISPer with any INTERLISPer to see just how deep it is. ------- 28-Jan-83 17:49:15-EST,214;000000000000 Mail-From: JMILLER created at 28-Jan-83 17:47:26 Date: 28 Jan 1983 1747-EST From: JMILLER at MIT-OZ Subject: Me To: Scheme-UROPS at MIT-OZ Will someone add me (AAB?) to this mailing list? --Jim ------- 28-Jan-83 17:56:34-EST,236;000000000000 Mail-From: AAB created at 28-Jan-83 17:55:35 Date: 28 Jan 1983 1755-EST From: Andrew A. Berlin Subject: Mailing list To: SCHEME-UROPS at MIT-OZ Jmiller has been added to the SCHEME-UROPS mailing list. ------- 29-Jan-83 09:35:58-EST,1011;000000000000 Mail-From: HANSON created at 29-Jan-83 09:33:26 Date: Saturday, 29 January 1983 09:33-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: RMS @ MIT-OZ Cc: scheme-coders @ MIT-OZ Subject: Redisplay In-reply-to: The message of 28 Jan 1983 17:05-EST from JOSHM Date: Friday, 28 January 1983, 17:03-EST From: Richard M. Stallman I don't think that basing an editor on list structure rather than on text is a good idea. It is a misfeature for the editor to deny the user the ability to control formatting. Not to mention that your editor will be useless for everything except scheme code. The intent is not to build an editor for text, but an editor for structures. In fact, the ability to edit Scheme code is just a side effect. And the lack of text editing capability is intentional; by limiting the editor to data structures, the complexity of the system can be reduced far below that of a text editor which provided the same capability. 29-Jan-83 20:00:19-EST,2770;000000000000 Mail-From: AAB created at 29-Jan-83 19:59:27 Date: 29 Jan 1983 1959-EST From: Andrew A. Berlin Subject: Interface (long) To: scheme-urops at MIT-OZ I need the window package, or at the very least, specifications on its interface before I can conveniently continue. I suggest the following: MAKE-WINDOW-OBJECT returns a window object which is mutated each time an operation on the window occurs. In this way, only one window-object must be kept for each window. Format: (make-window-object start-row start-col end-row end-col default-print-behavior-for-strings default-print-behavior-on-end-of-line default-print-behavior-on-end-of-window) where DEFAULT-PRINT-BEHAVIOR-FOR-STRINGS is Q for display quotes or N for don't display quotes DEFAULT-PRINT-BEHAVIOR-ON-END-OF-LINE is on of T or W for truncate or wrap. DEFAULT-PRINT-BEHAVIOR-ON-END-OF-PAGE is one of T, W, or P for truncate (...), Wrap (return to top of window and continue displaying), Pause (prompt user for space to continue or rubout to quit on bottom line of screen. If user chooses to continue, display next page. CLEAR-WINDOW should clear the entire window. Format: (clear-window window-object) CLEAR-TO-END-OF-WINDOW should clear from the current cursor position in the window to the end of the window. Format: (clear-to-end-of-window window-object) POSITION-CURSOR-IN-WINDOW should change the position of the cursor in the specified window. There should be an optional argument as to whether to actually position the cursor their now, or to just update the window object. Format: (position-cursor-in-window window-object new-row new-cow opt-update) If update is T then a cursorpos should occur. Otherwise, if update is N, then it should only update the window object. The default if opt-update variable is not specified should be to actually do the display. DISPLAY-OBJECT-IN-WINDOW should display a given object in the specified window. It should take optional arguments to override the default values for print behavior. Format: (Display-object-in-window object-to-be-displayed window-object |--behavior-for-strings optional| behavior-on-end-of-line |--behavior-on-end-of-window) FILL-IN-WINDOW should fill in the entire window with the specified character. Format: (fill-in-window window-object character) FILL-IN-REST-OF-WINDOW should fill to the end of the current window from the current cursor position in the window. Format: (fill-in-rest-of-window window-object character) Note: this function should be smart enough to use clear-to-end-of-line if the fill in character is a space. ------- 29-Jan-83 20:10:18-EST,691;000000000000 Mail-From: AAB created at 29-Jan-83 20:06:44 Date: 29 Jan 1983 2006-EST From: Andrew A. Berlin Subject: interface to structure editor To: scheme-urops at MIT-OZ I don't think it would be a good idea for me to call JOSHM's structure editor to merely walk around in structures. I would prefer to write my own (it's really short). My version would be used for both DEBUG and LOOK. This is because Josh's editor must walk in two dimensions, while DEBUG and LOOK only have to walk in one dimension. This motion in one dimension is very easily accomplished by displaying each item on one line of the screen and using the up and down arrows. ---Andy ------- 29-Jan-83 20:15:41-EST,922;000000000000 Mail-From: AAB created at 29-Jan-83 20:12:26 Date: 29 Jan 1983 2012-EST From: Andrew A. Berlin Subject: Screen conventions To: scheme-urops at MIT-OZ I propose that the bottom line on the screen be reseved for error messages in all display-oriented programs. This would provide for uniform interface among the various functions, and would also give the window package a convenient place to ask "space for more, Del to quit". In my own functions, I use the 2nd to last line for user-entered commands, and the 3rd to last line as a list of legal commands. This doesn't necessarily have to be a universal convention (the structure editor has a mode line instead, but when applicable it should be used. Certainly, anything calling the window package in such a way that a question must be asked, should leave the last line available for errors and/or questions. ---Andy ------- 30-Jan-83 08:46:22-EST,2113;000000000000 Mail-From: JMILLER created at 30-Jan-83 08:44:52 Date: 30 Jan 1983 0844-EST From: JMILLER at MIT-OZ Subject: Your Messages To: AAB at MIT-OZ cc: Scheme-UROPS at MIT-OZ (1) Window interface looks reasonable, but I want to discuss it with all of you there. I have some minor changes to suggest: (a) Since your function to display in a window takes optional arguments to over-ride line wrap and so forth, lets think about providing keywords that will allow you to specify these in an order independent manner. For example,use WRAP-TO-NEXT-LINE, TRUNCATE-LINE, WRAP-AROUND-WINDOW, TRUNCATE-TO-FIT-WINDOW, etc. (b) The fill functions might have a variant that allow you to provide a function rather than a character to fill with. (By character, did you mean a 68000-ish character value, by the way?) (2) I suggest we reserve two lines: The prompt and error lines at the bottom of a window -- NOT the screen necessarily.. This is, of course, a convention. The window package doesn't need to know about it (you make two windows....). I suspect we need to get into the mode where we imagine every program as having some window space, but not that they have access to the whole screen. In particular, when we get to multiple processes on the 68000, we will want windows for several processes on the screen and the processes shouldn't be fighting for the error line at the bottom of the screen! (3) I'm not convinced by your argument about not using Josh's editor. If it makes no sense (now) to move horizontally, then the user won't do it. My "gut instinct" is that at some fairly near-term point we will want to use the horizontal motion for something. But go ahead not using it for now; how about making your "editor" have an interface compatible with Josh's? (4) Your note about the history mechanism: I believe that this is precisely what Jinx warned us about. If you go for exactly the number of subproblems in the history list, then you can't tell whether or not you are at the top. Is this right? ------- 31-Jan-83 11:00:52-EST,839;000000000000 Mail-From: JOSHM created at 31-Jan-83 10:59:54 Date: 31 Jan 1983 1059-EST From: JOSHM at MIT-OZ Subject: Re: interface to structure editor To: AAB at MIT-OZ cc: scheme-urops at MIT-OZ In-Reply-To: Your message of 29-Jan-83 2006-EST I can appreciate what your saying, but that would start our descent into what JMiller was talking about at our first meeting. Furthermore, a redisplay and pretty printer for structures will not be as easy as you think (this is necessary so that your program behaves intelligently when the structure you are displaying is larger than the window you have available. You might write yourself something crufty that doesn't worry about size until mine is done, but writing the redisplay that will handle larger text correctly is something that should only be done once. -Josh ------- 31-Jan-83 11:07:32-EST,1057;000000000000 Mail-From: AC created at 31-Jan-83 11:06:29 Date: 31 Jan 1983 1106-EST From: AC at MIT-OZ Subject: Schedule for Spring term. To: JMILLER at MIT-OZ cc: SCHEME-UROPS at MIT-OZ These are the times in which I will be occupied (i.e. classes) during the Spring term. Monday | 11:00 am to 12:00 pm, 1:00 pm to 4:00 pm. | ---------|------------------------------------------------------------ Tuesday | 1:00 pm to 3:00 pm. | ---------|------------------------------------------------------------ Wednesday| 11:00 am to 12:00 pm, 1:00 pm to 5:00 pm. | ---------|------------------------------------------------------------ Thursday | 11:00 am to 12:00 pm, 1:00 pm to 3:00 pm. | ---------|------------------------------------------------------------ Friday | 11:00 am to 12:00 pm, 1:00 pm to 3:00 pm. | ---------|------------------------------------------------------------ Looks like mornings are the best times for me! Anthony ------- 31-Jan-83 13:36:36-EST,230;000000000000 Mail-From: AAB created at 31-Jan-83 13:31:54 Date: 31 Jan 1983 1331-EST From: Andrew A. Berlin Subject: SCHEDULE To: scheme-urops at MIT-OZ I won't know my schedule till tomorrow night. ---Andy ------- 31-Jan-83 20:48:51-EST,420;000000000000 Mail-From: JOSHM created at 31-Jan-83 20:44:08 Date: 31 Jan 1983 2044-EST From: JOSHM at MIT-OZ Subject: Circular lists To: bug-lisp at MIT-OZ cc: scheme-coders at MIT-OZ, bug-scheme at MIT-OZ Is there a system procedure defined that will determine if a list is circular, or does anyone know of anything already written, or at last resort, a good algorithm with which I can implement one? -Josh ------- 31-Jan-83 21:14:14-EST,555;000000000000 Date: 31 January 1983 21:14 EST From: David C. Plummer Subject: Circular lists To: JOSHM @ MIT-OZ cc: bug-lisp @ MIT-OZ, scheme-coders @ MIT-OZ, bug-scheme @ MIT-OZ Just as a screw case, consider (MACLisp) (defun screw-case () (let ((the-list (cons nil nil))) ;get a list (rplacd the-list the-list) ;make it circular (dotimes (i almost-an-address-space-of-consing) (push nil the-list)) ;prepend a lot of conses the-list)) BTW, what's the prefered way to create a circular list in scheme anyway? 31-Jan-83 23:10:42-EST,671;000000000000 Mail-From: AAB created at 31-Jan-83 23:10:29 Date: 31 Jan 1983 2310-EST From: Andrew A. Berlin Subject: Re: interface to structure editor To: JOSHM at MIT-OZ cc: scheme-urops at MIT-OZ In-Reply-To: Your message of 31-Jan-83 1059-EST When I said that I don't want to call JOSHM's routine's to control my display for debug and look, I was refering to his STRUCTURE EDITOR's read only mode. I have no problem with using the common window package, pretty-printer, and re-display. All I'm saying is I want to define my own window objects and control what is written to them myself (i.e. not through the structure editor.) ---Andy ------- 1-Feb-83 11:25:56-EST,3996;000000000000 Date: Tuesday, 1 February 1983, 11:26-EST From: Kent M. Pitman Subject: Circular lists (long but hopefully interesting message) To: JOSHM at OZ, DCP at OZ Cc: SCHEME-CODERS at OZ, BUG-SCHEME at OZ, BUG-LISP at OZ, JAR at MC Date: 31 Jan 1983 2044-EST From: JOSHM at MIT-OZ Subject: Circular lists To: bug-lisp at MIT-OZ cc: scheme-coders at MIT-OZ, bug-scheme at MIT-OZ Is there a system procedure defined that will determine if a list is circular, or does anyone know of anything already written, or at last resort, a good algorithm with which I can implement one? -Josh Date: 31 January 1983 21:14 EST From: David C. Plummer Just as a screw case, consider (MACLisp) (defun screw-case () (let ((the-list (cons nil nil))) ;get a list (rplacd the-list the-list) ;make it circular (dotimes (i almost-an-address-space-of-consing) (push nil the-list)) ;prepend a lot of conses the-list)) BTW, what's the prefered way to create a circular list in scheme anyway? ----- Rivest's algorithms course (MIT 6.045) discussed a good algorithm for doing this. I am forever forgetting who actually designed this algorithm, but it was one of the more well-known algorithms people. The idea is that you release two runners on a list, running at different rates. If the fast one (who should be ahead of the slow one from the start) ever finds the slow one ahead of him, then there was a circularity... These are the definitions we originally installed in T (Yale Scheme). Jonathan removed them, against my recommendations because he didn't think anyone cared about having them. I still think they should be re-instated because they are healthy to have as built-ins. People aren't notably good at writing them. ; Start two runners. If the slow one catches the fastest, then the list was ; circular. (DEFINE (CIRCULAR? MOVE X) (IF (NULL-LIST? X) NIL (ITERATE RACE ((SLOW-RUNNER X) (FAST-RUNNER (MOVE X))) (COND ((OR (NULL-LIST? FAST-RUNNER) (NULL-LIST? (MOVE FAST-RUNNER))) NIL) ((EQ? SLOW-RUNNER FAST-RUNNER) T) ;Fast runner caught up! (T (RACE (MOVE SLOW-RUNNER) (MOVE (MOVE FAST-RUNNER)))))))) Eg, (CIRCULAR? CDR X) looked for cdr circularities. (CIRCULAR? CAR X) looks for car circularities. Note this is a constant space, linear time (with the length of the list) algorithm; worst case for a length M long with a circular tail N long nconc'd on is M+2N, I think. Here's an example of `coroutining' it with LENGTH... (DEFINE (LENGTH X) (COND ((NULL-LIST? X) 0.) (T (ITERATE RACE ((SLOW-RUNNER X) (FAST-RUNNER (CDR X)) (COUNT 1)) (COND ((NULL-LIST? FAST-RUNNER) COUNT) ((NULL-LIST? (CDR FAST-RUNNER)) (1+ COUNT)) ((EQ? SLOW-RUNNER FAST-RUNNER) (ERROR "Argument to LENGTH is circular: (~S ...)" (CAR X))) (T (RACE (CDR SLOW-RUNNER) (CDDR FAST-RUNNER) (+ COUNT 2.)))))))) In Maclisp, it'd be roughly, ... ; Start two runners. If the slow one catches the fastest, then the list was ; circular. (DEFUN CIRCULAR? (MOVE X) (IF (NULL X) NIL (DO ((SLOW-RUNNER X (FUNCALL MOVE SLOW-RUNNER)) (FAST-RUNNER (FUNCALL MOVE X) (FUNCALL MOVE (FUNCALL MOVE FAST-RUNNER)))) ((OR (NULL FAST-RUNNER) (NULL (FUNCALL MOVE FAST-RUNNER))) NIL) ; Fast runner fell off end (IF (EQ SLOW-RUNNER FAST-RUNNER) (RETURN T))))) ; Fast runner looped and caught up! Though due to the slowness of FUNCALL, the following special purpose definition might be much faster... (DEFUN CIRCULAR-CDR? (X) (IF (NULL X) NIL (DO ((SLOW-RUNNER X (CDR SLOW-RUNNER)) (FAST-RUNNER (CDR X) (CDDR FAST-RUNNER))) ((OR (NULL FAST-RUNNER) (NULL (CDR FAST-RUNNER))) NIL) ; Fast runner fell off end (IF (EQ SLOW-RUNNER FAST-RUNNER) (RETURN T))))) ; Fast runner looped and caught up! 2-Feb-83 00:34:09-EST,468;000000000000 Mail-From: AAB created at 2-Feb-83 00:30:24 Date: 2 Feb 1983 0030-EST From: Andrew A. Berlin Subject: My Schedule (tentative) To: scheme-urops at MIT-OZ Here's my schedule!! (at least for today) Times when I'm busy (classes, ta, etc.) Monday - 11:00 am - 5:00 pm; 6-8pm. Tuesday - 12-1:00; 2-3:00, 7-10pm. Wednesday - 9:00 - 1:00pm Thursday - 12-1:00; 2-3:00 Friday - 9-2:00; 3-8pm. Thursday mornings seem good to me. ------- 2-Feb-83 06:53:46-EST,298;000000000000 Mail-From: JMILLER created at 2-Feb-83 06:51:42 Date: 2 Feb 1983 0651-EST From: JMILLER at MIT-OZ Subject: Your Schedule To: JoshM at MIT-OZ, Jinx at MIT-OZ cc: Scheme-UROPS at MIT-OZ Josh & Jinx, Yours are the only schedules I haven't got yet. Can you send it in? --Jim ------- 2-Feb-83 16:35:40-EST,472;000000000000 Mail-From: JOSHM created at 2-Feb-83 16:33:15 Date: 2 Feb 1983 1633-EST From: JOSHM at MIT-OZ Subject: Re: Your Schedule To: JMILLER at MIT-OZ cc: Jinx at MIT-OZ, Scheme-UROPS at MIT-OZ In-Reply-To: Your message of 2-Feb-83 0651-EST Free time: Tuesday, Thursday Mornings before 12, Tuesday, Wednsday, and Friday afternoons. This may change as the 6.001 lab ta hours become finalized, and I find out my 6.111 and 6.003 lab schedules. -Josh ------- 3-Feb-83 01:30:34-EST,1679;000000000000 Mail-From: JINX created at 3-Feb-83 01:26:05 Date: 3 Feb 1983 0126-EST From: Bill Rozas Subject: Additions to advice mechanism To: jmiller at MIT-OZ cc: scheme-urops at MIT-OZ, scheme-urops at MIT-OZ, gjs at MIT-OZ I have just finished (but not installed) an addition to the advice package which permitts the user to advice (break, trace) procedures defined inside other procedures: For example: previously there was no way of tracing fact-loop in (define (fact n) (define (fact-loop n tot) (if (= n 0) tot (fact-loop (-1+ n) (* n tot)))) (fact-loop n 1)) Now it can be done! I haven't installed it because I haven't integrated it with the rest of the advice package, and because I would like oppinions on how the users should call this: Right now there are functions trace-internal, break-internal, untrace-internal, etc., which are called on two arguments, the outermost procedure containing the desired one, and the path to arrive at the desired one (there may be more than one level of nesting) form the "outside". Since the procedures in the second argument have not yet been created, the argument is a quoted list of symbols. Another possibility is to integrate them with trace and break, which would then take an opptional argument, the path, and decide whether it was a normal trace or an "internal" one. Create a special form (Ugh!!) so that the path wouldn't have to be quoted. I'll (hopefully) be here tomorrow around lunchtime and I can show you what I mean. If you want to try it do (lisp-eval '(load "scm:advice.fasl")) (load "scm:tadvice.scm" t) See you tomorrow! ------- 3-Feb-83 07:34:17-EST,885;000000000000 Mail-From: JMILLER created at 3-Feb-83 07:32:53 Date: 3 Feb 1983 0732-EST From: JMILLER at MIT-OZ Subject: Re: Additions to advice mechanism To: JINX at MIT-OZ cc: Scheme-UROPS at MIT-OZ, GJS at MIT-OZ In-Reply-To: Your message of 3-Feb-83 0126-EST If you are thinking about this stuff (which has been needed for quite a while), consider the following: we probably need to be able to break trace and untrace either (a) an existing procedure object, or (b) any procedure object made with the particular code described by the user. The former is useful for the "common" case of procedures that do their work and return answers. The latter is good for procedures which are called often and return other procedures as results (for example, in message passing as shown occassionally in The Notes). We have, I believe, the former but not the latter. --Jim ------- 3-Feb-83 14:33:19-EST,942;000000000000 Mail-From: JOSHM created at 3-Feb-83 14:29:08 Date: 3 Feb 1983 1429-EST From: JOSHM at MIT-OZ Subject: Global variables To: hanson at MIT-OZ cc: scheme-coders at MIT-OZ Where is the right place to put structure editor state variables that have to stay around between invocations of the editor? I have been putting them in the user global environment, but would it be better to keep them in an appropriate package? When more than one user starts to use the same memory, will each get her own environent, or will they share a top-level-environment? If they have their own, then I think that's where I should put global state variables, because that way different users will not smash their environments into each other. If they share their top-level-environments, then I should probably only have the top-level-procedure be global, and have all the state var's kept in the appropriate environments. -Josh ------- 4-Feb-83 17:29:36-EST,632;000000000000 Mail-From: JOSHM created at 4-Feb-83 17:25:15 Date: 4 Feb 1983 1725-EST From: JOSHM at MIT-OZ Subject: [JMILLER at MIT-OZ: Re: Global variables] To: scheme-coders at MIT-OZ Mail-From: JMILLER created at 4-Feb-83 17:22:40 Date: 4 Feb 1983 1722-EST From: JMILLER at MIT-OZ Subject: Re: Global variables To: JOSHM at MIT-OZ cc: Hanson at MIT-OZ In-Reply-To: Your message of 4-Feb-83 1603-EST Chris, Can you field this one? I think the answer is that each user gets a private copy of the top-level environment ... but the "global environment" is even above that. Is this correct? --Jim ------- ------- 6-Feb-83 10:25:59-EST,455;000000000000 Mail-From: JMILLER created at 6-Feb-83 10:24:30 Date: 6 Feb 1983 1024-EST From: JMILLER at MIT-OZ Subject: Meeting time To: Scheme-UROPs at MIT-OZ cc: Hanson at MIT-OZ, GJS at MIT-OZ, Hal at MIT-OZ Ughhh ... between us we have (believe it or not) exactly one time period free: Tuesday morning from 9 to 10am. *Sorry* let's do it then. See you bright and early Tuesday Morning ... we can discuss re-arranging things then! --Jim ------- 7-Feb-83 12:36:17-EST,861;000000000000 Mail-From: HANSON created at 7-Feb-83 12:35:07 Date: Monday, 7 February 1983 12:35-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: JMILLER @ MIT-OZ, scheme-coders @ MIT-OZ Subject: Global variables In-reply-to: The message of 4 Feb 1983 16:03-EST from JOSHM There is only one Global Environment for all users. The state variables for your program should go inside your package unless you intend for someone to refer to them by name from outside of the package, in which case they should go in USER-INITIAL-ENVIRONMENT. Typically the latter is not what you want. The thing that FLUID-LET does for you is to let multiple users share the same variable inside of your package without conflicts. There shouldn't be any problems with this. I will discuss this with you if I haven't been very clear. Chris 7-Feb-83 14:56:22-EST,1035;000000000000 Mail-From: JOSHM created at 7-Feb-83 14:53:54 Date: 7 Feb 1983 1453-EST From: JOSHM at MIT-OZ Subject: Re: Global variables To: HANSON at MIT-MC cc: JMILLER at MIT-OZ, scheme-coders at MIT-OZ In-Reply-To: Your message of 7-Feb-83 1236-EST I realize what fluid let does, but I have state variables that need to stay around BETWEEN invocations of the editor. Fluid let will lose those values after the invocation has passed. I am using fluid let for all variables that can go away after the invocation is over. But I wish there were a private place for each user to put his variables. If the users I am referring to are separate people on separate terminals, then it seems that each users would need a separate environment so they don't screw up each others environments. However, if the different users are merely processes (not people) then I would expect these "unmanned" processes to not use an interactive display oriented structure editor (though they might want to call my functions). -Josh ------- 7-Feb-83 15:24:15-EST,618;000000000000 Mail-From: HANSON created at 7-Feb-83 15:23:42 Date: Monday, 7 February 1983 15:23-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: JMILLER @ MIT-OZ, scheme-coders @ MIT-OZ Subject: Global variables In-reply-to: The message of 7 Feb 1983 14:53-EST from JOSHM Date: Monday, 7 February 1983 14:53-EST From: JOSHM I realize what fluid let does, but I have state variables that need to stay around BETWEEN invocations of the editor. I wish there were a private place for each user to put his variables. Put the variables in USER-INITIAL-ENVIRONMENT. 7-Feb-83 16:35:58-EST,280;000000000000 Mail-From: JOSHM created at 7-Feb-83 16:32:41 Date: 7 Feb 1983 1632-EST From: JOSHM at MIT-OZ Subject: Lisp machine scheme To: hanson at MIT-OZ cc: scheme-coders at MIT-OZ You mentioned something about scheme for lisp machines. How can I use it? -Josh ------- 7-Feb-83 17:33:04-EST,419;000000000000 Mail-From: JOSHM created at 7-Feb-83 17:32:37 Date: 7 Feb 1983 1732-EST From: JOSHM at MIT-OZ Subject: Pretty printers To: scheme-coders at MIT-OZ I have rewritten my pretty printer in a more well structured form, and put it in src:pretty-printer.scm. You can load it into scheme, and type (new-pp something) where something is a list or a procedure. comments to me. -Joshm ------- 8-Feb-83 09:48:56-EST,289;000000000000 Mail-From: JMILLER created at 8-Feb-83 09:45:18 Date: 8 Feb 1983 0945-EST From: JMILLER at MIT-OZ Subject: Meeting To: Scheme-UROPs at MIT-OZ cc: Hanson at MIT-OZ Try again .... Thursday 11 - 12. Several of us have class at noon, so it WILL end before then. --Jim ------- 12-Feb-83 17:18:31-EST,291;000000000000 Date: 12 Feb 1983 1719-EST From: Andrew A. Berlin Subject: Scheme init files To: scheme-coders at MIT-OZ What is the name of the file that will be automatically loaded into scheme when you first enter it. Scheme.init doesn't load on EE. ---Andy ------- 13-Feb-83 17:20:44-EST,666;000000000000 Mail-From: HANSON created at 13-Feb-83 17:19:27 Date: Sunday, 13 February 1983 17:19-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: Andrew A. Berlin Cc: scheme-coders @ MIT-OZ Subject: Scheme init files In-reply-to: Msg of 12 Feb 1983 17:19-EST from Andrew A. Berlin Date: Saturday, 12 February 1983 17:19-EST From: Andrew A. Berlin To: scheme-coders Re: Scheme init files What is the name of the file that will be automatically loaded into scheme when you first enter it. Scheme.init doesn't load on EE. ---Andy Use INIT.SCM. 14-Feb-83 15:38:55-EST,254;000000000000 Mail-From: JOSHM created at 14-Feb-83 15:21:48 Date: 14 Feb 1983 1521-EST From: JOSHM at MIT-OZ Subject: Re: Scheme init files To: LS.AAB at MIT-EECS cc: scheme-coders at MIT-OZ In-Reply-To: Your message of 12-Feb-83 1718-EST init.scm ------- 15-Feb-83 11:08:50-EST,557;000000000000 Mail-From: AC created at 15-Feb-83 11:06:36 Date: 15 Feb 1983 1106-EST From: AC at MIT-OZ Subject: window-package To: aab at MIT-OZ cc: scheme-urops at MIT-OZ My window-package is in a very resonable state at this time. I haven't implemented pause-at-end-of-page yet but I can do that in a jiffy if anyone really wants it. In any case, the package is working well enough that I think you might be ready to use it. Send me mail, or else we can discuss it at the next meeting. Anthony ------- 15-Feb-83 11:28:20-EST,764;000000000000 Mail-From: AC created at 15-Feb-83 11:26:23 Date: 15 Feb 1983 1126-EST From: AC at MIT-OZ Subject: next-meeting To: Hanson at MIT-OZ cc: scheme-urops at MIT-OZ, jmiller at MIT-OZ Chris, I think you are now in charge of arranging meetings with scheme-urops. We used to meet Thursday at 11:00 but that is no longer possible as my schedule has just recently changed. I wish you luck... Here is my new schedule [of the times I cannot meet with you] : monday 9:00 to 12:00, 1:00 to 4:00 tuesday 1:00 to 2:00 wednesday 9:00 to 12:00, 1:00 to 5:00 thursday 11:00 to 12:00, 1:00 to 2:00 friday 11:00 to 12:00, 1:00 to 3:00 I hope sometime will match up with the rest of you. Anthony ------- 15-Feb-83 13:33:23-EST,322;000000000000 Mail-From: JOSHM created at 15-Feb-83 13:29:54 Date: 15 Feb 1983 1329-EST From: JOSHM at MIT-OZ Subject: Re: next-meeting To: AC at MIT-OZ cc: Hanson at MIT-OZ, scheme-urops at MIT-OZ, jmiller at MIT-OZ In-Reply-To: Your message of 15-Feb-83 1126-EST thursday at 10 seems to still work, how about then? ------- 15-Feb-83 19:49:26-EST,559;000000000000 Mail-From: HANSON created at 15-Feb-83 19:45:41 Date: Tuesday, 15 February 1983 19:45-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: JOSHM @ MIT-OZ Cc: AC @ MIT-OZ, jmiller @ MIT-OZ, scheme-urops @ MIT-OZ Subject: next-meeting In-reply-to: The message of 15 Feb 1983 13:29-EST from JOSHM Date: Tuesday, 15 February 1983 13:29-EST From: JOSHM To: AC cc: Hanson, scheme-urops, jmiller Re: next-meeting thursday at 10 seems to still work, how about then? This is OK for me, but not exactly ideal. 16-Feb-83 14:50:08-EST,1376;000000000000 Mail-From: AAB created at 16-Feb-83 14:47:36 Date: 16 Feb 1983 1447-EST From: Andrew A. Berlin Subject: Re: window-package To: AC at MIT-OZ cc: scheme-urops at MIT-OZ In-Reply-To: Your message of 15-Feb-83 1106-EST I thought it was obvious that I wanted a window package... "My window-package is in a very resonable state at this time. I haven't implemented pause-at-end-of-page yet but I can do that in a jiffy if anyone really wants it. In any case, the package is working well enough that I think you might be ready to use it. Send me mail, or else we can discuss it at the next meeting. Anthony" ------------------------------------------------------------------------ MIT REQUEST FORM (FORM 002) ------------------------------------------------------------------------ QUANTITY |DESCRIPTION ---------|-------------------------------------------------------------- 1 |Pointer to window package code ---------|-------------------------------------------------------------- 1 |Documentation on Interface ---------|-------------------------------------------------------------- Andy ---- Good thing I save my old mail... ---Andy ------- 17-Feb-83 09:29:10-EST,245;000000000000 Mail-From: AC created at 17-Feb-83 09:27:34 Date: 17 Feb 1983 0927-EST From: AC at MIT-OZ Subject: meeting To: Hanson at MIT-OZ cc: scheme-urops at MIT-OZ Thursday at 10 is great for me. Anthony ------- 18-Feb-83 15:23:54-EST,545;000000000000 Mail-From: AAB created at 18-Feb-83 15:22:31 Date: 18 Feb 1983 1522-EST From: Andrew A. Berlin Subject: Hi! How's the window package? To: ac at MIT-OZ cc: scheme-urops at MIT-OZ Hi! It seems that meeting at this point would not be very useful in that I don't know what you have done, and therefore can not comment on it. Can I get a look at the window package - there really isn't much I can do until at least the basic part of it is ready (or at least the documentation on the basic part). ---Andy ------- 19-Feb-83 12:12:35-EST,508;000000000000 Mail-From: AC created at 19-Feb-83 12:09:40 Date: 19 Feb 1983 1209-EST From: AC at MIT-OZ Subject: window-package To: aab at MIT-OZ cc: scheme-urops at MIT-OZ My documentation for the window package is finished enough for you to be able to understand it. The documentation is in src:window.doc The package is in src:window.scm . Please let me know what is good, bad, awful, wrong or useless. Anthony ------- 22-Feb-83 09:57:36-EST,518;000000000000 Mail-From: AAB created at 22-Feb-83 09:56:10 Date: 22 Feb 1983 0956-EST From: Andrew A. Berlin Subject: weekly meeting To: scheme-urops at MIT-OZ cc: hanson at MIT-OZ I don't know if we still have a meeting scheduled for Thursday at 10, but I won't be able to make it at that time. (this week only - I have to get my 6.111 lab approved Thursday morning). I haven't really had time to play with the window package yet - I will do this when I TA for 6.001 on Friday. ---Andy ------- 23-Feb-83 14:31:23-EST,490;000000000000 Mail-From: AAB created at 23-Feb-83 14:29:12 Date: 23 Feb 1983 1429-EST From: Andrew A. Berlin Subject: Moved window package To: scheme-urops at MIT-OZ I put copies of the AC's window package src:window.doc, src:window.scm to SRC: so that we could all get to it easier. This way, AC can change his version of the window package without affecting the version we are all using until he is sure his changes are correct. ---ANdy ------- 23-Feb-83 16:12:49-EST,369;000000000000 Mail-From: JDM created at 23-Feb-83 16:08:18 Date: 23 Feb 1983 1608-EST From: JDM at MIT-OZ Subject: Re: weekly meeting To: AAB at MIT-OZ cc: scheme-urops at MIT-OZ, hanson at MIT-OZ In-Reply-To: Your message of 22-Feb-83 0956-EST Ditto on all counts -- have to get 6.111 lab approved thursday morning, will explore window package later. -Josh ------- 5-Mar-83 15:33:28-EST,423;000000000000 Return-path: Mail-From: AC created at 5-Mar-83 15:32:25 Date: 5 Mar 1983 1532-EST From: AC@MIT-OZ Subject: Window-package (as always) To: Hanson@MIT-OZ cc: scheme-urops@MIT-OZ I am making progress in the new-new-new! window-package. Will you be around Tuesday before noon so that we may be able to go over what I've done so far? Anthony ------- 7-Mar-83 08:19:54-EST,940;000000000000 Return-path: Mail-From: JINX created at 7-Mar-83 01:58:35 Date: 7 Mar 1983 0158-EST From: Bill Rozas Subject: New debugger in Scheme To: scheme-coders@MIT-OZ I just installed a new debugger in Oz 20-Scheme. It retains all the old features plus: It doesn't die when there are two errors in a row (history is saved in the read-eval-print loop), so debug within an error should always do something regardless of how many errors have occurred. When there is no available history, it follows the Cont stack, so there is information about EVERY pending operation. Commands B and F work by displaying Cont stack info when there is no history available. Command K displays the cont stack info at any level. I would like comments, bug reports and suggestions. It will not be installed in EE until we are reasonably sure that there are no bugs in it. I hope you like it. ------- 7-Mar-83 15:18:19-EST,723;000000000000 Return-path: Mail-From: HANSON created at 7-Mar-83 15:16:56 Date: Monday, 7 March 1983 15:16-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: AC @ MIT-OZ Cc: scheme-urops @ MIT-OZ Subject: Window-package (as always) In-reply-to: Msg of 5 Mar 1983 15:32-EST from AC Date: Saturday, 5 March 1983 15:32-EST From: AC To: Hanson cc: scheme-urops Re: Window-package (as always) Return-path: I am making progress in the new-new-new! window-package. Will you be around Tuesday before noon so that we may be able to go over what I've done so far? Anthony Yes. See you then. 9-Mar-83 02:27:42-EST,959;000000000000 Return-path: Mail-From: HANSON created at 9-Mar-83 02:24:09 Date: Wednesday, 9 March 1983 02:24-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: AAB @ MIT-OZ, Jinx @ MIT-OZ, JMiller @ MIT-OZ Cc: GJS @ MIT-OZ, Hanson @ MIT-OZ, Scheme-Coders @ MIT-OZ Subject: The Bottom Line is as follows: (*) Each implementation of Scheme must guarantee to provide a set of primitives for identifying, constructing, and accessing SCODE. (*) Each implementation must provide a set of primitives for viewing the control structure AS IF it were a list of control points; each control point in that list must contain either a saved EVAL or saved APPLY state, which can be analyzed appropriately. (*) Each implementation must provide a history representation, which can be viewed as a list of lists of EVAL states. This history may be NIL. We should meet and decide on the exact names and calling conventions. Chris 9-Mar-83 21:24:28-EST,532;000000000000 Return-path: Mail-From: JINX created at 9-Mar-83 21:21:10 Date: 9 Mar 1983 2121-EST From: Bill Rozas Subject: Re: The Bottom Line To: HANSON@MIT-MC cc: AAB@MIT-OZ, JMiller@MIT-OZ, GJS@MIT-OZ, Scheme-Coders@MIT-OZ In-Reply-To: Your message of 9-Mar-83 0227-EST I propose next Tuesday after the staff meeting: 11.30 or 12 am to discuss this and decide on the strategy to follow. Note: I think Jmiller has the Urop schedules so maybe he should decide if the time I suggest is bad. ------- 9-Mar-83 22:08:53-EST,658;000000000000 Return-path: Mail-From: JMILLER created at 9-Mar-83 21:44:26 Date: 9 Mar 1983 2144-EST From: JMILLER@MIT-OZ Subject: Re: The Bottom Line To: JINX@MIT-OZ cc: HANSON@MIT-MC, AAB@MIT-OZ, GJS@MIT-OZ, Scheme-Coders@MIT-OZ In-Reply-To: Your message of 9-Mar-83 2121-EST I do indeed have the schedules, and I believe that the only time which was mutually convenient was 9am on either Tuesday or Thursday. I have a class at 12 (noon) on Tuesday, but perhaps the meeting can happen without me. --Jim P.S. -- If anyone wants to look at the schedules again, they are in PS:SCHEME.SCHEDULES (or will be shortly) ------- 10-Mar-83 01:36:32-EST,488;000000000000 Return-path: Date: 10 Mar 1983 0134-EST From: Andrew A. Berlin Subject: Re: The Bottom Line To: JMILLER@MIT-OZ cc: JINX@MIT-OZ, HANSON@MIT-MC, GJS@MIT-OZ, Scheme-Coders@MIT-OZ In-Reply-To: Your message of 9-Mar-83 2144-EST I too have a class at 12:00 on Tuesday. Next Tuesday is particularly bad as I have 3 problem sets due and a test on Wednesday. How about any time Thursday morning before 12:00 (I have a class at 12). ---Andy ------- 10-Mar-83 01:38:06-EST,480;000000000000 Return-path: Mail-From: AAB created at 10-Mar-83 01:37:44 Date: 10 Mar 1983 0137-EST From: Andrew A. Berlin Subject: Debug.scm.71 To: jinx@MIT-OZ cc: scheme-coders@MIT-OZ src:debug.scm.71 is no longer there. This is the version before Jinx made his changes. For obvious reasons, I need this version to compare with the new one. Did this file go away on its own or did someone move it somewhere? ---Andy ------- 10-Mar-83 03:00:59-EST,387;000000000000 Return-path: Mail-From: HANSON created at 10-Mar-83 02:59:51 Date: Thursday, 10 March 1983 02:59-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: Bill Rozas Cc: AAB @ MIT-OZ, GJS @ MIT-OZ, JMiller @ MIT-OZ, Scheme-Coders @ MIT-OZ Subject: The Bottom Line In-reply-to: Msg of 9 Mar 1983 21:21-EST from Bill Rozas fine with me 10-Mar-83 03:05:58-EST,1038;000000000000 Return-path: Mail-From: HANSON created at 10-Mar-83 03:03:46 Date: Thursday, 10 March 1983 03:03-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: Andrew A. Berlin Cc: jinx @ MIT-OZ, scheme-coders @ MIT-OZ Subject: Debug.scm.71 In-reply-to: Msg of 10 Mar 1983 01:37-EST from Andrew A. Berlin Date: Thursday, 10 March 1983 01:37-EST From: Andrew A. Berlin To: jinx cc: scheme-coders Re: Debug.scm.71 Return-path: src:debug.scm.71 is no longer there. This is the version before Jinx made his changes. For obvious reasons, I need this version to compare with the new one. Did this file go away on its own or did someone move it somewhere? ---Andy You shouldn't count on such a file sticking around. I regularly clean up the directories, and if there are old versions, they go away. If you want to keep one, make a copy with a different name, somewhere else. Chris 10-Mar-83 08:56:40-EST,394;000000000000 Return-path: Mail-From: GJS created at 10-Mar-83 08:55:32 Date: Thursday, 10 March 1983 08:55-EST Sender: GJS @ MIT-OZ From: GJS @ MIT-MC To: JMILLER @ MIT-OZ Cc: AAB @ MIT-OZ, HANSON @ MIT-OZ, JINX @ MIT-OZ, Scheme-Coders @ MIT-OZ Subject: The Bottom Line In-reply-to: Msg of 9 Mar 1983 21:44-EST from JMILLER I can be here at 9, but would rather be here at 12. 10-Mar-83 14:52:03-EST,424;000000000000 Return-path: Mail-From: JDM created at 10-Mar-83 14:51:14 Date: 10 Mar 1983 1451-EST From: JDM@MIT-OZ Subject: Re: The Bottom Line To: AAB@MIT-OZ cc: JMILLER@MIT-OZ, JINX@MIT-OZ, HANSON@MIT-MC, GJS@MIT-OZ, Scheme-Coders@MIT-OZ In-Reply-To: Your message of 10-Mar-83 0134-EST Everything AAB has just said happens to apply to me. Tuesday is impossible. Thursday morning is good. -Josh ------- 11-Mar-83 15:18:09-EST,573;000000000000 Return-path: Mail-From: JINX created at 11-Mar-83 15:11:34 Date: 11 Mar 1983 1511-EST From: Bill Rozas Subject: Re: The Bottom Line To: AAB@MIT-OZ cc: JMILLER@MIT-OZ, HANSON@MIT-MC, GJS@MIT-OZ, Scheme-Coders@MIT-OZ, JINX@MIT-OZ In-Reply-To: Your message of 10-Mar-83 0134-EST It seems that most people can do it Thurs. morning, however it is very bad for me after 11. Since 6.001 lecture is at 10, could we all meet at 9? I know it is early, but it is very likely that that will be the only time we can meet soon. ------- 11-Mar-83 17:11:14-EST,604;000000000000 Return-path: Mail-From: AC created at 11-Mar-83 17:09:45 Date: 11 Mar 1983 1709-EST From: AC@MIT-OZ Subject: window-package To: aab@MIT-OZ cc: scheme-urops@MIT-OZ, hanson@MIT-OZ Andy, your request shall be fulfilled! I anticipate that by tuesday 15, my window-package AND adequete documentation will be ready for your use. Check in src: for: window-package.scm window-package.doc. They should be there by tuesday at noon (unless my 12-page Mass Communication paper gets in the way. Yuk! , due Wednesday. Anthony ------- 12-Mar-83 12:12:35-EST,492;000000000000 Return-path: Mail-From: GJS created at 12-Mar-83 12:08:40 Date: Saturday, 12 March 1983 12:08-EST Sender: GJS @ MIT-OZ From: GJS @ MIT-MC To: Bill Rozas Cc: AAB @ MIT-OZ, HANSON @ MIT-OZ, JMILLER @ MIT-OZ, Scheme-Coders @ MIT-OZ Subject: The Bottom Line In-reply-to: Msg of 11 Mar 1983 15:11-EST from Bill Rozas I can come on thu @ 9am, but I won't be very useful since I have a 10:00 lecture to give. Oh well, can't be perfect. 13-Mar-83 21:45:14-EST,759;000000000000 Return-path: Mail-From: HANSON created at 13-Mar-83 21:41:16 Date: Sunday, 13 March 1983 21:41-EST Sender: HANSON @ MIT-OZ From: HANSON @ MIT-MC To: Bill Rozas Cc: AAB @ MIT-OZ, GJS @ MIT-OZ, JMILLER @ MIT-OZ, Scheme-Coders @ MIT-OZ Subject: The Bottom Line In-reply-to: Msg of 11 Mar 1983 15:11-EST from Bill Rozas Date: Friday, 11 March 1983 15:11-EST From: Bill Rozas It seems that most people can do it Thurs. morning, however it is very bad for me after 11. Since 6.001 lecture is at 10, could we all meet at 9? I know it is early, but it is very likely that that will be the only time we can meet soon. 9 is as good for me as any other time, I guess. 15-Mar-83 12:34:33-EST,708;000000000000 Return-path: Mail-From: AC created at 15-Mar-83 12:34:15 Date: 15 Mar 1983 1234-EST From: AC@MIT-OZ Subject: window-package To: AAB@MIT-OZ cc: scheme-urops@MIT-OZ I am half fulfilling my promise. You will find that src:window-package.doc exists now. Unfortunately I won't be able to put the working code into window-package.scm until Thursday at 11:00. I found a little bug while I was writing documentation today and as a result I had to make some major changes in my code. I'm not finished yet, but as HANSON says, "I am within epsilon" of being done. I hope the documentation can hold you over till Thursday. Anthony ------- 17-Mar-83 21:02:44-EST,348;000000000000 Return-path: Mail-From: AAB created at 17-Mar-83 20:58:13 Date: 17 Mar 1983 2058-EST From: Andrew A. Berlin Subject: Who will be here next week? To: scheme-urops@MIT-OZ, hanson@MIT-OZ Who will be here next week and who is going away for the "vacation"? ---Andy P.s. I'll be here from Monday on. ------- 18-Mar-83 10:13:56-EST,313;000000000000 Return-path: Mail-From: JMILLER created at 18-Mar-83 10:12:33 Date: 18 Mar 1983 1012-EST From: JMILLER@MIT-OZ Subject: Re: Who will be here next week? To: AAB@MIT-OZ cc: scheme-urops@MIT-OZ, hanson@MIT-OZ In-Reply-To: Your message of 17-Mar-83 2058-EST I'll be here. --Jim ------- 18-Mar-83 12:49:32-EST,351;000000000000 Return-path: Mail-From: JDM created at 18-Mar-83 12:48:16 Date: 18 Mar 1983 1248-EST From: JDM@MIT-OZ Subject: Re: Who will be here next week? To: AAB@MIT-OZ cc: scheme-urops@MIT-OZ, hanson@MIT-OZ In-Reply-To: Your message of 17-Mar-83 2058-EST not me. I'll be back sunday evening. Have a nice vacation. -josh ------- 18-Mar-83 16:08:48-EST,1029;000000000000 Return-path: Mail-From: AC created at 18-Mar-83 16:06:53 Date: 18 Mar 1983 1606-EST From: AC@MIT-OZ Subject: window-package To: aab@MIT-OZ cc: scheme-urops@MIT-OZ I am a few days late but here it is! now contains window-package.scm. Also there is a new updated version of the doc. in window-package.doc that gives a few explanitory and/or apologetic remarks about the package so far. There seem to be a lot of junk in that I'm not sure needs to be there (I am refering to the window stuff that isn't window-package.scm or doc.). If no one is useing the obsolete code, then I suppose we should free up some disk space. I'd do it myself but I don't know if anyone is using the code. I really didn't get a good chance to test my code, so PLEASE send bugs to me as soon as you find the little buggers. I'll be gone till tuesday, but I will try to work a couple of 9-5 days next week. Have a great break. --Anthony ------- 18-Mar-83 22:29:20-EST,304;000000000000 Return-path: Mail-From: HANSON created at 18-Mar-83 22:27:49 Date: Fri, 18 Mar 1983 22:27 EST From: HANSON@MIT-OZ To: AAB@MIT-OZ Cc: JMILLER@MIT-OZ, scheme-urops@MIT-OZ Subject: Who will be here next week? In-reply-to: Msg of 18 Mar 1983 10:12-EST from JMILLER I will. 24-Mar-83 00:36:00-EST,1977;000000000000 Return-path: Mail-From: AAB created at 24-Mar-83 00:28:20 Date: 24 Mar 1983 0028-EST From: Andrew A. Berlin Subject: Window package To: scheme-coders@MIT-OZ The window package documentation looks pretty good, but I haven't tried the actual code yet. I have a few questions/suggestions: 1) Change the name of the PRINTING-WINDOW package to be WINDOW-OBJECT 2) Change the name of the WINDOW-OBJECT package to be PRIMITIVE-WINDOW-OBJECT and define it in the PRINTING-WINDOW package (see 1). 3) Why do we need cursor movement and examining features in both the "printing-window" and "window-object" packages? I think I know the answer to this question, but I want to see what your reason was. (4) Are windows MUTATED by a PRINT or a SET!-CURSOR, or do you only return the updated versions? I think they should be mutated. (5) When you truncate a line (or a window), you should return some kind of status indication which says that printing resulted in line truncation, window truncation, window wrap, or successfull printing. - i.e. all printing and cursor positioning functions should mutate the window-object and then return a status indicator. (6) GET THESE ENVIRONMENTS OUT OF THE USER-INITIAL-ENVIRONMENT!!! They should be in the scheme-system-package, or somewhere else harmless. There is no need for every user to have his own copy of the primitives that make windows. Furthermore, THERE IS NO REASON A USER SHOULD NOT BE ABLE TO DEFINE A VARIABLE NAMED WINDOW-OBJECT, especially since you give him one when he calls MAKE. If you need to keep some variables for each user (although you shouldn't) you can put them in the user-initial-environment in a variable called *WINDOW-PACKAGE-MEMORY* or something like that. i.e. DON'T RESERVE VARIABLE NAMES ---Andy ------- 24-Mar-83 01:07:02-EST,804;000000000000 Return-path: Mail-From: AAB created at 24-Mar-83 01:03:45 Date: 24 Mar 1983 0103-EST From: Andrew A. Berlin Subject: window package To: scheme-coders@MIT-OZ It was my impression that the low level window object would have an OUT-OF-BOUNDS procedure associated with it which would be called whenever an attempt was made to print something out of the bounds of the window. This procedure would handle truncation, etc. and then tell the window object what to do. Also, the higher level window object (the "printing-window") should have a way to continue printing after a truncation. i.e. I pass it this long object to have one line printed, and then I decide I want more of the object printed (maybe I have erased the window or a line). ---Andy ------- 24-Mar-83 20:20:34-EST,478;000000000000 Return-path: Mail-From: AAB created at 24-Mar-83 20:17:58 Date: 24 Mar 1983 2017-EST From: Andrew A. Berlin Subject: The primitive FRAME-BINDINGS To: scheme-coders@MIT-OZ I have written a version of FRAME-BINDINGS for the 68000 which probably violates every abstraction that exists. Could someone please take a look at it and tell me how it is supposed to be done? It can be found in src:frames.scm ---Andy ------- 25-Mar-83 21:15:39-EST,496;000000000000 Return-path: Mail-From: JINX created at 25-Mar-83 20:56:10 Date: 25 Mar 1983 2056-EST From: Bill Rozas Subject: In-package and bug in Eval. To: scheme-coders@MIT-OZ cc: JINX@MIT-OZ The new version of Scheme on OZ has IN-PACKAGE and the bug in EVAL has been corrected. (EVAL '<...> FOO-PACKAGE) is OBSOLETE!!! I will install it in EE whenever we are reasonably sure that there are no bugs. Note: PHOTO defaults to connected directory. ------- 28-Mar-83 10:11:51-EST,577;000000000000 Return-path: Mail-From: AAB created at 28-Mar-83 10:07:39 Date: 28 Mar 1983 1007-EST From: Andrew A. Berlin Subject: Chipmunk in 752 To: scheme-coders@MIT-OZ cc: lamping@MIT-OZ Jinx left a note on the Chipmunk in 752 stating that parts of the disk got clobbered due to a hardware failure when new memory was added. Are there any objections to restoring the disk to the state of 3/25/83 (just after the scheme system was brought over - scm3.8) ?? If there are no objections this will be done tomorrow (3/29/83). ---Andy ------- 28-Mar-83 10:17:07-EST,702;000000000000 Return-path: Mail-From: HANSON created at 28-Mar-83 10:14:48 Date: Mon, 28 Mar 1983 10:14 EST From: HANSON@MIT-OZ To: Andrew A. Berlin Cc: lamping@MIT-OZ, scheme-coders@MIT-OZ Subject: Chipmunk in 752 In-reply-to: Msg of 28 Mar 1983 10:07-EST from Andrew A. Berlin No objections here. But you should make sure that the state isn't already fixed. GJS spent some time fixing the machine yesterday. Also, the Scheme system on that machine is horribly obsolete. By tomorrow it will be unpatchable due to changes in the compiled code representation. You might want to just flush it and load a new one. I will do the work if you like. Chris 28-Mar-83 20:49:07-EST,693;000000000000 Return-path: Mail-From: GJS created at 28-Mar-83 20:44:04 Date: Mon, 28 Mar 1983 20:44 EST From: GJS@MIT-OZ To: Andrew A. Berlin Cc: scheme-coders@MIT-OZ Subject: Chipmunk in 752 In-reply-to: Msg of 28 Mar 1983 10:07-EST from Andrew A. Berlin That disk is in good shape now. The only files which were clobbered were on SYSVOL:. I patched the hardware, and Jinx restored the system to a good state. There has probably been good work done on that machine since. I don't think that there is any need for a general disk restore since no important files should have been stored on SYSVOL anyway, all of the individual directories are OK. 31-Mar-83 17:09:33-EST,447;000000000000 Return-path: Mail-From: AAB created at 31-Mar-83 17:00:55 Date: 31 Mar 1983 1700-EST From: Andrew A. Berlin Subject: Formatting package To: ac@MIT-OZ, jdm@MIT-OZ cc: scheme-urops@MIT-OZ We should meet soon to talk about the formatting package. Any time before Tuesday is bad. If possible, Josh should be there also (but he is probably as busy as I am). How about Tuesday morning? ---Andy ------- 11-Apr-83 14:48:27-EST,1030;000000000000 Return-path: Mail-From: JDM created at 11-Apr-83 14:46:07 Date: 11 Apr 1983 1446-EST From: JDM@MIT-OZ Subject: Structure editor To: scheme-coders@MIT-OZ I have been very busy the past month with VI-A, and a 6.111 lab that I have not had much time to work on my project, however, the interviews are over, and the lab is turned in, so I would like to get as much work done on this project as possible before the end-of-term crunch occupies my time. Is there sometime I could meet with you to discuss where I should go next? As I recall, there were some minor patches you wanted me to make to my redisplay algorithm, and its database. There were also some more functions my editor was supposed to perform that it doesn't already. Tuesday and Thursday mornings are allright for me. Monday, Tuesday, and Wednsday afternoons are pretty good too. Primarily I think I need to talk with Hanson, but I guess if everybody was there it would be better. Yours no longer in absence, -Josh ------- 17-Apr-83 01:42:19-EST,768;000000000000 Return-path: Mail-From: AAB created at 17-Apr-83 01:41:41 Date: 17 Apr 1983 0141-EST From: Andrew A. Berlin Subject: 68000 and arrow keys. To: jmiller@MIT-OZ cc: scheme-coders@MIT-OZ As per your suggestion, I have grown to know and love the arrow keys on my terminal. I think this might present a minor problem on the 68000. As near as I can tell, one of the arrow keys has the same key-code as control-b. This creates obvious problems for a user of scheme. 1) Can the keys on the 68000 be reassigned in a software table somewhere deep in the operating system? 2) Is there some way I can stop SCHEME from looking for a control-b (i.e. disable interrupts or something like that?) ---Andy ------- 17-Apr-83 02:12:36-EST,687;000000000000 Return-path: Mail-From: HANSON created at 17-Apr-83 02:08:32 Date: Sun, 17 Apr 1983 02:08 EST From: HANSON@MIT-OZ To: Andrew A. Berlin Cc: jmiller@MIT-OZ, scheme-coders@MIT-OZ Subject: 68000 and arrow keys. In-reply-to: Msg of 17 Apr 1983 01:41-EST from Andrew A. Berlin Date: Sunday, 17 April 1983 01:41-EST From: Andrew A. Berlin 1) Can the keys on the 68000 be reassigned in a software table somewhere deep in the operating system? Yes. 2) Is there some way I can stop SCHEME from looking for a control-b (i.e. disable interrupts or something like that?) You won't need to. 17-Apr-83 07:51:53-EST,494;000000000000 Return-path: Mail-From: JMILLER created at 17-Apr-83 07:49:22 Date: 17 Apr 1983 0749-EST From: JMILLER@MIT-OZ Subject: Re: 68000 and arrow keys. To: AAB@MIT-OZ cc: scheme-coders@MIT-OZ In-Reply-To: Your message of 17-Apr-83 0141-EST You can disable all interrupts. That isn't what you want, of course. Chris will have to field this one, I think. We might just reassign the ^B interrupt to some other key, but I don't know how to do that yet. --Jim ------- 19-Apr-83 09:14:09-EST,607;000000000000 Return-path: Mail-From: AC created at 19-Apr-83 09:04:51 Date: 19 Apr 1983 0904-EST From: Anthony J. Courtemanche Subject: 68000 pretty-printer To: hanson@MIT-OZ cc: scheme-urops@MIT-OZ I have been able to get the pretty-printer to work correctly on the 68000. It runs as slow as mollasses but it does work. On your machine the pretty-printer lives in "TEST:PP.3". Once loaded into scheme, (pp ) pretty-prints the . I hope we can get together so that something can be done to speed things up. Anthony ------- 19-Apr-83 11:04:46-EST,788;000000000000 Return-path: Mail-From: AAB created at 19-Apr-83 11:04:10 Date: 19 Apr 1983 1104-EST From: Andrew A. Berlin Subject: CURSOR POSITIONING on the 68000 To: scheme-coders@MIT-OZ I have written a cursorpos for the 68000 scheme. It is a terrible Kludge. It does cursor positioning by homing up the cursor and then sending move-forward characters and move-down characters to get to the right position. The appropriate pascal system call will have to be added to scheme. Until then, this is better than nothing. CLEAR-TO-END-OF-LINE , CLEAR-TO-END-OF-SCREEN, and CLEAR-SCREEN have also been written. All the above can be found in src:cursorpos.scm. There is also a version on GJS's machine in AAB:CURSOR.9. ---Andy ------- 21-Apr-83 19:37:35-EST,379;000000000000 Return-path: Mail-From: HANSON created at 21-Apr-83 19:24:36 Date: Thu, 21 Apr 1983 19:24 EST From: HANSON@MIT-OZ To: Andrew A. Berlin Cc: scheme-coders@MIT-OZ Subject: CURSOR POSITIONING on the 68000 In-reply-to: Msg of 19 Apr 1983 11:04-EST from Andrew A. Berlin I will try to implement the "right" CURSORPOS for you soon. 28-Apr-83 01:47:07-EDT,282;000000000000 Return-path: Mail-From: AAB created at 28-Apr-83 01:46:48 Date: 28 Apr 1983 0146-EDT From: Andrew A. Berlin Subject: Chipmunk in 752 To: scheme-coders@MIT-OZ Does anyone have any files they care about on the Chipmunk in 752? ---Andy ------- 28-Apr-83 10:34:35-EDT,578;000000000000 Return-path: Mail-From: JINX created at 28-Apr-83 10:31:42 Date: 28 Apr 1983 1031-EDT From: Bill Rozas Subject: Re: Chipmunk in 752 To: AAB@MIT-OZ cc: scheme-coders@MIT-OZ, JINX@MIT-OZ In-Reply-To: Your message of 28-Apr-83 0146-EDT Return-path: Mail-From: AAB created at 28-Apr-83 01:46:48 Date: 28 Apr 1983 0146-EDT From: Andrew A. Berlin Subject: Chipmunk in 752 To: scheme-coders@MIT-OZ Does anyone have any files they care about on the Chipmunk in 752? ---Andy ------- Not me Jinx ------- 3-May-83 21:41:58-EDT,448;000000000000 Return-path: Mail-From: AAB created at 3-May-83 21:38:44 Date: 3 May 1983 2138-EDT From: Andrew A. Berlin Subject: Chipmunks To: scheme-coders@MIT-OZ The Chipmunk in 749 wouldn't boot. I assumed that the problem was that when the disk drives were switched, the boot diskette was not switched also. I switched the boot diskettes between 749 and 752 and things seem to be working now. ---Andy ------- 6-May-83 02:27:53-EDT,441;000000000000 Return-path: Mail-From: HANSON created at 6-May-83 02:27:29 Date: Fri, 6 May 1983 02:27 EDT From: HANSON@MIT-OZ To: AAB@MIT-OZ Cc: Scheme-Coders@MIT-OZ Subject: Cursor Positioning In the next release (Microcode 1.16, System 3.26): (MOVE-CURSOR x y) Where 0<=X<80, 0<=Y<24. This is already implemented and tested. I will release it in a day or two, as soon as Jim and I get this compiler bug licked. 17-May-83 21:39:47-EDT,1408;000000000000 Return-path: Mail-From: AAB created at 17-May-83 21:38:59 Date: 17 May 1983 2138-EDT From: Andrew A. Berlin Subject: Window package To: scheme-coders@MIT-OZ 1) A window package is needed for the 68000. 2) The existing window package does not return condition codes so that I can know what it did (i.e. truncated my line, etc.) The window package I need will either have to tell me it truncated, or, as discussed earlier, provide a formatting package to format the output for me before I send it to the window package. The formatting package would have to tell me it truncated, etc. 3) The window package has to be efficient enough to be used as the default scheme printer (I want the ability to divide the screen into debugging and processing areas, etc.) I have been repeatedly asking for these things since January. We had a meeting and decided a formatting package should be created, but I don't think anyone decided to do it. If I have to do it myself, fine, but I think it should be done with the pretty-printer, which implies AC should take care of it. If you want me to write my own formatting package, please let me know, but realize that I would not be able to use a pretty-printer which lacks the ability to return the output to me in a string, rather than printing it on the terminal. ---Andy ------- 17-May-83 21:44:45-EDT,411;000000000000 Return-path: Mail-From: AAB created at 17-May-83 21:42:21 Date: 17 May 1983 2142-EDT From: Andrew A. Berlin Subject: This week To: scheme-coders@MIT-OZ I'm going home for a week. Be back next Tuesday. When I get back, I plan to implement the debugger on the 68000. If someone (Jinx?) beats me to it, PLEASE TELL ME YOU DID SO. Have a nice week. ---Andy -------