functional-programming

F# and Scala comparison

Could someone describe what are the differences between those two languages? Other that they target different VM of course ;) ...

Will there be a functional language which does for the Java community what F# does for the .NET community?

Will there be a functional language which does for the Java community what F# does for the .NET community? What functional programming languages are available, or in development, for the JVM? ...

Functional languages - when to use?

There's more and more attention on languages such as Haskell and F# and although I can see the parallelisation benefits where processing large amounts of data, I cannot see where a functional language would fit into standard LOB development. So for the majority, is there a use for functional languages? ...

Anyone Actually Using F# in Production?

Is anyone actually using F# in a production environment? If so, what are you using it for and why did you decided to use F#? Do you recommend a die-hard C# developer to learn F# or do you think it's just a fad? ...

Functional programming and multicore architecture

I've read somewhere that functional programming is suitable to take advantage of multi-core trend in computing. I didn't really get the idea. Is it related to the lambda calculus and von neumann architecture? ...

How can I transition from Java to Clojure?

After discovering Clojure I have spent the last few days immersed in it. What project types lend themselves to Java over Clojure, vice versa, and in combination? What are examples of programs which you would have never attempted before Clojure? ...

Enum Parameters

I am hoping to find a way to do this in vb.net: Say you have function call getPaint(Color). You want the call to be limited to the parameter values of (red,green,yellow). When they enter that parameter, the user is provided the available options, like how a boolean parameter functions. Any ideas? ...

How do you design a functional program?

From day 1 of my programming career, I started with object-oriented programming. However, I'm interested in learning other paradigms (something which I've said here on SO a number of times is a good thing, but I haven't had the time to do). I think I'm not only ready, but have the time, so I'll be starting functional programming with F#....

What is a catamorphism and can it be implemented in C# 3.0?

I'm trying to learn about catamorphisms and I've read the Wikipedia article and the first couple posts in the series of the topic for F# on the Inside F# blog. I understand that it's a generalization of folds (i.e., mapping a structure of many values to one value, including a list of values to another list). And I gather that the fold-...

To which kind of problem is functional programming well suited?

Functional programming seems to be a paradigm in computer science which has more and more echo. I wonder which kind of problems are better solved with a functional programming approach rather than with a more traditional object oriented approach. Thank you. ...

How do I identify immutable objects in Java

In my code, I am creating a collection of objects which will be accessed by various threads in a fashion that is only safe if the objects are immutable. When an attempt is made to insert a new object into my collection, I want to test to see if it is immutable (if not, I'll throw an exception). One thing I can do is to check a few well-...

What is referential transparency?

What does the term referential transparency mean? I've heard it described as "it means you can replace equals with equals" but this seems like an inadequate explanation. ...

Can Ruby really be used as a functional language?

Can Ruby really be used as a functional language? What are some good tutorials to teach this facet of the language? Note: I really want to use and stick with Ruby as my primary language so I am not interested at this point in being converted to YAFL (yet another functional language). I am really interested in how well Ruby's functio...

Defining point of functional programming

I can enumerate many features of functional programming, but when my friend asked me Could you define functional programming for me? I couldn't. ...

What problems are best solved with Logic Programming?

By Logic Programming I mean the a sub-paradigm of declarative programming languages. Don't confuse this question with "What problems can you solve with if-then-else?" A language like Prolog is very fascinating, and it's worth learning for the sake of learning, but I have to wonder what class of real-world problems is best expressed and...

What tools are there for functional programming in C?

I've been thinking a lot lately about how to go about doing functional programming in C (not C++). Obviously, C is a procedural language and doesn't really support functional programming natively. Are there any compiler/language extensions that add some functional programming constructs to the language? GCC provides nested functions a...

Are we in a functional programming fad?

I use both functional and imperative languages daily, and it's rather amusing to see the surge of adoption of functional languages from both sides of the fence. It strikes me, however, that it looks rather like a fad. Do you think that it's a fad? I know the reasons for using functional languages at times and imperative languages in oth...

Is Functional to Relational mapping easier than Object to Relational?

Object-relational mapping has been well discussed, including on here. I have experience with a few approaches and the pitfalls and compromises. True resolution seems like it requires changes to the OO or relational models themselves. If using a functional language, does the same problem present itself? It seems to me that these too p...

What is the difference between a 'closure' and a 'lambda'?

Could someone explain? I understand the basic concepts behind them but I often see them used interchangeably and I get confused. And now that we're here, how do they differ from a regular function? ...

implement zip using foldr

I'm currently on chapter 4 of Real World Haskell, and I'm trying to wrap my head around implementing foldl in terms of foldr. (Here's their code:) myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a x) I thought I'd try to implement zip using the same technique, but I don't see...