Socket
Book a DemoInstallSign in
Socket

hyper-reducer

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hyper-reducer

A generalization of `reduce()` to arbitrary arity.

latest
Source
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

hyper-reducer

A generalization of reduce() to arbitrary arity.

Introduction

Reduction is a key concept in functional programming which encapsulates the idea of recursively transforming state based on a sequence of input. More concretely, reduce() takes two values (one of which is the previous output), and returns another value. In contrast, reduceN() takes N inputs (it has arbitrary arity). Although reduceN() can ultimately be reduced to regular reduce(), the construction makes certain operations easier to understand and implement.

Insallation

npm i hyper-reducer

Usage

import hyperReducer from 'hyper-reducer'

const reduce2 = hyperReducer(2) // Reduction with arity 2.

const array = [1, 2, 3, 4, 5, 6]

reduce2(array, (a, b0, b1) => a*b0 + b1, initial=[1, 1]) // Returns 10 

The hyperReducer() function takes an arity argument and returns a concrete reducer with that arity. The reducer then takes an array, callback function and (optional) initial set of previous outputs. The initial outputs are set to zero by default.

Keywords

reduction

FAQs

Package last updated on 03 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts