3 ms·
...so my knowledge of Abstract Algebra and Category Theory could actually have practical applications if I learn Haskell? Edit: I phrased this flippantly, but
by SatvikBeri 14y ago
...so my knowledge of Abstract Algebra and Category Theory could actually have practical applications if I learn Haskell?
Edit: I phrased this flippantly, but it's a serious question. My educational background is in Math, specifically Abstract Algebra. Would learning Haskell actually help me use those concepts for practical purposes?
- gtani 14y agoYes and no. There are "issues" with those structures in GHC, i.e. how the Functor/Applicative/Monoid hierarchy evolved in GHC (applicatives were discovered a little late) http://stackoverflow.com/questions/7595023/why-is-this-declaration-not-allowed-in-haskell http://stackoverflow.com/questions/7595023/why-is-this-decla... http://stackoverflow.com/questions/5730270/alternative-implementations-of-haskells-standard-library-type-classes http://stackoverflow.com/questions/5730270/alternative-imple... But: (and this one of the beauties of Learn You a Haskell), learning the categories (functor, applicative, monoid through arrows, duality, groups etc), is a superb way to abstract the software analysis/development process and is one of the winning features of languages with good type systems (haskell, the *ML's incl F#, scala) http://learnyouahaskell.com/ http://learnyouahaskell.com/
- vseloved 14y agoActually, here Haskell is just like any other language: i.e. you can use the described properties to define similar operations in any language. It's not Haskell, that allows to define them, but the abstract properties of this class of objects
- csense 14y agoI have a math background, and I've found Haskell to be very confusing. There's a lot of syntax that's not like other programming languages or mathematics, which makes programs very dense and hard to read. (Perl and Ruby suffer from similar problems.) I'd encourage you to try Python. Its syntax is simple, natural, powerful, and very similar to mathematical notation (I'm thinking of list comprehensions). If you want to use Python for mathematics -- in the sense of an open-source replacement for Maple/Mathematica -- I recommend Sage [1]. [1] http://sagemath.org http://sagemath.org