Functional programming is a programming paradigm which makes it easy to create, reason about, and compose functions.
-6
votes
0answers
47 views
What language to use for project management system? [closed]
What language do you recommend for project management system?
A very agile language that provides great functionality, scalability and the option to add new modules.
I mean a language that allows me ...
5
votes
2answers
165 views
Researching the growth of functional languages
In recent years it seems that functional programming languages have had a real popularity increase. Languages like Erlang, Haskell, Scala, F# and Clojure seem to be pretty well known and many popular ...
5
votes
2answers
165 views
What is the name of λx.λf.fx (like reverse apply) in lambda calculus? Does the corresponding function have a standard name in programming?
What is the name of λx.λf.fx in lambda calculus?
Does the corresponding function have a standard name in functional programming languages, like Haskell?
In object oriented programming, is there a ...
7
votes
2answers
495 views
Could we build a functional computer?
As mush as FP has done, in the end, all our programs are structured.
That is, it doesn't matter how pure or functional we make a them - they are always translated to assembly,
so what actually runs ...
0
votes
3answers
220 views
The similarities between Functional Programming & Object Oriented-Imperative Programming? [closed]
The heading couldn't say it anymore better.
I understand the differences between the paradigms but i would like to know the similarities between them.
I'm looking for things that affect the program ...
3
votes
3answers
340 views
How is referential transparency enforced?
In FP languages, calling a function with the same parameters over and over again returns the same result over and over again (i.e. referential transparency).
But a function like this (pseudo-code):
...
5
votes
1answer
141 views
What is the difference between a combinator and function chaining?
So from what I've read about combinators I can't quite tell how they're different from simply chaining function calls. I know I must be missing something but I'm not figuring out what I'm missing. I ...
4
votes
1answer
142 views
Feature boundaries in functional programming
I very much enjoy the functional programming paradigm, but I am still not sure how to go about designing a small/medium project with it.
When using OO, I have a set of labelled entities (classes) ...
1
vote
1answer
132 views
parallel computing list of objects
I have a list of objects that all require the exact same filtering, basically a set of conditionals in a function which outputs if the object is "good" or "bad". I want to keep all of my "good" ...
-4
votes
1answer
254 views
Is OOP becoming functional programming? [closed]
Every one knows immutability is the way to go - everyone recommends making your classes as immutable as they can be... but are immutable types still objects?
I have doubt - to me there are simply ...
4
votes
5answers
580 views
In functional programming, are local mutable variables with no side effects still considered “bad practice”?
Is having mutable local variables in a function that are only used internally, (e.g. the function has no side effects, at least not intentionally) still considered "non functional"?
e.g. in the ...
8
votes
0answers
168 views
Functional Programming: efficiently handling whole world changes? [duplicate]
Imagine we're creating a multiplayer dungeon crawl (a roguelike) using FP where we emphasize pure functions and immutable data structures. We generate a dungeon composed of rooms, corridors, heroes, ...
6
votes
4answers
366 views
Functional Programming: right ideas about concurrency and state?
FP proponents have claimed that concurrency is easy because their paradigm avoids mutable state. I don't get it.
Imagine we're creating a multiplayer dungeon crawl (a roguelike) using FP where we ...
0
votes
0answers
26 views
Question about vpython? [closed]
I have zero programming experience and I am just learning how to use vpython. I am trying to make an object follow a certain path described by a function. Is there any way to do this in vpython? If ...
5
votes
5answers
466 views
Is there any difference between pointers and references? [duplicate]
References and pointers do the same thing as I know. Is there any difference between them?
If there is no difference, why we call them reference not pointer?
6
votes
2answers
383 views
Is Haskell/Clojure actually unsuited for dynamic systems such as particle simulation?
I've been told in previous questions that functional programming languages are unsuited for dynamic systems such as a physics engine, mainly because it's costly to mutate objects. How realistic is ...
0
votes
0answers
70 views
NGL programming language?
Are there some online resources about the NGL language, please? Google
did not helped much this time. In fact, the only relevant information I was
able to find is the one on Wikipedia...
...
7
votes
2answers
156 views
What is “Semantics visibility”?
I'm reading 97 Things Every Programmer Should Know, now I'm positioned in "Apply Functional Programming Principles", and there is a paragraph that says:
...A leading cause of defects in imperative ...
8
votes
1answer
170 views
Functional Reactive/Relational Programming – Is there a difference?
I've been using Reactive Cocoa (by GitHub), a Functional Reactive Programming API for use with the Cocoa libraries for a while now, but have just read "Out of the Tar Pit", the paper that supposedly ...
1
vote
1answer
88 views
Ring of numbers where adjacent entries sum up to a prime
Given a number n, find a permutation of the numbers 1...n such that all adjacent entries sum up to primes. If such a permutation does not exist, throw an error.
Is there a purely-functional way to do ...
1
vote
1answer
91 views
Permuting a list of numbers by pushing and popping onto a stack
Suppose we have some long stack of numbers. There is another intermediate stack, and a destination stack to be returned in the end. The only two operations allowed is transferring the top of the old ...
21
votes
1answer
449 views
Performance of single-assignment ADT oriented code on modern CPUs
Working in immutable data with single assignments has the obvious effect of requiring more memory, one would presume, because you're constantly creating new values (though compilers under the covers ...
7
votes
1answer
287 views
Are “normal order” and “call-by-name” the same thing?
I was studying the book Structure and Interpretation of Computer Programs and in section 1.1.5 The Substitution Model for Procedure Application the author explains the concepts of normal order and ...
-1
votes
1answer
119 views
max(x-y,0) is loop-computable [closed]
I use the programming language Loop: http://en.wikipedia.org/wiki/LOOP_%28programming_language%29
I know that the every primitve recursive function is loop computable and vice versa but I would like ...
7
votes
2answers
325 views
implement cons function in Java - type safety question
I am working on a small functional library written in Java, which mimics the a functional style of programming. I am stuck with a undesirable type cast in one of my method definitions and would love ...
1
vote
1answer
109 views
LOOP program only need inc and zero
I have 4 different commands in LOOP programming language:
y=Zero()
y=Val(x)=copy x and put it in register y
y=Inc(x)=x+1
y=Dec(x)=x-1
Finally I also have
loop n times {
...
...
2
votes
1answer
132 views
LOOP-computable functions
I was just reading a chapter about LOOP-computable functions and I have the following question: Is it possible to numerate every LOOP program with an algorithm?
Formally: Is it possible to have a ...
10
votes
5answers
637 views
What is the functional-programming alternative to an interface?
If I want to program in a "functional" style, with what would I replace an interface?
interface IFace
{
string Name { get; set; }
int Id { get; }
}
class Foo : IFace { ... }
Maybe a ...
3
votes
1answer
284 views
Is Rebol a functional programming language?
I ran into Rebol and I was wondering about it.
I ran into the following script from here:
use [feed questions answers][
feed: load-xml/dom http://stackoverflow.com/feeds/tag/rebol
...
15
votes
10answers
2k views
How to write useful Java programs without using mutable variables
I was reading an article about functional programming where the writer states
(take 25 (squares-of (integers)))
Notice that it has no variables. Indeed, it has nothing more than three ...
2
votes
1answer
90 views
Practical reference for learning about graph reduction
Are there any practical references (with actual examples) for getting started implementing a small, lazy functional programming language with graph reduction? A reference that included the lexing and ...
8
votes
2answers
382 views
Functional reactive programming — is Fay expressive enough?
So I'm doing a fairly involved javascript/html client with lots of ajax calls and other involvements of callback-ism. I'm entertaining the thought of using Fay for this purpose. I'm aware of Elm. ...
4
votes
2answers
187 views
Who first coined the term Higher Order Function and/or First Class Citizen?
I've come to understand that long before Haskell, O'Caml or LISP, higher order functions were an academic research subject and in mathematics, Schönfinkel (in 1967) and Haskell Curry (in 1968) already ...
5
votes
2answers
333 views
What's a good math textbook to have on my desk while studying Haskell? [closed]
I just started learning Haskell and it seems like you can't get too far in the language without being comfortable ( or at least exposed ) to certain branches of mathematics. Unfortunately I have major ...
71
votes
13answers
34k views
What is the advantage of currying?
I just learned about currying, and while I think I understand the concept, I'm not seeing any big advantage in using it.
As a trivial example I use a function that adds two values (written in ML). ...
9
votes
2answers
360 views
What's the difference in content between Chris Okasaki's 1996 thesis and 1999 book, Purely Functional Data Structures?
I want to read Purely Functional Data Structures. I've easily found the thesis (which is freely available as a PDF), but see that there's a book available also. So I'd like to know what the ...
7
votes
1answer
108 views
What is the current state of SECD and SKI machine use and research?
I'm doing some independent research/study with a professor who's a very functional guy. The goal is to examine more of what's happening behind the scenes with functional languages than we normally ...
7
votes
1answer
169 views
Better to use error monad with validation in your monadic functions, or implement your own monad with validation directly in your bind?
I'm wondering what's better design wise for usability/maintainability, and what's better as far as fitting with the community.
Given the data model:
type Name = String
data Amount = Out | Some | ...
8
votes
0answers
439 views
Why (or why not) are existential types considered bad practice in functional programming? [closed]
I've sometimes heard that using existential data types is sort of a bad practice in functional programming and that there are ways how to avoid it. I'd like to know, if it is really true, what are the ...
10
votes
5answers
912 views
How to code in a more functional style in Java?
I code Java for at least 5 years now and I really appreciate how the language works. When looking at new JVM languages (e.g. Scala, Clojure) there is a trend to more functional ways to code and this ...
7
votes
3answers
193 views
Devising test of Haskell's value/reference semantics
In imperative languages, it is trivial to devise a programming test of language's use of "value semantics" or "reference semantics". One could do the following and check the value of a (where Vertex ...
4
votes
5answers
402 views
Java memory management (thunks/lazyness)
If I want to create an infinite list of integers in Java like so:
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i = 0;;i++){
list.add(i);
}
I run out of memory. My ...
1
vote
2answers
156 views
Sorting : Useful for more than just viewing data?
Context
I'm currently working on a personal project involving functional reactive JavaScript, and I've come up with an odd question. Note that this question is not JavaScript specific, but that is ...
3
votes
1answer
322 views
Is Clojure a 3GL or a 4GL?
A bit of background (in case I'm mistaken)...
I think I understand that (it's an oversimplification):
manually entering codes into memory (or on a punchcard) is "first generation language"
using ...
11
votes
1answer
635 views
Reasons for removal of function types in Java 8
I have been trying to understand why the JDK 8 Lambda Expert Group (EG) decided not to include a new function type into the Java programming language.
Going over the mailing list I found a thread ...
4
votes
2answers
130 views
Determinism of functions using PRNG in Clojure and functional languages
I'm a bit surprised by a sentence found in the book "Clojure Programming" (1st [and only as I write this!?] edition), page 78:
It should be obvious that it's impossible to deterministically test a
...
38
votes
5answers
2k views
In functional programming, does having most of the data structures immutable require more memory usage?
In functional programming since almost all data structure are immutable, when the state has to change a new structure is created. Does this mean a lot more memory usage? I know the object oriented ...
2
votes
1answer
429 views
C++ Design: Functional Programming vs OOP
Design Question
Recently, I've been doing more and more FP in C++, mostly in the form of function templates and lambdas, and heavy overloading of a single function name. I really like FP for some ...
3
votes
1answer
129 views
Network computation
I'm pretty sure that someone has already thought about it and researched it extensively, but I'm having trouble finding any materials or even keywords to look for, for the idea that I was thinking ...
26
votes
2answers
1k views
Misconceptions about purely functional languages?
I often encounter the following statements / arguments:
Pure functional programming languages do not allow side effects (and are therefore of little use in practice because any useful program does ...
