I have read about the article about how Photomath is developing their own 
functional programming language in its step-by-step solver

https://medium.com/photomath-engineering/advantages-of-using-functional-programming-in-photomath-step-by-step-solutions-e3909f899871

Unfortunately, the article is not that much detailed about its technical 
details,
But I get the glimpse of the idea that 'immutability' and 'pure function' 
is important in computer algebra system.
And they point out that the problem about python (and maybe sympy) is, that 
python is designed to be very 'dynamic' language, and if you program 
everything semantically 'immutable' and 'pure', the python interpreter 
won't recognize that and can't optimize the functional program written with 
it because CPython assumes that your program is 'dynamic'.

So they chose to develop their own functional DSL in C++. I'm not sure how 
designing a DSL is useful for computer algebra systems despite it can give 
freedom to choose syntax as convenient as possible, but the optimization 
part is interesting for why true functional proramming language is needed.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/11d0d471-06f6-4f0b-a65c-8ebf1c9e747cn%40googlegroups.com.

Reply via email to