I think you're explaining why CL has things from Xah's list of things that
he does not value, e.g. Mathematica lacks many of the features that Xah
enumerated. It is interesting to me, but probably not to Xah.
Robert Maas, see http://tinyurl.com/uh3t
wrote:
>> lazy evaluation
>
> This has not yet been reduced to standard practice, to where there
> is any single specification that we can all agree upon. For
> example, in recent years I have been advocating a system for
> drawing a dataflow diagram for interval arithmetic where lazy
> evaluation is used to compute approximate intervals narrower and
> narrower as needed to produce a meaningful decision/output. The
> general idea is to use a mathematical identity to yield a directed
> computation which forms a stable feedback loop. For example, given
> N known non-negative, you compute the square root of N via Newton's
> method expressed as a feedback loop. Whenever you need to narrow
> the interval, you track the dataflow backwards until you reach a
> place where you can get more accuracy, then you compute forwards
> again to see how narrow your output interval is now.
> <http://www.rawbw.com/~rem/IntAri/>
> That's doing the dataflow manually to illustrate how the interval
> arithmetic itself works. Nobody expressed any interest in this
> work, so there's no funding, so I haven't developed the idea
> further except in my mind. Maybe you'd like to show some interest?
Ironically, Mathematica already does that (and it is a good idea, yes).
:-)
>> pattern matching
>
> This is a totally open-ended subject. Until you specify what kinds
> of patterns you want to match (patterns of characters in a string,
> patterns of trends in an economy, patterns of facial
> characteristics, patterns of debris in high-energy atomic
> collisions, patterns of sub-graphs in large mathematical graphs,
> patterns in signals received from deep space which might possibly
> be from ETI, patterns in whale "songs" which might represent a
> meaningful grammar and/or meaningful discourse about ocean
> conditions, patterns in brain activity which might be useful for
> detecting honesty vs. deceit, etc. etc. etc.), you haven't a chance
> of even getting started at the research project much less a
> standard algorithm/heuristic.
I assume Xah is referring to pattern matching over algebraic datatypes.
>> tail recursion
Note that Mathematica doesn't implement tail calls and (probably) doesn't
even implement mutual tail recursion.
>> call-with-continuation
>
> I'm not familiar with that jargon, but it sounds like something to
> do with co-routines. I'll do a Google search ...
Callcc can be useful and is missing in all of the languages I use (and
Common Lisp).
>> Every studious moron with a computer science degree, can create a
>> language (like that of Larry Wall, Guido van Rossum, and now Paul
>> Graham). But to create a high-quality set of huge number of
>> libraries (as in Java, Mathematica), is extremely difficult.
>
> I really can't believe that Mathematica has a huge set of
> general-purpose libraries, the way that Java and Common Lisp do.
> I thought that Mathematica was a special purpose system for doing
> mostly the same sorts of things that MacSyma used to do, only
> better and more commercially, i.e. closed-form mathematical
> expression manipulation such as calculus and infinite-series
> summation, and graphing the results. Am I mistaken??
The whole of Mathematica is designed to make numeric and symbolic
computation easy. In the context of general-purpose programming,
Mathematica's standard library is grossly deficient. For example, you
cannot create efficient implementations of any tree-based data structures
(RB, AVL, finger trees etc.).
--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?u


|