From lars.lundback at gmail.com Sun May 4 12:48:21 2008 From: lars.lundback at gmail.com (=?ISO-8859-1?Q?Lars_Lundb=E4ck?=) Date: Sun, 4 May 2008 14:48:21 +0200 Subject: [movitz-devel] Towards a LispMachine and/or LispOS Message-ID: <7aa43f4f0805040548t28a4eda5geea6dda636b858df@mail.gmail.com> I have been following Movitz and its development since the first appearance on the Net, and as much as possible of discussions on LispOs'es since the days of the LispOS mailing list. The terms LispOS and LispMachines are often used loosely. I have personal experience, although limited, of the Xerox Interlisp D machine at the beginning of the 1990's and earlier of various Lisp implementations starting with Interlisp on the DEC VAX. And I have of course my own Common-Lispish standalone-system-project going since many years - is there a serious Lisp freak who does not? Movitz is a most admirable attempt to provide a Common Lisp implementation which does not depend on the resources of an underlying OS kernel. But these resources must be implemented sooner or later, and the extent of them would depend on the perceived goals. That is to say: What one should be able to do with this Lisp-based combination of hardware and software. Some fundamental issues when building a Lisp system are memory management in it?s various forms (garbage collection, heaps and stacks, virtual memory etc) and execution control (interrupts, hardware IO, multi processing and multicore processors etc) but also modularization and the sharing of Lisp functions and data across the total system. It seems to me that Common Lisp objects, ie the function and data types available, are not enough for building "on the metal". The compiler and runtime environment must be extended to cope with the fundamental issues, eg those mentioned above. And I cannot see how a Base Lisp system can be constructed without foreseeing how it is to be used. This seems to be a hen-and-egg problem. A Lisp is built around the notion of heaps and stacks, and at the bottom of executable machine code and Lisp/machine data. Can the compiler and runtime systems be designed without a supportive Lisp vocabularity that deal with Common Lisp Things, the fenomena that exist outside an established Common Lisp environment? To conclude, my experience is that addressing these fundamental OS issues inevitably leads to the design of the base Lisp system, be it Movitz or any other. So I am curious. How do you guys feel about this, assuming you have looked at it from a Lisp implementation viewpoint and perhaps using Movitz? Regards, Lars -------------- next part -------------- An HTML attachment was scrubbed... URL: From sabetts at gmail.com Sun May 4 20:42:53 2008 From: sabetts at gmail.com (Shawn Betts) Date: Sun, 4 May 2008 13:42:53 -0700 Subject: [movitz-devel] Towards a LispMachine and/or LispOS In-Reply-To: <7aa43f4f0805040548t28a4eda5geea6dda636b858df@mail.gmail.com> References: <7aa43f4f0805040548t28a4eda5geea6dda636b858df@mail.gmail.com> Message-ID: <62e3e0b30805041342n6df7e836o4781fcf9e4e6c4b9@mail.gmail.com> > To conclude, my experience is that addressing these fundamental OS issues > inevitably leads to the design of the base Lisp system, be it Movitz or any > other. So I am curious. How do you guys feel about this, assuming you have > looked at it from a Lisp implementation viewpoint and perhaps using Movitz? I think what you're trying to say is that the common lisp spec is great but incomplete because it doesn't specify any of the APIs for accessing hardware. Am I right? If so, you should check out the source code and you will see what sorts of datastructures and functions are used to manipulate the hardware. If you're curious about how movitz works, right now the best place to look is the source. Documentation is mostly nonexistant, although the movitz wiki does have some information: http://trac.common-lisp.net/movitz/wiki/git -Shawn From lars.lundback at gmail.com Mon May 5 00:38:16 2008 From: lars.lundback at gmail.com (Lars Lundback) Date: Sun, 4 May 2008 19:38:16 -0500 Subject: [movitz-devel] Towards a LispMachine and/or LispOS In-Reply-To: References: <7aa43f4f0805040548t28a4eda5geea6dda636b858df@mail.gmail.com> Message-ID: <7aa43f4f0805041738me17372bs206182e16ab95e63@mail.gmail.com> 2008/5/4 Andreas Davour : > > > Are you saying that how the system will be designed, as operating system architechture, will determine how the basic lisp objects are to be handled? Yes of course, but what's the question? > I admit that my introduction was longwinded and perhaps cryptic, depending on how you read it.. It was certainly not intended to be devious. My specific question was: "How do you guys feel about this, assuming you have looked at it from a Lisp implementation viewpoint and perhaps using Movitz?" > > Movitz is so far quite a bit from being a operating system, but it is an interesting toolkit to experiment with fundamental concepts of os design. I just wish I had time to dedicate to it. I had just planned to invest some time to really try to develop something for fileystem support in Movitz when reality intervened, and that was months ago! I hope I can get back to it, since it actually touches upon my day job. > > So, what do you want to do with Movitz? Nothing as of now. (I did hint that I have a hobby project that has been going for years.) Lars From lars.lundback at gmail.com Mon May 5 01:37:00 2008 From: lars.lundback at gmail.com (Lars Lundback) Date: Sun, 4 May 2008 20:37:00 -0500 Subject: [movitz-devel] Towards a LispMachine and/or LispOS In-Reply-To: <62e3e0b30805041342n6df7e836o4781fcf9e4e6c4b9@mail.gmail.com> References: <7aa43f4f0805040548t28a4eda5geea6dda636b858df@mail.gmail.com> <62e3e0b30805041342n6df7e836o4781fcf9e4e6c4b9@mail.gmail.com> Message-ID: <7aa43f4f0805041837i10521cb6o17607116e3c16f2d@mail.gmail.com> 2008/5/4 Shawn Betts : > > To conclude, my experience is that addressing these fundamental OS > issues > > inevitably leads to the design of the base Lisp system, be it Movitz or > any > > other. So I am curious. How do you guys feel about this, assuming you > have > > looked at it from a Lisp implementation viewpoint and perhaps using > Movitz? > > I think what you're trying to say is that the common lisp spec is > great but incomplete because it doesn't specify any of the APIs for > accessing hardware. Am I right? If so, you should check out the source > code and you will see what sorts of datastructures and functions are > used to manipulate the hardware. Yes, the spec would need extensions, add-ons, whatever you want to call it. All Common Lisp implementations that I know of have them. Also, you can usually code yourself out of any hole via some FFI mechanism. I perceive that Movitz does this by allowing inline X86-assembler code. But hardware drivers, although tedious to write, are only a part of a greater problem. At this point, I paused to scan the posts in the Movitz-devel list. Some interesting topics on OS and VM building were brought forward in 2004. I guess I was fishing for your views generally in the light of your experiences. Lars -------------- next part -------------- An HTML attachment was scrubbed... URL: