Hi, On Mon, Sep 14, 2009 at 03:30:08PM +0530, arnuld uttre wrote:
> A thought struck my mind that I can use BitC to rewrite Hurd. The purpose of BitC is formal verification. We are not interested in that. > Now, I passionately wanted to use a GNU system but after 25 years the > Hurd is still in its nascent stage 19 years. The Hurd was started much later than GNU itself -- which is one of the reasons why it never really took off... > There is one concept in Lisp. When we want to do something then we > can bend the language according to our design and that is possible > because Lisp is the programmable programming language. This is the nice feature about Lisp, but also its major weakness: everyone can build his own language on top of Lisp -- so it's hard to keep to a common one in a project with multiple contributors; and every new contributor needs to learn the specific language of the project first... > I think a project as complex as Hurd needs to use a language that is > specifically designed for that project, that can work according to the > basic design of the OS not the other way around. Do you think using C > fits that criteria for Hurd ? I think C still best fits the criteria for low-level stuff, like the microkernel. It's also good for the main system libraries, as other languages can easily interface with C. (Kind of a least common denominator.) For translators, I believe that indeed it would be nice to use other languages. As I mentioned in http://tri-ceps.blogspot.com/2009/07/declaring-world-domination.html , I think that some kind of declarative/functional language would be much better suited for translator programming than anything imperative. But I don't know enough languages to tell which one would best fit the bill. But this is one of the major advantages of the Hurd: we don't have to settle on a single language up front -- you can mix servers written in all kinds of languages! However, we also need to keep in mind that using a less known language means fewer people are able hack on it... Unless we can turn it around and make it the main use case for some interesting language, in which case it could actually become a motivator for people to join the project :-) -antrik-
