Date: Thu, 19 Aug 2010 10:22:26 -0700 From: Bakul Shah <bakul@bitblocks.com> To: "C. P. Ghost" <cpghost@cordula.ws> Cc: Doug Barton <dougb@freebsd.org>, Ivan Voras <ivoras@freebsd.org>, Andrew Reilly <areilly@bigpond.net.au>, freebsd-current@freebsd.org Subject: Re: Interpreted language(s) in the base Message-ID: <20100819172227.1AAE25B89@mail.bitblocks.com> In-Reply-To: Your message of "Thu, 19 Aug 2010 18:00:54 %2B0200." <AANLkTinHtzt=ELPvQBaaRBUzN-U88EXDMenZwrRsY3NL@mail.gmail.com> References: <4C6505A4.9060203@FreeBSD.org> <4C650B75.3020800@FreeBSD.org> <4C651192.9020403@FreeBSD.org> <i477eo$i4d$1@dough.gmane.org> <4C673898.2080609@FreeBSD.org> <AANLkTim_prShRiHkLnFbhek9%2Beaa-KaJ5oZtNo%2BLd0K1@mail.gmail.com> <alpine.BSF.2.00.1008152240370.66595@qbhto.arg> <20100818134341.GA88861@johnny.reilly.home> <AANLkTinHtzt=ELPvQBaaRBUzN-U88EXDMenZwrRsY3NL@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 19 Aug 2010 18:00:54 +0200 "C. P. Ghost" <cpghost@cordula.ws> wrote: > On Wed, Aug 18, 2010 at 3:43 PM, Andrew Reilly <areilly@bigpond.net.au> wro= > te: > > On Sun, Aug 15, 2010 at 11:15:55PM -0700, Doug Barton wrote: > >> got any other suggestions? > > > > This is very much a "sorry I asked" question, but is none-the > > less quite a good one, given the size of the hole to be plugged. > > > > I think that a reasonable answer for this sort of thing might be > > one of the dynamic languages that compiles to C, like (perhaps) > > one of the schemes (chicken, gambit-C, bigloo, etc). =A0You get > > the benefit of flexibility and dynamism with good regexp and > > data structure ability, good performance, and only requiring the > > build tools available in the base system, as long as you don't > > want to be the developer: just ship the C code (as well as the > > source, of course). > > > > Unfortunately it seems that quite a lot of people have issues > > with lisp syntax these days. > > +1 for a scheme shell, but not for the heavy-weight variety that > compiles to C, as that would tie them to a subset of ${ARCH}es. +1 for Scheme! It has a lot in its favor (see below). But this is an abstract discussion. Until there are plenty of useful system scripts (in one of these languages) that people really want, nothing is going to change. There is no reason to wait until something is in the base. And we don't have to argue about which language. I would suggest setting up a wiki page to list all the system scripts people want to write and get cracking in your favorite language! May the best effort win :-) At the very least we will get some useful tools out of this effort. I will certainly help out with Scheme. -- bakul Scheme has many interpreters & compilers so you can write Scheme scripts to be interpreted and at some point compile them for better performance if necessary. Scheme has some excellent text books, a precise definition for a given standard, it changes slowly, has IDEs and so on. If you stick to the R4RS subset, almost every scheme interprpter/compiler will handle it. It has a very powerful macro facility. Its interpreters can be very small. s9fes and tinyscheme for example are about 5K lines of C code each. "Stalin" compiles Scheme to some extremely tight C code by doing global program analysis. And there are many other systems in between. slib is a library of a lot of useful packages that can be used with most Schemes. Many of these interpreters can be used from C/C++. Many provide a C-FFI to call C functions. Tinyscheme packages all of Scheme state in a single structure so one can easily create a separate Scheme interpreter per thread. There is even a vi clone written in 4K lines s9fes Scheme! Still beta but already useful. These many choices can be very confusing but we can pick one and stick to writing R4RS portable Scheme code.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100819172227.1AAE25B89>