purescript-integers icon indicating copy to clipboard operation
purescript-integers copied to clipboard

Add safe integers

Open toastal opened this issue 4 years ago • 2 comments

Description of the change

https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.issafeinteger

Add maxSafeInteger, minSafeInteger, and isSafeInteger.


Checklist:

  • [x] Added the change to the changelog's "Unreleased" section with a reference to this PR (e.g. "- Made a change (#0000)")
  • [ ] Linked any existing issues or proposals that this pull request should close
  • [ ] Updated or added relevant documentation
  • [ ] Added a test for the contribution (if applicable)

toastal avatar Oct 19 '21 08:10 toastal

Same questions I raised in your other PR:

  • Since this is adding FFI, how does this impact other backends?
  • Since this is adding FFI, it's technically a breaking change for other backends.

JordanMartinez avatar Oct 23 '21 05:10 JordanMartinez

Is this the right library for these constants? An Int is a 32-bit signed integer and this library provides "Functions and bitwise operators for the Int numeric type". Whereas these constants are Number and can't be represented as an Int.

They could be added to Data.Number, although we don't have any indication that they are needed over there.

A sensible place might be in the Int53 library but that already has a Bounded instance and so bottom and top are defined.

Given that this functionality is already available in Int53 I think this PR can be closed without merging.

JamieBallingall avatar Jul 20 '22 16:07 JamieBallingall