On Sun, Jul 5, 2020 at 12:40 AM rjf <fate...@gmail.com> wrote:
>
> There are at least two rather complete parsers for the "Wolfram Language"  
> which
> render stuff like
> foo[x_]:= Sin[x]+Log[x]
>   into trees / intermediate forms/   Lisp s-expressions.
> (compare to Wolfram's  "FullForm"  which is essentially lisp with [] instead 
> of (), and moving parens... x+y becomes Plus[x,y]  or in lisp, (Plus x y). )
>
> I wrote (and posted) a lisp language parser for Mathematica's language,
> years ago.
>
> A top-down recursive descent parser.
> At that time, (maybe still?) the
> language did not have a context-free grammar, much less one that was
> written down.
>
> I'm not sure what you are aiming to do.
> But to make any non-trivial use of Mathematica language ( i.e. other than 
> algebraic expressions like a*b+c)
> you need to have semantics for pattern matching, language features , 
> conditionals, iteration,
> numerics (bizarre bigfloat), and routines like Integrate[], Solve[] etc.
>
> You cannot map these 1:1 to anything currently in Sage, though I suppose Sage 
> could
> gobble up a version of Mathics. or you could look at the lisp/Maxima code.
>
> I think openmath has lost out to mathml, but they are both, IMO really 
> terribly
> unreadable, and for no good reason.  There is at least one front end for
> Maxima that (I think) uses MathML.  As long as no human has to read it,
> it might be OK except for being about 25X more verbose than needed.

there has been recent work done on OpenMath, so it's not clear who lost.
https://www.openmath.org/software/
lists support by Python, GAP, Axiom, Mathematica, Maple

Also, https://uniformal.github.io/ uses OpenMath and OpenMath Doc.


>
> If all you care about is algebraic expressions with standard operators, + * / 
> - ^
> then the task is a simple homework assignment for an undergrad
> course in programming languages/ compiling.
>
>
> RJF
>
>
>
> On Saturday, July 4, 2020 at 12:29:27 PM UTC-7, Nils Bruin wrote:
>>
>> On Saturday, July 4, 2020 at 9:10:33 AM UTC-7, Rocky Bernstein wrote:
>>>
>>>
>>>  So one goal as briefly mentioned was to be able to write/use a common 
>>> language for expressing CAS.
>>
>>
>> This goal (or perhaps a little more broadly, a common language for 
>> expressing mathematical objects) has been around for a long time and has 
>> proven rather difficult. You should probably look into efforts that went 
>> into OpenMath (https://www.openmath.org/) and evaluate what works and does 
>> not work there.
>>
>> One of the early design goals of Sage was actually exactly to be a 
>> compatibility/translation layer between different CA systems and libraries. 
>> That's where the "expect" interfaces come from and several of those 
>> interfaces (libmaxima, libgap) since then were better integrated to allow 
>> translation of information on a binary level rather than just via character 
>> streams.
>>
>> The overarching language was not particularly modelled on Mathematica, but 
>> rather on Magma, which matches Python fairly well.
>>
>> I'd expect that you'll run into the same kind of issues that Sage has run 
>> into if you try to replicate its efforts on a Mathematica-modelled platform.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-devel/b7e13235-6acd-48c4-8d1f-d1c82c563e89o%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq1tE_NkDEaJJkSHew7Bd6a6cvzR7SgBUeQzdhFcPVZukA%40mail.gmail.com.

Reply via email to