nushell/src
Yehuda Katz ca0183a136 Migrated numerics to BigInt/BigDecimal
This commit migrates Value's numeric types to BigInt and BigDecimal. The
basic idea is that overflow errors aren't great in a shell environment,
and not really necessary.

The main immediate consequence is that new errors can occur when
serializing Nu values to other formats. You can see this in changes to
the various serialization formats (JSON, TOML, etc.). There's a new
`CoerceInto` trait that uses the `ToPrimitive` trait from `num_traits`
to attempt to coerce a `BigNum` or `BigDecimal` into a target type, and
produces a `RangeError` (kind of `ShellError`) if the coercion fails.

Another possible future consequence is that certain performance-critical
numeric operations might be too slow. If that happens, we can introduce
specialized numeric types to help improve the performance of those
situations, based on the real-world experience.
2019-09-01 22:14:41 -07:00
..
commands Migrated numerics to BigInt/BigDecimal 2019-09-01 22:14:41 -07:00
env Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
evaluate Migrated numerics to BigInt/BigDecimal 2019-09-01 21:00:30 -07:00
format Remove usage of in_band_lifetimes feature 2019-08-30 01:32:31 +09:00
object Migrated numerics to BigInt/BigDecimal 2019-09-01 21:00:30 -07:00
parser Merge pull request #571 from nushell/bigint 2019-09-01 22:08:48 -07:00
plugins Migrated numerics to BigInt/BigDecimal 2019-09-01 21:00:30 -07:00
shell This commit introduces a basic help feature. We can go to it 2019-08-31 19:06:11 -05:00
cli.rs Another attempt to fix the zombie processes 2019-09-02 04:45:30 +12:00
commands.rs This commit introduces a basic help feature. We can go to it 2019-08-31 19:06:11 -05:00
context.rs This commit introduces a basic help feature. We can go to it 2019-08-31 19:06:11 -05:00
env.rs Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
errors.rs Merge pull request #571 from nushell/bigint 2019-09-01 22:08:48 -07:00
format.rs Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
git.rs Fix formatting with cargo fmt 2019-08-26 20:19:05 +02:00
lib.rs Merge pull request #571 from nushell/bigint 2019-09-01 22:08:48 -07:00
main.rs use clap::crate_version!() 2019-08-24 12:38:18 -04:00
object.rs This commit introduces a basic help feature. We can go to it 2019-08-31 19:06:11 -05:00
parser.rs Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
plugin.rs Random fixes 2019-09-01 09:19:59 +12:00
prelude.rs Migrated numerics to BigInt/BigDecimal 2019-09-01 21:00:30 -07:00
shell.rs This commit introduces a basic help feature. We can go to it 2019-08-31 19:06:11 -05:00
stream.rs Replace crate visibility identifier with pub(crate) 2019-08-29 13:09:09 +02:00
traits.rs Remove usage of in_band_lifetimes feature 2019-08-30 01:32:31 +09:00
utils.rs Add SQLite support 2019-08-30 20:54:45 -04:00