Skip site navigation (1)Skip section navigation (2)
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>