Skip to main content

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!

Filter by
Sorted by
Tagged with
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 ...
Enlico's user avatar
  • 527
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 ...
nicoty's user avatar
  • 329
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) ...
Ahmad Ismail's user avatar
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 ...
Parsa99's user avatar
  • 257
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 ...
nilo's user avatar
  • 805
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 ...
nilo's user avatar
  • 805
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/...
nilo's user avatar
  • 805
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 ...
nilo's user avatar
  • 805
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 ...
nilo's user avatar
  • 805
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 ...
tijko's user avatar
  • 782
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: ...
zond's user avatar
  • 151
3 votes
1 answer
420 views

Event sourcing javascript implementation

An event source built around an observer design pattern implementation… ...
user avatar
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 ...
user avatar
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 ...
Peter's user avatar
  • 183
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 ...
Yu Cong's user avatar
  • 83
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 ...
Oscar Besga Panel's user avatar
1 vote
1 answer
91 views

Sprinkler effect

Developed around visibility CSS property and HTMLElement#offsetHeight and ...
user avatar
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 ...
LBF's user avatar
  • 143
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 ...
mahush's user avatar
  • 115
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 ...
mahush's user avatar
  • 115
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, ...
deppep's user avatar
  • 33
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 ...
Rud48's user avatar
  • 235
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 ...
Rud48's user avatar
  • 235
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 ...
Slazer's user avatar
  • 121
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 ...
Tobias Grothe's user avatar
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. ...
user avatar
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 ...
TAHER El Mehdi's user avatar
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 ...
Christopher Fimbel's user avatar
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: ...
PyNoob's user avatar
  • 21
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: ...
Miroslav Popov's user avatar
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. ...
user275176's user avatar
3 votes
1 answer
151 views

Recursive Factorial Calculation in JavaScript

...
TAHER El Mehdi's user avatar
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. ...
Ad?m's user avatar
  • 751
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 ...
TAHER El Mehdi's user avatar
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 ...
TAHER El Mehdi's user avatar
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,...
TAHER El Mehdi's user avatar
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 ...
V_head's user avatar
  • 555
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 ...
Vinn's user avatar
  • 119
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 ...
V_head's user avatar
  • 555
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 ...
StormCrow's user avatar
  • 369
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 ...
vikrant's user avatar
  • 405
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 ...
Napoleon Bonaparte's user avatar
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 ...
wittgenstein's user avatar
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 (...
schuelermine's user avatar
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 ...
Hamid Shah's user avatar
-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! ...
user's user avatar
  • 1
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....
Jessica's user avatar
  • 910
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 ...
SDK's user avatar
  • 113
1 vote
1 answer
77 views

Random ladder for public-key encryption

...
Pierre Abbat's user avatar
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 ...
Naitik Mundra's user avatar

1
2 3 4 5
21