Functional programming is a paradigm which attempts to solve computational problems by the chained evaluation of functions whose output is determined by their inputs rather than the program state. In this style of programming, side effects and mutable data are deprecated.
5
votes
0answers
28 views
Using delegates to avoid duplicate creation of resources
I'm writing a PCL that uses an HttpClient to go visit a few sites and extract data from them. My initial code looked like this:
...
-1
votes
1answer
60 views
Filtering/mapping strategies
This is real JavaScript/Lodash code used in a project I'm currently working on, but actually this particular question bothers me quite often regardless of the language. Say, I need to generate some ...
2
votes
0answers
28 views
Passing around and using Python dicts [on hold]
I have an Excel file - a profit spreadsheet - which has one tab per product range. The tabs are defined and named, but apart from that, the file contains no data (yet). I wish to use ...
8
votes
1answer
159 views
Functional Programming Library
I have started putting together a functional programming library in C# which is somewhat inspired by scalaz and the book Functional Programming in Scala.
I am hoping to get some feedback on the Monad ...
2
votes
0answers
26 views
Building and flattening a dependency graph
The Problem
Given a list of dependencies ('a * 'a) list where the first item has a dependency on the second item, construct a dependency graph and then 'flatten' ...
1
vote
1answer
29 views
Extracting a list of hyperlinks [closed]
I need to produce a list objCollector with some results:
...
4
votes
0answers
48 views
F# sudoku game logic
I am trying to create a sudoku game in f# and I'm having a bit of trouble with the file reading and writing. But since I've also just started programming in f# I would like to check if my thinking is ...
7
votes
1answer
171 views
Functional programming in Python: 2048 merge functions
I've written the core functions for a basic 2048 game. I know Python isn't a functional programming language, but I like the "functional style" (easier to maintain, simple to understand, more ...
3
votes
0answers
34 views
Factory for arbitrarily high-order operations
Grade 0: ++
This is so low that it is boring; the operation of grade 0 is incrementing or counting up, for example:
...
4
votes
0answers
41 views
Selecting subset of size k using recursion
Sometimes I need to implement recursive algorithms that pass a certain state from one recursive call to another. For example, a greedy subset selection: we have a set of candidate objects, and we ...
10
votes
1answer
92 views
Detecting cycles in a directed graph without using mutable sets of nodes
I recently came across the classic algorithm for detecting cycles in a directed graph using recursive DFS. This implementation makes use of a stack to track nodes currently being visited and an extra ...
3
votes
1answer
54 views
Currying in matlab
As MATLAB has a hard maximum of 10 input arguments it's possible, but ugly, to implement a curry function in this manner:
...
7
votes
0answers
52 views
Hunt the wumpus: Functional JavaScript (Node) with Lodash
I'd like a code review of the following simple implementation of the classic game Hunt the Wumpus
I'm trying to use JavaScript in the most "functional" way. To help me, I'm using lodash and ES6.
...
6
votes
0answers
68 views
Higher-order Prolog predicates combine/3 and reduce/3
I'm trying to find useful versatile meta-predicates that are different from the vanilla ones offered currently by library(apply).
How about the following two: ...
2
votes
3answers
39 views
Tail-Recursion to get a Map of word counts
I want to read a file and store the number of occurrences of each word in a Map, using tail recursion. I came up with the following; it seems to work; does it look like it's right?
...
4
votes
1answer
60 views
Continuable if error is null
I made a method that I can use to avoid having to handle errors from callbacks.
What it does is, call the passed method only if the first argument is null.
So essentially it will bypass to the last ...
5
votes
1answer
35 views
1
vote
2answers
58 views
3
votes
1answer
79 views
Hackerrank, Service Lane in Haskell
Problem statement
Calvin is driving his favorite vehicle on the 101 freeway. He notices that the check engine light of his vehicle is on, and he wants to service it immediately to avoid any ...
1
vote
3answers
81 views
Minimum element in a tuple
I'm solving exercise 2 from lecture 3 of Berkeley's CS 61A (2012):
Write a function min_element that returns the minimum element in a tuple.
...
4
votes
2answers
105 views
Transforming an array in Ruby
I watched a presentation by Dave Thomas on Elixir where he gave an example problem that he solved using functional programming. He mentioned using Ruby to solve the same problem, but did not show an ...
7
votes
1answer
92 views
Small console app to execute some remote scripts
I'm learning F# and functional programming, from a background in C# and imperative/OOP. I've ported a small, one-off console app from C# to F#. The port worked (the app behaves the same way), but I'd ...
3
votes
2answers
119 views
Sequence processing problems
Problem 1:
Sum the even numbers for the first n fibonacci numbers
Solution:
...
2
votes
0answers
27 views
Functional, Loaner-Like Pattern For Consuming SQS Queues, Deleting Queue Items On Success
My program fetches input from a RabbitMQ or Amazaon SQS-like queue. There is not always input available in the queue. If a message is available, it triggers work. If that work is successful, ...
3
votes
1answer
55 views
Random Plinko path using functional programming style
In order to learn both scala and functional programming, I've been rewriting the projects from my introductory CS class in scala. One of the projects was a plinko game, where the user picks a slot to ...
5
votes
2answers
53 views
Checking in four directions for board game win
I have the following code which I would like to simplify in Haskell, although I'm not sure how. I recall that I can use monads to simplify a case chain when the result of the case leads onto a next ...
11
votes
2answers
126 views
Converting imperative style user input menu to functional programming style
I am currently trying to teach myself scala by rewriting projects from my intro CS class, which was taught in C++. In addition to just learning the syntax I am trying to gain understanding of how ...
11
votes
2answers
472 views
Printing removed items using lambdas and streams
I'm struggling to make my lambdas readable.
I've seen various approaches. Below are three different examples that all do the same thing.
Forgive the example: I suspect there are better actual ...
3
votes
2answers
113 views
“Invert” a JavaScript object hash whose values are arrays to produce a new object hash with keys as the elements of those original value vectors
Background
lodash and underscore have an invert function that takes an object hash and converts it to a new one, which has keys as the input object's values and ...
0
votes
0answers
28 views
Multitenant Cassandra Query in Clojure
The following code handles querying for user data in a multitenant Cassandra database. Each tenant has their own keyspace and within that keyspace data about each tenants users is stored.
This code ...
16
votes
1answer
87 views
Streaming Collatz
Challenge
The recent question The 3n + 1 algorithm for a range inspired me to investigate a Java-8 dependent streaming mechanism for solving the programming challenge:
For any two numbers ...
2
votes
1answer
45 views
Performance of parsing math functions
I wrote the following code as part of a larger application. This code takes a string that defines a mathematical function on such as r,y x[0], x[1] etc. or any ...
4
votes
1answer
153 views
Abstracting the process of finding the index of the maximum in Python
Suppose I want to find the index of the maximal value of a given sequence. In Matlab, this is:
[value, index] = max(x)
In Python, I would abstract the following ...
6
votes
2answers
66 views
2D lattice random walk plots in functional style
To practice writing code in the functional programming style, I wrote a program to plot two-dimensional lattice random walks. I'd appreciate any feedback about how to improve its "functionaliness".
...
0
votes
1answer
95 views
“Data Abstraction” and “Abstract Data Type” for a rational number [closed]
Below is implementation 1 of data abstraction for rational number using functional paradigm written in Python:
...
3
votes
3answers
143 views
Optimization of stack frame usage with recursion
For the given below exercise:
Here is one method to check if a number is prime:
...
3
votes
2answers
73 views
Function returning higher order function
For the below given exercise:
Define a function cycle which takes in three functions as arguments: f1, f2, f3. cycle will then return another function. The returned fuction should take in an ...
1
vote
1answer
58 views
File-to-fully qualified class name function
My instincts are telling me a seasoned Scala programmer will find my code less than optimal. As will no doubt be obvious, I'm a Java guy who has just started in with Scala. Is there a more ...
1
vote
1answer
145 views
Extracting tuples from Excel sheet
My code have too much nested option processing which makes it ugly. But it has an advantage it has no side effect and typesafe.
...
4
votes
3answers
71 views
Prime factorization of an integer
I have just started learning functional programming (Haskell) for fun after using imperative languages my whole life. I am looking for quick and simple tips from pros on how the particular code I just ...
10
votes
2answers
85 views
Test runner for Scala problems
I'm learning Scala and could use another set of eyes on the code below. I'm creating a test runner for the 99 scala problems set. I figure between actually solving the problems and working through the ...
2
votes
2answers
404 views
Failing fast by raising an exception with a custom message
This is a script that utilizes lazy exception throwing. What I do is decorate a function that might throw an exception to throw an exception with a formatted string.
...
1
vote
0answers
56 views
Using interface for generated functions or just create plain functions
I was wondering which code might be better. I'm abstracting away the rote code as follows:
...
4
votes
3answers
187 views
Functional programming approach to repeated function application
Control like if..else and while
If \$f\$ is a numerical function and \$n\$ is a positive integer, then we can form the ...
3
votes
2answers
97 views
Summation and product functions using functional paradigm
Below is the problem:
Show that both summation and product are instances of a more general function, called accumulate, with the following signature:
...
3
votes
2answers
80 views
Functional-style linked list written in C
For my Operating Systems class, I needed a linked list data structure and didn't have one already written. During the course of thinking about how to implement a linked list again (it had been a ...
3
votes
1answer
149 views
Counting Lines and Sum of Lines
I have a small function that when passed a str that names a file that contains a program; it returns a 2-tuple with the number of the non-empty lines in that program, and the sum of the lengths of all ...
3
votes
1answer
54 views
UpdateGame function for Tetris
I am writing a Tetris game while learning Haskell and I'm trying to make the following code more concise and easier to read. How can I improve it?
Note that the function is not finished yet (There is ...
4
votes
1answer
117 views
Natural sorting/comparing algorithm in TypeScript
This code sorts string that may contain numbers in natural order, that's it, "item 2" comes before than "item 10". It currently ignores case. I plan to implement options to handle case sensitivity and ...
5
votes
3answers
385 views
Hailstone Sequences in Python
For the problem given:
Douglas Hofstadter’s Pulitzer-prize-winning book, Gödel, Escher, Bach, poses the following mathematical puzzle.
Pick a positive integer \$n\$ as the start.
If \$n\$ ...