On Thu, Sep 11, 2003, Grant Miner wrote:
...
> Would anyone be interested in creating a free operating system based
> exclusively on programs written in scheme (low level stuff still in
> C/assembler of course), and that combines the best features of Plan 9,
> BeOS, Linux, and mac/windows? Would you like to have a potentially
> widley-used OS that showcases the power of functional languages? Would
> you like an OS where scheme is the preferred programming language?
...
Nice! I sympathize thoroughly with your wish to work in a Scheme-only
environment. Here are some requirements that I've come up with along
this same vein.
1. I suggest that this new platform be more rarified than the
traditional OS so that it has no ties to specific hardware.
2. The presentation layer should be thin, yet at the same time more
sophisticated and simpler and more consistent than the traditional
desktop windowing paradigm.
3. The system should be more network-centric than the desktop OS. It
should be able to distribute an application between the smallest
client and the largest server.
4. Because the bulk of humanity is Unwashed, the system should
interoperate easily with non-lisps. At the same time many of us have
seen FFI/COM/CORBA and acknowledge that these are not roads we wish to
travel again.
This may seem like a laughably tall order, but it already exists, or
nearly so.
Recent advances allow the Scheme programmer to create
platform-neutral, sophisticated, networked applications which depend
only on the webserver and perhaps a database. Thus Apache really is a
platform as per requirement 1) above.
Two recent advancements make the Scheme webapp system nearly complete.
First, Shriram and others demonstrated that continuations capture
state in HTTP transactions, and implemented this neatly for PLT
(though incompletely in my opinion: see
http://list.cs.brown.edu/pipermail/plt-scheme/2003-August/003293.html).
I am convinced that continuations and HTML allow a user experience
that is _more_ sophisticated and easier for users than the traditional
desktop windowing model. See requirements 2 and 3.
The other recent advancement is Oleg Kiselyov's Scheme XML
implementation, which plainly transcends the corresponding W3C specs.
It reminds us that XML is in fact a dysfunctional lisp. Scheme is the
best language for processing XML, and therefore the benchmark for
language interoperability for the web. Please refer to
http://ssax.sourceforge.net/ for more information. This fulfills
requirement 4.
Best of luck in your endeavor.
--Don
> Imagine having scheme as _the_ high-level programming language for an
> operating system. All libraries would be usable from scheme, instead of
> some you can use from Python and others you can use from Perl. Ideally,
> only software written in scheme/c would be included in the distribution,
> so that we have tight integration, its easy to pick up different
> projects, the system and libraries are kept small, and people are
> encouraged to use scheme. (Nobody prevents you from installing other
> programming tools and languages, of course. But we ensure that there
> are always bindings for the schemes.)
>
> I often hear the phrase "use the right tool for the job." Usually what
> that means is there is a excellent library usable from a certain
> programming language, and it's faster to learn the new language and
> library than port the library to your programming language. After using
> C++ and Java, Python, Perl and friends, I've concluded that these
> languages lack much of the power of scheme. 99% of the time, the right
> tool for the job would be lisp, if it were easy to use the others'
> libraries.
>
> If you like the sound of an experimental Linux distribution,
> incorporating the filing features of Plan 9 and BeOS (I think using
> Linux kernel would be good, for compatibility with a wide range of
> hardware, Reiser4, and other features.), based on PLT-Scheme and scsh,
> and easy to configure, reply to the thread, and we can get a mailing
> list/wiki going.
>
|