4 ms·
I realize that your use of the phrase "functional language" seems to entail having a static type system and purity, but most people seem to consider Lisp to be
by StefanKarpinski 10y ago
I realize that your use of the phrase "functional language" seems to entail having a static type system and purity, but most people seem to consider Lisp to be the original functional language and it doesn't have either property. If one considers Lisp to be functional then it seems like Julia should be as well. Do you not consider Lisp to be functional? Real question, not a rhetorical one – I'm trying to assess where people fall on this terminology.
- pklausler 10y ago"Functional language" is ill-defined, hence my specific question about static typing and purity. I would really like to have a language for scientific computing that had good scalable performance as well as static types and referential transparency.
- StefanKarpinski 10y agoAs far as I know, no such system exists. Strict static typing and numerical computing are, I suspect, more at odds with each other than they casually appear to be. The seemingly simple `+` operator is the most polymorphic and overloaded function-like entity in many static languages (and often can't be defined as a normal function for that very reason). And `+` doesn't hold a candle to the polymorphism of array indexing and slicing, which is pretty crucial for productive numerical work.
- pklausler 10y agoThanks for your reply. Someday, Haskell will get a good matrix library, and then I'll be happy.
- leephillips 10y agoFortran?
- pklausler 10y agoModern Fortran is an awesome power tool and I love it. But it's hardly a pure functional programming language!
- leephillips 10y agoOh no, certainly not. Sorry, I didn't realize you were asking for that, too!
- omaranto 10y agoOh, you meant static typing when you wrote strong typing above? That makes more sense.
- pklausler 10y agoYes, I sure did. Sorry for the confusion.