From: ········@acm.org
Subject: Re: is lisp a general purpose lang?
Date: 
Message-ID: <a8ak1a$qtbi7$2@ID-125932.news.dfncis.de>
I'm bouncing this back over to comp.lang.lisp, as it's probably more of
"general interest" than of my interest.

On Mon, 01 Apr 2002 20:30:49 GMT, the world broke into rejoicing as
"cr88192 sydney" <·······@hotmail.com>  said:
> >A really interesting project to take on might be to look at OpenMCL,
> >and consider writing an IA-32 code generator for it that might allow
> >using it on IA-32 platforms.

> from what I have seen of things I think with cl one might try to build
> the underlying os from the lisp standpoint than building lisp from the
> os standpoint, I may be wrong...

Counterargument:

Getting an OS working involves a whole lot of fiddling around figuring
out how to interface with:
  a) Disk drives;
  b) Graphics cards;
  c) Keyboards;
  d) Motherboards, CPUs, memory buses

Keeping up with the regular "churn" of hardware changes means you'll be
liable to need to modify details on an annual basis, and you'll have to
very tightly specify what hardware must be used.

After all, if you wrote a nifty display manager for an nVidia RIVA last
year, you'd have found by now that the model you supported isn't
commercially available anymore.

If your goal is to continually struggle with the continual hardware
changes, then that's the nature of your project.  OS makers have been
known to "punt" and basically say "Nope; we don't support hardware other
than this tiny limited set."

For instance, you need not bother trying to use Plan 9 on a system with
an Adaptec SCSI controller; they don't support that at all.  And it
won't work with nVidia video hardware.

You'll be left with that very sort of challenge, of, on the one hand,
having to pick and choose some tiny set of compatible hardware, and, on
the other, regularly rewriting parts of the system to ensure that
there's _some_ current hardware on which your OS can run.

The alternative: Use Linux or FreeBSD as the OS kernel, and XFree86 as
the graphics "kernel."  You can thus avoid writing much if any kernel
code, and can run on the regularly-extended set of hardware that they
support.

The question is then of how deeply to start trying to have the system
"be Lisp."  

The "rather deep" choice would involve replacing Unix init with a Lisp
program that basically populates a system that from there on down looks
like Lisp, perhaps with an XFree86 process alongside to provide
graphical services.

> either case either a cl or scheme os would probably be a starting point for 
> making a better os...
> also as one can probably guess I work in the create/trash/rewrite process 
> (often reusing any good code...).
> 
> are there similar projects to mine I can look at?

Certainly there are.  See the URL below for links to what largely amount
to failed projects.
--
(reverse (concatenate 'string ········@" "enworbbc"))
http://www3.sympatico.ca/cbbrowne/lisposes.html
We are Pentium of Borg.  Division is futile. You will be approximated.
(seen in someone's .signature)
From: cr88192
Subject: Re: is lisp a general purpose lang?
Date: 
Message-ID: <uaig821iht538c@corp.supernews.com>
········@acm.org wrote:

> I'm bouncing this back over to comp.lang.lisp, as it's probably more of
> "general interest" than of my interest.
> 
> On Mon, 01 Apr 2002 20:30:49 GMT, the world broke into rejoicing as
> "cr88192 sydney" <·······@hotmail.com>  said:
>> >A really interesting project to take on might be to look at OpenMCL,
>> >and consider writing an IA-32 code generator for it that might allow
>> >using it on IA-32 platforms.
> 
>> from what I have seen of things I think with cl one might try to build
>> the underlying os from the lisp standpoint than building lisp from the
>> os standpoint, I may be wrong...
> 
> Counterargument:
> 
> Getting an OS working involves a whole lot of fiddling around figuring
> out how to interface with:
>   a) Disk drives;
>   b) Graphics cards;
>   c) Keyboards;
>   d) Motherboards, CPUs, memory buses
> 
that is the one thing I "can" do... that is what I have done so far...

> Keeping up with the regular "churn" of hardware changes means you'll be
> liable to need to modify details on an annual basis, and you'll have to
> very tightly specify what hardware must be used.
> 
> After all, if you wrote a nifty display manager for an nVidia RIVA last
> year, you'd have found by now that the model you supported isn't
> commercially available anymore.
> 
> If your goal is to continually struggle with the continual hardware
> changes, then that's the nature of your project.  OS makers have been
> known to "punt" and basically say "Nope; we don't support hardware other
> than this tiny limited set."
> 
> For instance, you need not bother trying to use Plan 9 on a system with
> an Adaptec SCSI controller; they don't support that at all.  And it
> won't work with nVidia video hardware.
> 
> You'll be left with that very sort of challenge, of, on the one hand,
> having to pick and choose some tiny set of compatible hardware, and, on
> the other, regularly rewriting parts of the system to ensure that
> there's _some_ current hardware on which your OS can run.
> 
the general teqnique: use only hardware that hasn't changed much over 
time... just about every modern video card is vga compatible... so mode-x 
is an available option... the at style keyboard interface...

> The alternative: Use Linux or FreeBSD as the OS kernel, and XFree86 as
> the graphics "kernel."  You can thus avoid writing much if any kernel
> code, and can run on the regularly-extended set of hardware that they
> support.
> 
but that is the part I know allready...

> The question is then of how deeply to start trying to have the system
> "be Lisp."
> 
I am trying to be "deep"...

> The "rather deep" choice would involve replacing Unix init with a Lisp
> program that basically populates a system that from there on down looks
> like Lisp, perhaps with an XFree86 process alongside to provide
> graphical services.
> 
once for fiddling: I used a linux kernel with a few required libs to get a 
java vm up and running (more specifically: kaffe).

>> either case either a cl or scheme os would probably be a starting point
>> for making a better os...
>> also as one can probably guess I work in the create/trash/rewrite process
>> (often reusing any good code...).
>> 
>> are there similar projects to mine I can look at?
> 
> Certainly there are.  See the URL below for links to what largely amount
> to failed projects.

ok, I went off and wrote the parser... so now I am thinking of what to do 
with the s-expressions...
assuming I use a computation stack I would have to:
evaluate arguments from left to right generating a list (backwards) with 
the computed results; evaluate the function; push the list onto the 
evaluation stack; and call the function.

I will probably have to look at other implementations (as I don't know 
about this...).