app-text/pandoc: huge version bump
This commit is contained in:
parent
36c01efcfe
commit
72b537171f
131 changed files with 2697 additions and 0 deletions
39
dev-haskell/scientific/metadata.xml
Normal file
39
dev-haskell/scientific/metadata.xml
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>haskell@gentoo.org</email>
|
||||
<name>Gentoo Haskell</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
"Data.Scientific" provides the number type 'Scientific'. Scientific numbers are
|
||||
arbitrary precision and space efficient. They are represented using
|
||||
<http://en.wikipedia.org/wiki/Scientific_notation scientific notation>.
|
||||
The implementation uses a coefficient @c :: 'Integer'@ and a base-10 exponent
|
||||
@e :: 'Int'@. A scientific number corresponds to the
|
||||
'Fractional' number: @'fromInteger' c * 10 '^^' e@.
|
||||
|
||||
Note that since we're using an 'Int' to represent the exponent these numbers
|
||||
aren't truly arbitrary precision. I intend to change the type of the exponent
|
||||
to 'Integer' in a future release.
|
||||
|
||||
The main application of 'Scientific' is to be used as the target of parsing
|
||||
arbitrary precision numbers coming from an untrusted source. The advantages
|
||||
over using 'Rational' for this are that:
|
||||
|
||||
* A 'Scientific' is more efficient to construct. Rational numbers need to be
|
||||
constructed using '%' which has to compute the 'gcd' of the 'numerator' and
|
||||
'denominator'.
|
||||
|
||||
* 'Scientific' is safe against numbers with huge exponents. For example:
|
||||
@1e1000000000 :: 'Rational'@ will fill up all space and crash your
|
||||
program. Scientific works as expected:
|
||||
|
||||
>>> read "1e1000000000" :: Scientific
|
||||
1.0e1000000000
|
||||
|
||||
* Also, the space usage of converting scientific numbers with huge exponents to
|
||||
@'Integral's@ (like: 'Int') or @'RealFloat's@ (like: 'Double' or 'Float')
|
||||
will always be bounded by the target type.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
||||
Loading…
Add table
Add a link
Reference in a new issue