Is there any OpenSource OS or Arcitecture that uses Lisp, Scheme, or ScSh to create a Lisp Machine.
One possilbe Lispm is vlee.sourceforge.net
and there was also talk about an Explorer II emulator.
How hard would it be to turn a Linux box into a Scheme/Lisp machine.
Are there any OS's that are written in Lisp/Scheme?
Could Linux be ported from C into Lisp/Scheme, and would this constitute a Lispm.
Please help with a Lisp/Scheme based OS.
If one were freely available, and more people started using and liking it, it could cause a rebirth of the Lisp Machine--just like Linux caused the rebirth of UNIX.
The only important thing is to not tie the Lispm to a specific chip, or Machine like Symbolics, LMI, Xerox, TI, and the Scheme Chip did but to make it able to run on all hardware--so that more people could try it out.
Porting Linux into a Lisp/Scheme OS would be a great start.
Is there any OpenSource OS or Arcitecture that uses Lisp, Scheme, or ScSh to create a Lisp Machine.
How hard would it be to turn a Linux box into a Scheme/Lisp machine.
If one were freely available, and more people started using and liking it, it could cause a rebirth of the Lisp Machine--just like Linux caused the rebirth of UNIX.
It sounds like you are just playing around with ideas, so here are some toys:
1) Don't bother trying to make a new kernel. Use an existing one. Otherwise, at _best_, you'll spend a decade fretting over device drivers and the tcp/ip stack. Anyway, unix kernels are pretty good -- even as lispm kernels. Unless your goal is OS research -- just "take" rather than "make" that component.
2) Don't bother trying to make a "pure lisp" system. Otherwise, at _best_, you'll spend half a decade fretting about replacing X11 and writing a web browser.
3) I think one lispm virtue that could stand to be reborn is the extreme hackability, and compactness of code. E.g., suppose you're machine is running a POP3 service and you want to add some weird feature like, say, server-side autoclassification of incoming messages into folders. You should be able to fire up an emacs buffer and start tweaking the server code -- maybe even connecting to a listener on the running server. The "seemlessness" of that kind of hackability, compared to, say, grabbing the source RPM, reading the config instructions, etc.... would be on of my goals if I were going to work on what you're suggesting.
4) An interesting starting place -- especially appropriate if you're interested in SCSH: work on replacing the boot scripts of your system; then on replacing the inetd services. Can you get to a state where the first invocation of the (traditional) shell is after you log in? From my personal experience, if you're a pretty good scheme/lisp hacker, you can get a bootable system (missing a bunch of services, of course) in a couple of weeks.
5) Another interesting starting place might be to work on replacing the shell for interactive use.
6) Another lispm virtue (from what little I saw, anyway) was Emacs-based gui interaction. Read up on Plan9's gui, and on emacs, and then edwin -- then do something clever.
7) Whence from there? You could dig in to making server functionality really secure/fast -- you could build out towards making desktop apps really slick -- lots of options.
l...@emf.emf.net (Tom Lord) writes: > Is there any OpenSource OS or Arcitecture that uses Lisp, > Scheme, or ScSh to create a Lisp Machine.
> How hard would it be to turn a Linux box into a Scheme/Lisp machine.
> If one were freely available, and more people started using > and liking it, it could cause a rebirth of the Lisp > Machine--just like Linux caused the rebirth of UNIX.
> It sounds like you are just playing around with ideas, so here are > some toys:
> 1) Don't bother trying to make a new kernel. Use an existing one. > Otherwise, at _best_, you'll spend a decade fretting over device > drivers and the tcp/ip stack. Anyway, unix kernels are pretty good > -- even as lispm kernels. Unless your goal is OS research -- just > "take" rather than "make" that component.
Along those lines, you might want to check out the Flux OsKit.
The OSKit is a framework and a set of 34 component libraries oriented to operating systems, together with extensive documentation. By providing in a modular way not only most of the infrastructure "grunge" needed by an OS, but also many higher-level components, the OSKit's goal is to lower the barrier to entry to OS R&D and to lower its costs. The OSKit makes it vastly easier to create a new OS, port an existing OS to the x86 (or in the future, to other architectures supported by the OSkit), or enhance an OS to support a wider range of devices, file system formats, executable formats, or network services. The OSKit also works well for constructing OS-related programs, such as boot loaders or OS-level servers atop a microkernel.
For language researchers and enthusiasts, the OSKit lets them concentrate on the real issues raised by using advanced languages inside operating systems, such as Java, Lisp, Scheme, or ML--- instead of spending six months or years groveling inside ugly code and hardware. With the recent addition of extensive multithreading and sophisticated scheduling support, the OSKit also provides a nmodular platform for embedded applications, as well as a novel component-based approach to constructing entire operating systems.
The intellectual level needed for system design is in general grossly underestimated. I am convinced more than ever that this type of work is very difficult and that every effort to do it with other than the best people is doomed to either failure or moderate success at enormous expense. --Edsger Dijkstra
>>>>> "Tom" == Tom Lord <l...@emf.emf.net> writes:
Tom> 1) Don't bother trying to make a new kernel. Use an existing Tom> one. Otherwise, at _best_, you'll spend a decade fretting Tom> over device drivers and the tcp/ip stack.
The TCP/IP stack is a one time, simple driver. The problem with other device drivers is that they become outdated so quickly. I buy a new digital camera and it doesn't have any support under Linux, the HW manufacturers won't provide specs, and Linux+C is a terrible platform for reverse engineering and experimental driver development. It would be much better to have a nice Lisp/Scheme repl where you can interactively query the HW and write newer drivers faster. It would be worth the initial time investment.
Tom> 2) Don't bother trying to make a "pure lisp" system. Tom> Otherwise, at _best_, you'll spend half a decade fretting Tom> about replacing X11 and writing a web browser.
X11 is a monster, better not to replace. All functional web browsers are likewise. GUI's are not difficult, and easy to improve on.
Tom> 4) An interesting starting place -- especially appropriate if Tom> you're interested in SCSH: work on replacing the boot Tom> scripts of your system; then on replacing the inetd Tom> services. Can you get to a state where the first invocation Tom> of the (traditional) shell is after you log in? From my Tom> personal experience, if you're a pretty good scheme/lisp Tom> hacker, you can get a bootable system (missing a bunch of Tom> services, of course) in a couple of weeks.
Using a C-compiled Lisp/Scheme? If you want to up the ante a few more years, drop C and write a native compiler. Are there any free Lisp assemblers out there? I have a Scheme assembler if there's nothing better, but it's x86-only right now and the ELF linker is primitive and doesn't handle shared libraries.
> Is there any OpenSource OS or Arcitecture that > uses Lisp, Scheme, or ScSh to create a Lisp Machine.
There's a sizable wasteland of fairly much failed projects; see the URL below.
There are projects that try to create their own kernel; they tend to run afoul of the problem of being tied to a /precise/ set of hardware. They support one CPU, one SCSI card, one graphics card, and as soon as the winds change, and 3dfx disappears from the market, the software becomes a curiosity that hardly anyone could have run in the first place.
The system that gets cited a lot is FluxOS, from U of Utah; they were able to quickly embed a port of MzScheme atop the OS, which is interesting. On the other hand, they never got around to letting it communicate with either networks or persistent filesystems, which makes it somewhat /less/ than a curiosity.
People in the Lisp world often hate X, and the way Linux and BSDs use C for their native "APIs," but it would take a LOT of effort to put enough effort in to equal the efforts going into maintain compatibility of them with the latest and greatest hardware on numerous architectures. -- output = reverse("moc.enworbbc@" "enworbbc") http://www3.sympatico.ca/cbbrowne/lisposes.html "We use Linux for all our mission-critical applications. Having the source code means that we are not held hostage by anyone's support department." -- Russell Nelson, President of Crynwr Software
> Using a C-compiled Lisp/Scheme? If you want to up the ante a few more > years, drop C and write a native compiler. Are there any free Lisp > assemblers out there? I have a Scheme assembler if there's nothing > better, but it's x86-only right now and the ELF linker is primitive and > doesn't handle shared libraries.
I jsut started playing with the Chicken scheme-to-C compiler and it looks very promising. It's pretty well documented and offers a good stepping stone for people (like me) that are experienced C programmers but can't figure out how to do everything in Lisp/Scheme yet. Combine that with an online R5RS and scheming gets pretty fun and far less frustrating (so far, but I haven't done that much substantial work with it yet). It's quite well documented as well (ie. there's an actual manual that's usable).
If anybody is interested in using it and is running Gentoo Linux, I wrote an ebuild that you can use to install and test it out.
Symbolics_XL1201_Sebek_Budo_Ka...@hotmail.com (Franz Kafka) writes: > Is there any OpenSource OS or Arcitecture that > uses Lisp, Scheme, or ScSh to create a Lisp Machine.
> How hard would it be to turn a Linux box into a Scheme/Lisp machine.
Depends on how you define "Scheme/Lisp machine" (and "Linux box", of course). Lisp Machines tended to have specialized processors that your "Linux box" is not likely to have, so you'd have to replace it. If your Linux box is an Alpha, you can deinstall Linux und use Genera. You can also use any computer running Linux to run Lisp on top of it, just not as as OS.
> Are there any OS's that are written in Lisp/Scheme?
Not any that you can get at Sourceforge or your local computer store.
> Could Linux be ported from C into Lisp/Scheme, and would this > constitute a Lispm.
Linux is nothing but a huge collection of C, C++ and Assembly code. If you rewrote it in Lisp, it wouldn't be Linux any more. And probably not a good LispOS either, just translating a C program will result in poor Lisp style.
> Please help with a Lisp/Scheme based OS.
> If one were freely available, and more people started using and liking > it, it could cause a rebirth of the Lisp Machine
Well, so what? Why do you think having a Lisp Machine is important? I for one would be more happy if we had a set of really good development tools and seamless integration with OSes that other people actually use.
>--just like Linux caused the rebirth of UNIX.
But Unix wasn't dead. Linux probably caused at least as many problems for the existing Unixes than it solved, maybe a lot more.
Building a Lisp OS that would be all like Genera today probaly would not be a too bright idea, anyway - not only because you would not be able to run lots of good existing software on it without good reason (unless you would implement a POSIX layer, which is probably not fun), I wouldn't want to connect a machine running a single-user OS focusing on openness and easy tweakability to todays internet.
IMHO, Operating Systems have become boring in the last years. There are several "good enough" OSes you can build upon. My advice for someone trying to build a Lisp OS would be to start with the user-visible parts, and let other people deal with boot loaders and device drivers first.
(Not that I would try to stop anyone from building a Lisp OS, it surely would be cool to have one. I just think there are other, more interesting things to to.)
Alex Shinn <f...@synthcode.com> writes: > device drivers is that they become outdated so quickly. I buy a new > digital camera and it doesn't have any support under Linux, the HW > manufacturers won't provide specs, and Linux+C is a terrible platform > for reverse engineering and experimental driver development. It would > be much better to have a nice Lisp/Scheme repl where you can > interactively query the HW and write newer drivers faster. It would be > worth the initial time investment.
Although this is a reasonable position as stated, I get the impression that you think the advantage would be great enough to allow you to punt all the _other_ drivers you do already have in Linux/free-unix-of-your-choice. PCI bus and bridges, power management, ACPI, IDE and SCSI, USB, i2c, exciting long blacklists and ten years assorted workarounds for specific devices that don't actually follow specs, networking (ethernet, 802.11, etc), video cards. Not only do you have to write the drivers, you have to go through all the same contortions as the free unix people have done to get contacts at the company, sign NDAs, and the rest of that hassle. Without the critical mass of something Linux-developer-base-sized, it sounds like a lot of work. And as you observe, they become out of date so quickly.
Not having done much of this kind of work, but my suspicion is that if you want to interactively query the hardware, your first investment should be in a logic analyser, not a repl.
On Tue, 01 Apr 2003 11:36:33 +0900, Alex Shinn wrote: > It would be much better to have a nice Lisp/Scheme repl where you > can interactively query the HW and write newer drivers faster. > It would be worth the initial time investment.
You might be interested in Schemix (aka SILK = Scheme In the Linux Kernel). Have a look at:
Henrik Motakef <henrik.mota...@web.de> writes: > IMHO, Operating Systems have become boring in the last years. There > are several "good enough" OSes you can build upon.
> Is there any OpenSource OS or Arcitecture that > uses Lisp, Scheme, or ScSh to create a Lisp Machine.
> One possilbe Lispm is > vlee.sourceforge.net
> and there was also talk about an Explorer II emulator.
> How hard would it be to turn a Linux box into a Scheme/Lisp machine.
> Are there any OS's that are written in Lisp/Scheme?
> Could Linux be ported from C into Lisp/Scheme, and would this > constitute a Lispm.
> Please help with a Lisp/Scheme based OS.
There are already Lispm's around. Just take an IDE like Lispworks or ACL. They have editors (much like emacs), listeners (much like xterms), generic interfaces to file systems, a compiler, a loader (compile, compile-file and load). They run under xservers or Windows. You can write "shell scripts" to your hearts content. If you really want to write a lisp device driver, you can. You could start with with a IDe like these and gradually replace the underlying OS, web applications, device drivers with code written in Lisp. Just see Franz's site
Symbolics_XL1201_Sebek_Budo_Ka...@hotmail.com (Franz Kafka) writes: > The only important thing is to not tie the Lispm to a specific chip, > or Machine like Symbolics, LMI, Xerox, TI, and the Scheme Chip did > but to make it able to run on all hardware--so that more people > could try it out.
> Porting Linux into a Lisp/Scheme OS would be a great start.
Alex Shinn <f...@synthcode.com> wrote in message <news:x5wuif7xla.wl@strelka.synthcode.com>... > Using a C-compiled Lisp/Scheme? If you want to up the ante a few more > years, drop C and write a native compiler.
Symbolics_XL1201_Sebek_Budo_Ka...@hotmail.com (Franz Kafka) writes: > The only important thing is to not tie the Lispm to a specific chip, > or Machine like Symbolics, LMI, Xerox, TI, and the Scheme Chip did but > to make it able > to run on all hardware--so that more people could try it out.
I think it would be cool to implement a Symbolics type CPU in a FPGA...
> Well, so what? Why do you think having a Lisp Machine is important?
I used Genera 7.1 for about two years until my monitor cable broke, and I found it hard to get a replacement--plus it was getting slow by current standards.
What I liked about it was: 1.) It never crashed on me. Windows gave me the Blue Screen of Death, and Linux gave me coredumps--but my Lispm gave me a menu that allowed me to interactively fix any errors and continue. I never lost important data because the the OS locked up, or a page fault was encountered because some lazy programmer at Microsoft forgot to check the bounds of an array, or forgot to free some memory. 2.) Everything was written in Lisp, from the lowest device driver, to the file systems, and network protocols--not that I understood everything. But, I could look at a Lisp reference, or interactivally test each function to find out how it worked. 3.) Everything was intergrated. The Word Processor/Text Editor, E-Mailer, GUI-Toolkit, Web Browser. And, I could switch from one to the other without worrying about wasting system resources, or having too many apps opened at once. It was like the OS was a large Lisp Interperter--that seemed to have unlimited virtual memory, and a great garbage collector. 4.) you did not have to specify what datatypes a function expected. Each operator knew what datatypes it operated on and how to handle exceptions. This freed the programmer from having to worry about making sure data types matched and from having to write fifteen functions that did the same operation to different datatypes. 5.) The OS was Object Oriented. It was easy to extend a class to add new functionality to the system. 6.) Each user was on the same OS as a different instance of the class OS. This means that if one user screwed up the OS--it could be restored to the default class OS. And also prevented one users mistakes from affecting other users. 7.) A new instance of the OS could be loaded when the OS was running. These instances called worlds could be loaded in real time--plus a user could create a new version of the OS for his own use. 8.) Even the microcode could be written in Lisp. 9.) Security made sure that no code could be loaded from the net without the sysadmins concent. 10.) The system could be configured to be bootable from the net. So, sysadms could manage systems from far away.
> I wouldn't want to connect a machine running a single-user OS focusing > on openness and easy tweakability to todays internet.
The new system would have to have a layer of security to prevent people from the net from modifying the system. Linux is an open system too. But, most users would want a system that's easy to modify. It would make developing code on the system easier, and would also make adding new features to the system easier.
As for a single user system--Lisp does not require a system to be single user. With CLOS or Multithreading, or even Scheme-like continuations it should be very easy to write a multi-user Lispm.
When network protocols such as TCP/IP, Sockets, Chaosnet, or Ethernet are added to the Lispm security could be added as well to make sure that only the sysadm could change the system. And by providing a function in microcode--that could not be changed--to restore the system to some default. This one concession should make a Lispm safe on the Net.
It a GNU Lispm OS were developed--I'm sure people would use it. What kept people from Lisp based OSes in the past was the high prices and the speciallized hardware requirements.
But, If we write our own we could make it run on stock hardware (Intel,AMD,Motorola) everything Linux runs on.
ALSO:
We could make Linux the FEP (Front End Processor) and have the Lisp OS load on top of Linux.
Any OS could be the FEP. The FEP was used to debug a faulty Lisp OS hardware error.
The Lispm would need an Editor, a GUI Builder, an E-Mailer, Lisp Debugger, and other Lisp tools. Any OS could be the FEP even Windows but I would shy away from Windows.
The only key difference between a Lisp Compiler and a Lisp OS is support for a file system, a verious development tools.
I'm sure that someone could write Linux code to emulate one of the older Lispm environments--kind of like OpenGenera...& this would be a good start to creating a new Lispm.
> There are already Lispm's around. Just take an IDE like > Lispworks or ACL. They have editors (much like emacs), > listeners (much like xterms), generic interfaces to > file systems, a compiler, a loader (compile, compile-file and load).
That's true.
But, most Lisp Systems cost way too much for a hobbyist or typical computer user (> $1,000) or even (> $5,000) in most cases.
If companys would release GNU or freeware versions of there products--I think that the market for the corporate versions would increase. Because a freeware version would increase the number of base users. Some would learn to code in LISP and develop new apps. This would make more firms want to use Lisp with Java (which spread because SUN released a free version) and C/C++ which is popular because a free OS uses them.
Symbolics or MIT should release a version of OpenGenera that runs on Linux.
Franz did a good job but should release a GNU Version of Allegro CL
Gold Hill should release a GNU Version of Gold Works 3
and other LISP companys should follow suit.
Clisp is good.
However, LISP is not as popular as it could be--not because it is very hard to learn, but because there are no GNU Versions of Commerical Grade products. I think that once a GNU version is out there--the company that released it could make money on support, documentation, and delivery; like RedHat does.
Another thing is to release cheaper versions of Lisp Compilers that can create a Windows executable. Some programmers I know would love to switch to LISP but cannot because they cannot justify why thay should spend in the thousand dollar range--when they can get Visual Basic, and Visual C++ for way under a thousand and sometimes way under a hundred. (The managers told those programmers that they could buy a Lisp compiler if it conformed to the ANSI standard, and came with some GUI builder such as CLIM, or a VB type interface--they could not find such a system.)
If a company released such a version it would make LISP more popular, and if a old Lisp Machine company such as: TI, Symbolics, Xerox (which did, Melady, I think), LMI, or even MIT released a freeware version of their Lisp environment which ran either on Linux, or Windows, or better yet both it would rekindle the need, and want for LISP based OSes. (Users want OSes they can customize, and programmers would find an open source OS easier to extend when new features are desired.)
The ultimate would be a Lisp OS that ran as a Java applet, or better yet make a Lisp OS that is web based like Java so that people from verious computers can log on to one central server. The server should be protected so that only the client can make chages to itself--to eliminate any security problems.
>>>>> "Daniel" == Daniel Barlow <d...@telent.net> writes:
Daniel> Not having done much of this kind of work, but my suspicion Daniel> is that if you want to interactively query the hardware, Daniel> your first investment should be in a logic analyser, not a Daniel> repl.
Not just interactively query the hardware, interactively write the driver. So you could query the driver, write a driver function, test it, and make changes and redefine the driver functions as needed. It seems worth it to sacrifice support for older hardware if you could add support for newer hardware more easily.
Symbolics_XL1201_Sebek_Budo_Ka...@hotmail.com (Franz Kafka) writes: > Symbolics or MIT should release a version of OpenGenera that runs on > Linux. Franz [...] should release a GNU Version of Allegro CL [...] > The ultimate would be a Lisp OS that ran as a Java applet,
Way to obvious. Try something more subtle next year.
>>>>> On Tue, 01 Apr 2003 19:22:58 GMT, Anne & Lynn Wheeler ("Anne") writes:
Anne> slight drift regarding mit lisp machine & 801 circa 1979 ...
That story is pretty garbled. The early people on the Lisp Machine project were certainly aware of the 801 due to assorted connections with people at Yorktown, but they did not consider creating the Lisp Machine by using the IBM processor. (The Lisp Machine was invented more than 3 years before the time you're citing, there, by the way.)
Petter> Symbolics_XL1201_Sebek_Budo_Ka...@hotmail.com (Franz Kafka) writes: >> The only important thing is to not tie the Lispm to a specific chip, >> or Machine like Symbolics, LMI, Xerox, TI, and the Scheme Chip did but >> to make it able >> to run on all hardware--so that more people could try it out.
Petter> I think it would be cool to implement a Symbolics type CPU in a Petter> FPGA...
> That story is pretty garbled. The early people on the Lisp Machine > project were certainly aware of the 801 due to assorted connections > with people at Yorktown, but they did not consider creating the Lisp > Machine by using the IBM processor. (The Lisp Machine was invented > more than 3 years before the time you're citing, there, by the way.)
that was just a copy of email to me ... sent on the date indicated; it didn't actually give a date as to the request to Evans. i would have expected the actual date of the request to Evans would have been at least a couple years earlier given the 8100 reference. The first 801 presentation I attended was spring of '76 (... which would correspond to your reference).
Henrik Motakef <henrik.mota...@web.de> wrote: > > Symbolics or MIT should release a version of OpenGenera that runs on > > Linux. Franz [...] should release a GNU Version of Allegro CL [...] > > The ultimate would be a Lisp OS that ran as a Java applet,
> Way to obvious. Try something more subtle next year.
We need to be obvious because if people just hint at it. it might take too long to get done. Genera is over 10 years old. Nobody uses it anymore--not counting serious LISP hobbyists who use old Symbolics hardware. (But, the Lispm companys either dropped Lisp or filed for bankrupcy.)
A GNU version of a program like Genera will allow a new group of Lisp hackers to see why Lisp is such a good language.
Since, freeware was invented by a person at MIT with EMACS and X-WINDOWS, they could hopefully make a freeware version of a Lisp OS like Genera--I'm assuming that MIT still has Lisp hackers who would love to create a Lisp or Scheme based OS.
Look, they already build the LM-1 a Lisp Machine, and a CPU that executes Scheme code. I'm sure that some Lisp/Scheme hackers over at MIT, or in this newsgroup worked on such projects and would love to help create a Lisp OS that runs as a Linux/Windows application.
The Lisp would need to handle filesystems, calling devices, I/O, graphics, garbage collection in a standard way--but they could form a layer that calls the Linux/Windows kernal, so that the highlevel syntax would be machine independant and the low level details would be handles by the OS that the Lisp environment is running in.
We already have several applications that would run in such an environment: Maxima, CL-HTTP, CLIM, and EMACS. just some examples!!!!!
On Thu, 03 Apr 2003 02:01:42 +1000, Franz Kafka wrote: > A GNU version of a program like Genera will allow a new group of Lisp > hackers to see why Lisp is such a good language.
I clearly don't understand some subtle advantage of this Genera system. In what sense is it /different/ from emacs? Is it just the dialect of lisp involved that's at question?
> We already have several applications that would run in such an > environment: Maxima, CL-HTTP, CLIM, and EMACS. just some examples!!!!!
Emacs has numeric and symbolic math packages, at least one web browser. I don't know what CLIM is (a mailer? emacs has a couple of those), but there are examples of just about everything else.