[A86] Re: What about LISP?


[Prev][Next][Index][Thread]

[A86] Re: What about LISP?







>From: David Reiss <davidr42@optonline.net>
>Reply-To: assembly-86@lists.ticalc.org
>To: assembly-86@lists.ticalc.org
>Subject: [A86] Re: What about LISP?
>Date: Tue, 18 Dec 2001 21:26:45 -0500
>
>
>On Tue, Dec 18, 2001 at 12:17:53AM +0000, David West wrote:
> > I've been thinking on and off lately about the descussions that took
> > place a couple of months ago regaurding a new z80 language compiler.
> > ...
> >
> > Ex:
> >
> > (define Put-Sprite (lambda (x y)
> >       (Z80-Asm '("LD A, X"
> >                  "XOR B"
> > 		 .... ))))
> >
> > It just might be the glue we've been looking for.
>
>You do know that's Scheme syntax, not LISP, right? ....

Well yeah sure.  I realize that I used SCHEMEish keywords in that example.  
But once again, the idea that I'm trying to bring up is independent of any 
particular LISP dialect.    I'm suggesting the creation of a LISP-like 
language that might server as some sort of high-level glue and maybe provide 
other usefull qualities.

>Personally, I think Scheme on a calculator would be interesting from an
>implementation point of view, but I really doubt that much practical
>good will come from it. Certainly, an interperter would be much too slow
>to write useful programs in. A compiler might be slightly more useful,
>but making it generate good code would be even harder than making the
>current C compilers generate good code. You'd also have to write a
>pretty big library in assembly to make certain operations fast
>(putsprite, for example). And then there's the necessary garbage
>collection, which would slow things down even more.
>
Well, all programs have "garbage collection" in some form or another.  That 
is, any intersting program contains dynamically allocated data, and as a 
result need to allocate and manage this data.  In languages that don't have 
garbage collection, this functionality is built into the program, in 
languages like LISP, it is usually built into the interpreter in some easily 
recognizable form.  The point of my argument is to say that formalized 
garbage collection isn't neccessarily a bad thing cause every intersting 
program does it either explicitly or implicitly anyway.  What do you think?

>The one big advantage of Scheme would be on-calculator development,
>because it's so easy to type and parse. But that would restrict you to
>an interpreted environment, which would probably be too slow for
>anything useful. Still, it's better than basic, and it might be fun to
>work on.
I agree with the first part.  As for the "and interpreted environment ... 
too slow for anything usefull".  Once again this statement somehow assumes 
that interpretation adds unmanagable overhead.  Every single program ever 
written is interpreted on some level.  C programs eventually get 
"interpreted" by the target processor.  Just because you build an 
interpreter on top of another interpreter doesn't mean you have to lose a 
lot (whatever "a lot" means) of computational capability.  In fact a 
higher-level interpreter stands to lose even less because of the extra 
computational power that each interpreted "unit" is able to perform as 
compared to the smallest computational unit of the lower-level interpreter.  
The argument I'm attempting to make here is that the amount of computation 
per unit time that takes place in an interpreted assembly program "can be" 
comprable to that of an interpreted LISP (or any other higher-level) program 
run on the same platform.
>
>--David
>
>


The main goal that I hope to accomplish with the above arguments is to 
persuade my fellow colleges that a LISP system could be made that doesn't 
require us to sacrafise the computational ability of the calcs.  At least I 
hope this is the case.  (I'm still trying to convence myself that this is 
possible).

later,

David E. West


_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com