🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac
Article #20265

Re: Possible LSC improvements

#20265
From: Oliver Steele
Date: Wed, 14 Oct 1987 03:01
69 lines
3732 bytes
singer@endor.UUCP (Richard Siegel) writes:
>My personal preference is not to use a cache; crashing doesn't worry me
>because I always save my source files before I run. What worries me is
>that a bad pointer could possibly corrupt the cache without crashing the
>machine, and cause garbage to be written out to disk when the cache is flushed.
>I don't know if that's a valid worry, but I prefer not to use the cache.

It is a valid worry, but only if the cache is unflushed when the rogue
program writes into it.  If LSC does a FlushVol before it runs a project,
and it sounds like it does from the grinding it makes on a floppy, then
the worst a rogue can do is fill the cache with random data which gets
written over again anyway.  Well, the worst it can do is mess up the
directory for the cache so that the caching code thinks it needs to be
flushed again and messes up your disk after all, but this is pretty hard
to do and a rogue can always misfire into the memory mapped i/o or
accidentally call the Sony driver anyway.

>The user can tell if the cache is turned on, and I suppose LightspeedC
>could detect whether it's turned on, but it's impossible to know *where*
>above BufPtr the cache is. Very often the cache isn't the only thing in 
>high memory.

TN81 tells how to turn it off, but it says that this is probably best
left under user control and this sounds like a good idea.

As far as LSC improvements, I would like to see:

o   Allow function declarations in prototype form, i.e.
	static void foo(int a, long *b)
	{
		...
	}

o   Allow a function declaration to server as a prototype, i.e.
	static void bar(long l){...}
	main{ bar(123); /* gets coerced */}

o   Make 'pascal' a modifier with its own flavor, instead of a storage
    modifier, so I can say
	static int pascal xyzzy();
    (this isn't very important, but it bothers my gestalt).

o   Allow the use of PC-relative addressing for globals within a
    code segment.  Sure it's non-reentrant, but writing fancy INITs
    or code that installs itself as a permanant patch is very painful
    right now.

o   Maybe give users a way to have smaller default windows on a large
    screen.  It's nice to be able to see more code, but it's also nice
    to be able to see more windows at once without having to resize
    them all first.

Was it Alan Kay or Larry Tessler who said the Mac is the first computer
worth criticizing?  Lightspeed C is the first C worth nitpicking.  My
non-nit:

oo  How about Lightspeed C++?  With MacApp, and a Browser written in C++,
    and an extensive class library, and... well, I'll settle for LSC++.
    Heck, I'll "settle" for LSC3.0, but I'll perform man-years of hard
    physical labor (this does translate into $$, but I'm not a real good
    physical laborer so it's not as much as it sounds) for LSC++.  Please?


------------------------------------------------------------------------------
Oliver Steele				  ...!{decvax,ihnp4}!mcnc!unc!steele
							steele%unc@mcnc.org

	"'As it were' means 'I think that I sound very erudite.'
	 'Per se' is Latin for 'as it were.'  As it were."
Technical Details
Message-ID: <1612@unc.cs.unc.edu>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!mcnc!unc!steele
References: <2071@sfsup.UUCP| <170026@acf3.NYU.EDU>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!rutgers!mcnc!unc!steele
From: steele@unc.cs.unc.edu (Oliver Steele)
Newsgroups: comp.sys.mac
Subject: Re: Possible LSC improvements
Message-ID: <1612@unc.cs.unc.edu>
Date: Tue, 13-Oct-87 23:01:06 EDT
Article-I.D.: unc.1612
Posted: Tue Oct 13 23:01:06 1987
Date-Received: Thu, 15-Oct-87 06:43:35 EDT
References: <2071@sfsup.UUCP| <170026@acf3.NYU.EDU>
Reply-To: steele@unc.UUCP (Oliver Steele)
Organization: University of North Carolina, Chapel Hill
Lines: 69