functional-programming

Erlang: simple refactoring

Consider the code: f(command1, UserId) -> case is_registered(UserId) of true -> %% do command1 ok; false -> not_registered end; f(command2, UserId) -> case is_registered(UserId) of true -> %% do command2 ok; false -> not_...

How roughen (as opposed to flatten) a list in a functional style?

For instance, I have a list (1 2 3 4 5 6 7 8 9 10 11), and want to roughen it by 3 elements (or another length) to get ((1 2 3) (4 5 6) (7 8 9) (10 11)). What pretty code could I use for this? Thanks. ...

How to find index of element with minimum value?

Say I have a list val list = List(34, 11, 98, 56, 43). Now how do I find the index of the minimum element of the list (e.g. 1 in this case)? ...

Dividing a list in specific number of sublists

I want to divide a list in "a specific number of" sublists. That is, for example if I have a list List(34, 11, 23, 1, 9, 83, 5) and the number of sublists expected is 3 then I want List(List(34, 11), List(23, 1), List(9, 83, 5)). How do I go about doing this? I tried grouped but it doesn't seem to be doing what I want. PS: This is no...

Erlang: How can I remove a node from other nodes' nodes()?

I want to simulate the behavior of 'erl -sname example -hidden' but dynamically. How can I drop a node out of visibility in a cluster? See the comments by @mwt at @Yasir Arsanukaev for additional clarification of what I'm trying to do. ...

Big datastructures in functional programming

I'm newbie in Functional Programming. I have a huge neural network with thousands of neurons and every connection between neurons has its weight. I have to update these weights very often, several thousand times per learning session. Is FP still applicable here? I mean in fp we can't modify variables and only able to return new varia...

What does composability mean in context of functional programming?

What do functional programmers mean when they say a certain thing is composable or not composable? Some of the statements of this sort that I've read are: Control structures are not composable. Threads do not compose. Monadic operations are composable. ...

Haskell: OpenGL, how to prevent immediate window closing

Hello. Whenever I close OpenGL window it makes ghci console from which the app was started to immediately disappear. Is there a way to prevent this behaviour? A sample app. Thanks. ...

Lambda Expressions and Memory Management

How do the Lambda Expressions / Closures in C++0x complicate the memory management in C++? Why do some people say that closures have no place in languages with manual memory management? Is their claim valid and if yes, what are the reasons behind it? ...

Pure functional bottom up tree algorithm

Say I wanted to write an algorithm working on an immutable tree data structure that has a list of leaves as its input. It needs to return a new tree with changes made to the old tree going upwards from those leaves. My problem is that there seems to be no way to do this purely functional without reconstructing the entire tree checking a...

Learning functional/clojure programming - practical excersises?

I'm learning functional programming with Clojure. What practical excersises can you recommend? Online repositories with solutions would be perfect. One idea I can think of is going through all the popular algorithms on sorting, trees, graphs etc. and implementing them in Clojure myself. While it could work, it may be pretty steep and I'...

Are there any purely functional Schemes or Lisps?

I've played around with a few functional programming languages and really enjoy the s-expr syntax used by Lisps (Scheme in particular). I also see the advantages of working in a purely functional language. Therefore: Are there any purely functional Schemes (or Lisps in general)? ...

How to initialize F# list when size is unknown, using while..do loop

I have a function that will parse the results of a DataReader, and I don't know how many items are returned, so I want to use a while..do loop to iterate over the reader, and the outcome should be a list of a certain type. (fun(reader) -> [ while reader.Read() do new CityType(Id=(reader.Ge...

Using items in a list as arguments

Suppose I have a function with the following type signature: g :: a -> a -> a -> b I also have a list of as—let's call it xs—that I know will contain at least three items. I'd like to apply g to the first three items of xs. I know I could define a combinator like the following: ($$$) :: (a -> a -> a -> b) -> [a] -> b f $$$ (x:y:z:_) ...

Confusion regarding laziness

I have a function myLength = foldl (\ x _ -> x + 1) 0 which fails with stack overflow with input around 10^6 elements (myLength [1..1000000] fails). I believe that is due to the thunk build up since when I replace foldl with foldl', it works. So far so good. But now I have another function to reverse a list : myReverse = foldl (\ ...

Want to add a functional language to my toolchest. Haskell or Erlang?

I've been an OO/procedural guy my whole career except in school where I did a lot of logic programming (Prolog). I work on an amazing variety of projects (freelancer) and so I don't want the tools I know and understand to hold me back from using the right tool for the job. I've decided I should know a functional programming language. I'...

Scala versus F# question: how do they unify OO and FP paradigms?

What are the key differences between the approaches taken by Scala and F# to unify OO and FP paradigms? EDIT What are the relative merits and demerits of each approach? If, in spite of the support for subtyping, F# can infer the types of function arguments then why can't Scala? ...

How does pattern matching work behind the scenes in F#?

Hello Everyone, I am completely new to F# (and functional programming in general) but I see pattern matching used everywhere in sample code. I am wondering for example how pattern matching actually works? For example, I imagine it working the same as a for loop in other languages and checking for matches on each item in a collection. Th...

Why are functional languages considered a boon for multi threaded environments?

Possible Duplicate: Functional programming and multicore architecture I hear a lot about functional languages, and how they scale well because there is no state around a function; and therefore that function can be massively parallelized. However, this makes little sense to me because almost all real-world practical programs ...

C++: Syntax for map where Data type is function?

In C#, what I want would look something like this: IDictionary<string, action()> dict = new Dictionary<string, action()>(); How do I do this in C++? This gives compiler errors: map<string, void()> exercises; ...