Questions tagged [functional-programming]
Use this tag for programs where "functional" style is important - likely making use of function composition and without side-effects. NOT simply because your code contains functions!
1,016 questions
0
votes
0
answers
35
views
Augment vi editing mode in haskeline by implementing the ; and , commands
haskeline is a reimplementation in haskell of the GNU Readline library (the one that by default allows you to delete the word you just typed on your shell's command line by pressing Ctrl+w, for ...
4
votes
1
answer
125
views
Higher-kinded types in Rust
Also posted on Reddit.
As a small personal exercise, I'm trying to implement a notion of higher-kinded types in Rust using type-level defunctionalisation based on the "Lightweight higher-kinded ...
2
votes
2
answers
130
views
State management patterns in vanilla JavaScript
I am trying to manage state in vanilla JavaScript—without using frameworks like React or Vue. I am also not using state management libraries.
My requirements are:
Reactivity
Time Travel (Undo/Redo)
...
4
votes
1
answer
119
views
C# railway oriented programming with async support
In my application there are many business workflows. Most of them are quite simple and can be put in one function. A few of them however are very complex and have many business validations, require ...
3
votes
2
answers
138
views
Base16/32/64 implementation for C++ ranges
Introduction
The following code is an implementation of, in ambition, RFC 4648 compliant Base16, Base32 and Base64 conversions as range adaptors and constrained algorithms in C++23. It can be used at ...
2
votes
0
answers
88
views
std::ranges compile time (and run time) RFC 4648 compliant Base16 conversions in C++23 (improved 2)
This increment
This obsoletes a former version, after taking a great review into account:
The encoding now preserves sized_range and ...
3
votes
1
answer
191
views
Compile time (and run time) RFC 4648 compliant Base16 conversions as range adaptors in C++23 (improved) [duplicate]
Edit: obsoleted by an improved version.
Edit: now updated with unit tests that show that this implementation also works for non-forward ranges, i.e. string streams, files streams, on-the-fly encoding/...
4
votes
2
answers
351
views
Compile time (and run time) RFC 4648 compliant Base16 conversions as range adaptors in C++23
This obsoletes a former version and is obsoleted by an improved version.
The following code is an implementation of, in ambition, RFC 4648 compliant Base16 conversions as range adaptors in C++23. It ...
4
votes
1
answer
223
views
Hexadecimal conversions as range adaptors in C++23 that work at compile time (and run time) [duplicate]
This is obsoleted by a significantly better version.
The following code is an implementation of hexadecimal conversions as range adaptors in C++23. It can be used at compile time, but should of course ...
5
votes
3
answers
268
views
HackerRank, Haskell simple "compression" algorithm
The question asked is very straight-forward and is simple enough to solve. What I am looking for is that hopefully I can get some understanding for using the constructs and built-ins of the Haskell ...
5
votes
6
answers
454
views
Search values by priority in a Stream
I have a simple list of results, and I need to return only one value depending on content, for example:
...
3
votes
1
answer
420
views
Event sourcing javascript implementation
An event source built around an observer design pattern implementation…
...
1
vote
1
answer
81
views
Buffered source of HTMLElement(s)
Temporary storing the element(s) returned by document.querySelector and document.querySelectorAll methods could improve ...
8
votes
1
answer
133
views
Haskell 2-player TicTacToe terminal game
I want to get better at functional programming so I started with this simple 2-player TicTacToe game. Next I want to add a simple min-max algorithm to make it a 1-player game, but before that I'd like ...
8
votes
3
answers
2k
views
fmap for containers in c++
I implemented a simple fmap for containers. However containers don't have a unified function to add elements. So I wrote different concepts for different containers. Is there a better way to implement ...
3
votes
1
answer
115
views
In Java, replace for loop with condition with lambdas [closed]
I want to replace a for loop with a break/return condition inside with a lambda.
I think I have a good replacement, but I want ...
1
vote
1
answer
91
views
Sprinkler effect
Developed around visibility CSS property and HTMLElement#offsetHeight and ...
4
votes
3
answers
253
views
Get the contents of a table cell for all selected rows
I have a table of user info. When you click the button, I want to get the email address from each selected row, output into a comma-separated string.
I got it to work with the following code, but I'm ...
7
votes
2
answers
226
views
Function composition in the context of data processing pipelines
Prior Notification
This follows a previous review of mine that addressed the core helper function named make_skippable.
The composition implementation presented ...
3
votes
2
answers
156
views
Extending callable signature with std::optional in context of function composition (make_skippable)
(Please note: the post about the compose implementation announced below is now available.)
This is about decorating callables by making their argument and return value to be a ...
3
votes
2
answers
196
views
Map coloring algorithm functional implementation in python
I'm an autodidact working on map coloring algorithms with backtracking, see chapter 2 of this book.
I tested this implementation with success but I'm still unsure whether it is tricking me somewhere, ...
6
votes
1
answer
132
views
Locate and multiply numbers in a 2D grid (Advent of Code 2023 Day 3, Part 2)
I am using the Advent of Code 2023 to study functional programming and the ranges library in C++. This code is for the second part of Day 3 and is the best solution using FB I've created. I'd ...
4
votes
1
answer
126
views
Is it valid to pass struct through std::fold_left to persist state?
I am exploring functional programming design with C++. The code below uses a struct passed to ranges::fold_left for processing. The final result is returned in the ...
2
votes
1
answer
112
views
Move timestamp to the next Monday 10:01 AM [closed]
I've been battling ChatGPT for hours now and can't get satisfied with this simple algorithm in TypeScript. These two (hopefully correct) TypeScript+ReactNative solutions should move the timestamp ...
5
votes
2
answers
166
views
Print the three most occurring chars in Java using streams
The three characters that occurs most in a given string should be printed by using streams/lambdas (functional programming). The order of characters that occur equally often should be preserved.
My ...
3
votes
1
answer
112
views
Sequentially find the indexes of an element into a collection
Util class to find into a collection the indexes of a given element with multiple occurrences from the first index or relative to a given index.
...
4
votes
4
answers
1k
views
Merging sorted integer arrays (without duplicates)
I have written a Python function called merge_arrays which takes two lists and returns the new list merge without duplicate.
The function works as expected, but my ...
2
votes
1
answer
133
views
Simple Curry function
This is a interview practice question from BFE.dev.
Currying is a useful technique used in JavaScript applications.
Please implement a curry() function, which ...
1
vote
2
answers
80
views
Imrove performance when updating DataFrame rows based on complex criteria
My question got rejected the last time so I am trying a better approach to getting a solution:
...
5
votes
1
answer
160
views
Partial Function Application in JavaScript
I'm trying to make a partial function from any function.
Here is a working example:
...
1
vote
1
answer
67
views
Click temporization on user interface elements
Implementation to accommodate different behaviours based on the frequency a user interface element is clicked. It supports number of clicks and number of clicks in a time frame.
...
3
votes
1
answer
151
views
4
votes
1
answer
94
views
Dyalog APL dyadic operator deriving ambivalent function to pair two function results
I'm writing a small utility operator which applies two functions to an argument pair and strands the results. The pair can either be given as two arguments or as a single argument with two elements. ...
1
vote
2
answers
645
views
Removing Elements from an Array Based on a Second Array
I've written a function that takes two arrays of integers as input and removes all the elements in the first array that are also present in the second array. I would like to share my code with you and ...
1
vote
1
answer
64
views
Optimizing the Dig Pow function
I have written a Python function to solve the Dig Pow problem, where the goal is to find a number k such that the sum of each digit of n raised to a specific and ...
7
votes
5
answers
1k
views
Optimizing a function to find the closest multiple of 10
I have written a Python function called closest_multiple_10() which takes an integer as input and returns the closest multiple of 10. The function works as expected,...
2
votes
1
answer
112
views
Binary tree zipper with basic operations
I am looking for a review of my Binary Tree Zipper implementation on Ocaml.
These are the defined operations:
get (gets the substructure, or the trees after the focus element)
bempty creates an empty ...
0
votes
1
answer
74
views
Creating functions in a hierarchy where they get the same arguments
When I write code, I tend to follow functional paradigms often. The main thing I try to do is use values returned from functions.
What I notice though, is I end up having a sort of function argument ...
2
votes
1
answer
83
views
Lazy evaluation vs strict one applied to fib
I have this OCaml problem:
Recall the polymorphic type lazy seen in class, the function delay which transforms a ...
5
votes
1
answer
938
views
Monad object in C++
Have I defined a Monad object for C++? Below is a class called var which I created years ago to implement a lambda calculus like interpreter in C++. The class ...
4
votes
7
answers
310
views
Breaking a string expression in operator and operands
Requesting for a code review for a scala implementation.
Problem
Given an expression string made of numbers and operators +,-,/,* , break it in a list of Integer or ...
4
votes
2
answers
204
views
Abundant number implementation
I have implementted a simple JavaScript function to find the list of abundant numbers and print them on the screen.
an abundant number is a number for which the sum of its proper divisors is greater ...
1
vote
1
answer
147
views
Transform an array into object and set index for an unique key in javascript
I have a method that merges keys and indexes from an array into an object.
I'm stuck with ways to compress this method, and I don't know what I can do to make it simpler.
Goal
get an array of objects ...
3
votes
0
answers
77
views
A Haskell-style "maybe" type in Python, version 2
I have decided on a preferred solution to my question A maybe type in Python. Which implementation is best?, and have expanded it to be more ergonomic. I have implemented a host of utility functions (...
1
vote
1
answer
72
views
Reactjs Component Reusability
I am working on a project in react. Where most of the data on different tabs have a table. So I design the "TableItems" component and passed the data according to the component. Right now ...
-2
votes
1
answer
1k
views
Create a function with two parameters: a list and a string, where the string has the following values [closed]
I tried so many things to do this task. I have no idea why doesn't it work. Please help!
...
2
votes
1
answer
102
views
Meta Collatz Sequence
Context
Chapter 6 of Learn You A Haskell contains a function called chain, which outputs the Collatz sequence of a given input.
(In short, it takes a natural number....
1
vote
2
answers
216
views
Simplify a function which performs manipulation of data in Javascript
Upon suggestion in the original question within Stack Overflow, I'm bringing my question here.
We have created a function that will convert the data into the desired format, but it has a lot of code ...
1
vote
1
answer
77
views
2
votes
1
answer
154
views
Project Euler 11 Haskell - Largest product in a grid
Intro
I have been learning haskell and functional programming using random Project Euler problems. Currently, I have solved Problem 11.
What is the greatest product of four adjacent numbers in the ...