Re: A(n orthogonal) set of essential operations for CAS



Hatto von Aquitanien wrote:

> Mathematica has several "commands" which manipulate expressions in ways that
> most application development languages (C, C++, Java, etc.) do not directly
> support. For example, Apply[], Map[], Fold[], Position[], Through[],
> Inner[] (supported in C++), etc. It is probably fairly easy to implement
> these using the C++ Standard Library, but C++ is not an ideal language for
> doing the kinds of things Mathematica is used for.

Programming symbolic computation in C++ or Java
would likely result in reinventing some substantial part of Lisp.
I don't recommend it.

The useful features of Lisp, for symbolic computation, are
that code and data are indistinguishable, and symbols are
first-class objects. Another language which has those features
is probably also suitable to write an algebra system.

> I'm interested in finding out if similar operations are supported in other
> languages and CAS programs.

Maybe the Rosetta page is helpful to you:
http://www.univ-orleans.fr/EXT/ASTEX/astex/doc/en/rosetta/htmla/roseta.htm

> Roman Meader discusses a programming style
> distinct from procedural and functional programming which he
> calls /mathematical/ programming. I have not yet read the chapter in
> _Programming in Mathematica_ where he develops the ideas of mathematical
> programming. Glancing over the chapter, I have the impression that this is
> what others will call /rule-based/ programming.

Rule-based seems accurate. In other contexts I've seen similar
concepts called "declarative" or "intensional".

for what it's worth,
Robert Dodier

.



Relevant Pages

  • Re: Head-in-the-Sand Liberals (LA Times Columnist)
    ... You claimed to have known several computer languages, ... If you lie about knowing computer languages, ... of the programming loop for a functional ... You also don't know Java. ...
    (rec.org.mensa)
  • Re: How come Ada isnt more popular?
    ... Most programming languages were terrible at that time, ... And we talked about "Why isn't Ada more popular?". ... Adopting Java ...
    (comp.lang.ada)
  • Re: performance question
    ... that let me mix different programming styles more freely. ... When I started learning Java, my biggest problem was that I ... I've noticed that people often prefer to take shortcuts when writing code - ... deficiencies in the model and/or the existing languages that implement ...
    (comp.lang.java.programmer)
  • Re: Bloody Java again
    ... I passed my Java exams last year but really have ... Erlang's concurrent programming is rather abstract and high-level. ... He is not being asked to grade umpteenth different languages. ... Student: "It's all in the program, ...
    (comp.lang.functional)
  • Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management
    ... >>A few years ago I started learning Smalltalk. ... >>features in alternative languages. ... > know that there is widespread ignorance about programming language features ... eiffel developers even though the type system in eiffel is superior to Java. ...
    (comp.programming)

Quantcast