This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Language design values (Re: message primitive)


Lynn Winebarger <owinebar@free-expression.org> writes:

>On Tue, 11 Jan 2000, Maciej Stachowiak wrote:
>
>> "Reynolds, Gregg" wrote:
>> >
>> >
>> > Question:  how can one express the notion that the members of the basis
set
>> > themselves are maximally simple?  Presumably one could define a basis
set
>> > that includes semantically complex functions which could be expressed
as a
>> > combination of a different basis set.  I'm having trouble at the moment
>> > coming up with a realistic example, but suppose you had a "frobnicate"
>> > function that really means "first bevorpilate, then pibbelize", but the
>> > latter two are excluded from the language for some reason, or are
always
>> > implicit in other primitives.  Is there a term from mathematics that
one
>> > could use to indicate a basis set has or has not been maximally
decomposed?
>> >
>>
>> In linear algebra one basis is as good as another. Obviously this is
>> not the case with programming languages. But the metaphor is getting
>> quite
>> a bit overextended here.
>
>   This is not quite the case.  In _finite_ vector spaces, this is pretty
>much true.  However, once you start looking at infinite vector spaces, you
>want to choose a basis that minimizes the number of terms needed to
>express whatever elements you want to express.
>   This corresponds to tailoring your fundamental metaphors when writing a
>language (particularly a domain specific language, or even a library for
>that matter) to the kinds of problems you want to make it easy to solve.
>It also happens to be a fundamental method in designing compression
>algorithms for continuous data (like audio or video).


But even in finite vector/function spaces, for any specified transformation
there is a set of eigenvectors or eigenfunctions that are in some sense a
preferred basis.  (In fact, in the "minimizes the number of terms" sense
that you mention above.)  Therefore it might be that, for the set of
operations that we want to be achievable using Guile, the variance of the
eigenfunctions is small compared to the overall function space, and in that
case Guile's primitives should be aligned with the average of the
eigenfunctions.  Or it might not.  Sadly we are brought back to the question
of what Guile is intended to achieve, and that's a *really* hard question!

>Lynn
>whose been in math grad skool too long


Neil, who's clearly been *out* of maths lectures for too long



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]