Skip to content

Tags: purescript/purescript-prelude

Tags

v6.0.2

Toggle v6.0.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Avoid `RangeError` in `arrayBind` foreign implementation (#314)

* test(#309): Failing test

Demonstrating that the current implementation of `Array`'s `Bind` instance
causes `RangeError: Maximum call stack size exceeded` when the output of `f` in
`ma >>= f` is sufficiently large.

This is due to usage of `Function.prototype.apply`. From
[MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply#using_apply_and_built-in_functions):

> But beware: by using apply() (or the spread syntax) with an arbitrarily long
arguments list, you run the risk of exceeding the JavaScript engine's argument
length limit.

> The consequences of calling a function with too many arguments (that is, more
than tens of thousands of arguments) is unspecified and varies across engines.
(The JavaScriptCore engine has a hard-coded [argument limit of
65536](https://webkit.org/b/80797).)

Node v20.18.1 seems to have a higher limit around 106,000.

* fix(#309): Use `flatMap` if supported by runtime

* fix(#309): Use simple stack-safe fallback

* chore(#309): Add to CHANGELOG.md

* feat(#309): Address feedback from code review

Using static check to determine if `Array.prototype.flatMap` is available, and
use `var` instead of `let` in for loop to match existing code style.

---------

Co-authored-by: Peter Murphy <26548438+ptrfrncsmrph@users.noreply.github.com>

v6.0.0

Toggle v6.0.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
v6.0.0 (#292)

Co-authored-by: Thomas Honeyman <admin@thomashoneyman.com>

v5.0.1

Toggle v5.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update CHANGELOG.md

v5.0.0

Toggle v5.0.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
Prepare v5.0.0 release (#259)

Update CI to build with the latest version of the compiler, update the bower repository URL to match the URL in the registry, and update the changelog.

Co-authored-by: Thomas Honeyman <admin@thomashoneyman.com>

v4.1.0

Toggle v4.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #180 from LiamGoodacre/feature/ord-record

Add/finish Ord instance for Records

v4.0.1

Toggle v4.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #177 from jazmit/patch-3

Optimization for Eq Array

v4.0.0

Toggle v4.0.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #175 from purescript/compiler/0.12

Update for PureScript 0.12

v3.3.0

Toggle v3.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request #156 from matthewleon/Function.applyN

Function.applyN
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy