Page 1 of 2

Haskell

Posted: December 7th, 2013, 12:10 pm
by ExSan
Wikipedia: Haskell _ programming_languageHaskell

Haskell

Posted: December 7th, 2013, 1:40 pm
by Polter
Yeah, Haskell is pretty interesting.Here's a type-safe data-store interface for Haskell, Persistent:http://www.yesodweb.com/book/persistentAutomatic differentiation (AD):http://conal.net/blog/posts/beautiful-d ... es-it-work

Haskell

Posted: December 7th, 2013, 2:52 pm
by Traden4Alpha
Functional programming == Verb Land?

Haskell

Posted: December 7th, 2013, 3:01 pm
by Cuchulainn
QuoteOriginally posted by: Traden4AlphaFunctional programming == Verb Land?Yep. Verbs do things. Nouns are docile. But we can eliminate verbs altogether. "When we talk mathematics, we may be discussing a secondary language built on the primary language of the nervous system."

Haskell

Posted: December 7th, 2013, 4:13 pm
by Traden4Alpha
QuoteOriginally posted by: CuchulainnQuoteOriginally posted by: Traden4AlphaFunctional programming == Verb Land?Yep. Verbs do things. Nouns are docile. But we can eliminate verbs altogether. "When we talk mathematics, we may be discussing a secondary language built on the primary language of the nervous system."Maybe.Aren't "x" and "K" adjectives on some implicit noun????

Haskell

Posted: December 14th, 2013, 9:16 am
by chocolatemoney
Interestingly, I run a little survey (40fin math practitioners) and discovered that functional programming is primarily associated with currying, functions as first class citizens and the use of lambdas - anonymous functions. I was surprised as I expected referential transparency and the use of immutable data structures to top all the above. Basically, you can claim your code is functional without the need of being pure functional.

Haskell

Posted: December 14th, 2013, 2:55 pm
by Cuchulainn
QuoteOriginally posted by: chocolatemoneyInterestingly, I run a little survey (40fin math practitioners) and discovered that functional programming is primarily associated with currying, functions as first class citizens and the use of lambdas - anonymous functions. I was surprised as I expected referential transparency and the use of immutable data structures to top all the above. Basically, you can claim your code is functional without the need of being pure functional.Does it really matter what it's called so long it satisfies the requirements on time and within budget?

Haskell

Posted: December 15th, 2013, 8:57 am
by katastrofa
Exactly. You can call it Susan if it makes you happy.

Haskell

Posted: December 15th, 2013, 8:58 am
by katastrofa
QuoteOriginally posted by: chocolatemoneyInterestingly, I run a little survey (40fin math practitioners) and discovered that functional programming is primarily associated with currying, functions as first class citizens and the use of lambdas - anonymous functions. I was surprised as I expected referential transparency and the use of immutable data structures to top all the above. Basically, you can claim your code is functional without the need of being pure functional.Immutable data structures kind of suck when you want to do efficient numerical computations.

Haskell

Posted: December 15th, 2013, 10:22 am
by chocolatemoney
QuoteOriginally posted by: katastrofaQuoteOriginally posted by: chocolatemoneyInterestingly, I run a little survey (40fin math practitioners) and discovered that functional programming is primarily associated with currying, functions as first class citizens and the use of lambdas - anonymous functions. I was surprised as I expected referential transparency and the use of immutable data structures to top all the above. Basically, you can claim your code is functional without the need of being pure functional.Immutable data structures kind of suck when you want to do efficient numerical computations.This is true; this is obvious, you don't want to copy the whole data container at each iteration/chainge. I never suggested to prefer immutables in every circumstance.Furthermore, my post is really not about naming conventions - I thought my little survey was quite fun in illustrating some of the current trends in functional programming, some ongoing debates in the FP area and the stance taken by some players. For example, if I reckon correctly, MSFT suggested in their F# guidelines to prefer global state via OOD to more "Haskellian" state monads, despite providing syntactic sugar for monads via the computational expressions. Furthermore, if currently the key fp features fp practitioners primarily demand are first class citizens and lambdas and purity is only secondary : what is the near term future, in terms of adoption rates, of a pure and lazy fp language as Haskell? You may disagree with this, but I think the Haskell ecosystem is probably less rich than jvm and .net, hence the haskell community must grow in order to catch-up.I am sorry if I may have gone off-topic. Cheers

Haskell

Posted: December 16th, 2013, 9:36 am
by katastrofa
I think the big problem is that the FP community is too academic and separated from realities of software development. Take this guy, who's apparently a big fish in functional data structures:http://okasaki.blogspot.co.uk/2008/02/t ... .htmlQuote Second, and more importantly, probably 95+% of uses of functional red-black trees don't need deletions anyway. Because the trees are immutable, when you want to delete something, you can simply revert back to a previous version of the tree from before the unwanted item was inserted. This is almost always both the easiest and the right thing to do. The exception is when you inserted something else that you want to keep after the item to be deleted, but this is extremely rare.I'm not a CS expert by any measure, but even I know that people do delete in R-B trees... He's just making excuses for going the traditional academic route of solving the easy bits, getting the paper out and moving on.

Haskell

Posted: December 16th, 2013, 11:00 am
by Cuchulainn
QuoteOriginally posted by: katastrofaI think the big problem is that the FP community is too academic and separated from realities of software development. Take this guy, who's apparently a big fish in functional data structures:http://okasaki.blogspot.co.uk/2008/02/t ... .htmlQuote Second, and more importantly, probably 95+% of uses of functional red-black trees don't need deletions anyway. Because the trees are immutable, when you want to delete something, you can simply revert back to a previous version of the tree from before the unwanted item was inserted. This is almost always both the easiest and the right thing to do. The exception is when you inserted something else that you want to keep after the item to be deleted, but this is extremely rare.I'm not a CS expert by any measure, but even I know that people do delete in R-B trees... He's just making excuses for going the traditional academic route of solving the easy bits, getting the paper out and moving on.It's all a bit too dinky/cute for my liking. What I would like to see is a real application in FP. At the moment FP is a solution looking for a problem. But 20% _is_ useful IMO (See C++ 11 and C# 5.0).

Haskell

Posted: December 17th, 2013, 11:06 am
by katastrofa
FP is more of a design pattern than the universal programming paradigm its fanatics claim it to be.

Haskell

Posted: December 17th, 2013, 11:51 am
by chocolatemoney
QuoteOriginally posted by: katastrofaFP is more of a design pattern than the universal programming paradigm its fanatics claim it to be.True: "referential transparency or death"

Haskell

Posted: December 17th, 2013, 12:22 pm
by Cuchulainn
QuoteOriginally posted by: chocolatemoneyQuoteOriginally posted by: katastrofaFP is more of a design pattern than the universal programming paradigm its fanatics claim it to be.True: "referential transparency or death"Single paradigm languages have no future IMO. A follow-on is that it tends to promote <quote>zealous evangelism<unquote> QuoteMy specific complaint is the ?uncritical? part. Being enthusiastic about things is awesome, I think that?s a large part of the difference between a bad programmer and a good programmer. But being uncritical is less desirable. This typically manifests in one of two forms, the more common being an ?us vs them? mentality.