aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/math/number/ratio.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/library/lux/math/number/ratio.lux36
1 files changed, 18 insertions, 18 deletions
diff --git a/stdlib/source/library/lux/math/number/ratio.lux b/stdlib/source/library/lux/math/number/ratio.lux
index a53f87dd9..a9a494208 100644
--- a/stdlib/source/library/lux/math/number/ratio.lux
+++ b/stdlib/source/library/lux/math/number/ratio.lux
@@ -23,12 +23,12 @@
[//
["n" nat ("#\." decimal)]])
-(type: #export Ratio
+(type: .public Ratio
{#.doc (doc "An unsigned ratio of numbers.")}
{#numerator Nat
#denominator Nat})
-(def: #export (nat value)
+(def: .public (nat value)
(-> Ratio (Maybe Nat))
(case (get@ #denominator value)
1 (#.Some (get@ #numerator value))
@@ -40,7 +40,7 @@
{#numerator (n./ common numerator)
#denominator (n./ common denominator)}))
-(syntax: #export (ratio numerator {?denominator (<>.maybe <code>.any)})
+(syntax: .public (ratio numerator {?denominator (<>.maybe <code>.any)})
{#.doc (doc "Rational literals."
(ratio numerator denominator)
"The denominator can be omitted if it is 1."
@@ -48,14 +48,14 @@
(in (list (` ((~! ..normal) {#..numerator (~ numerator)
#..denominator (~ (maybe.else (' 1) ?denominator))})))))
-(def: #export (= parameter subject)
+(def: .public (= parameter subject)
(-> Ratio Ratio Bit)
(and (n.= (get@ #numerator parameter)
(get@ #numerator subject))
(n.= (get@ #denominator parameter)
(get@ #denominator subject))))
-(implementation: #export equivalence
+(implementation: .public equivalence
(Equivalence Ratio)
(def: = ..=))
@@ -67,72 +67,72 @@
(n.* (get@ #denominator parameter)
(get@ #numerator subject))])
-(def: #export (< parameter subject)
+(def: .public (< parameter subject)
(-> Ratio Ratio Bit)
(let [[parameter' subject'] (..equalized parameter subject)]
(n.< parameter' subject')))
-(def: #export (<= parameter subject)
+(def: .public (<= parameter subject)
(-> Ratio Ratio Bit)
(or (< parameter subject)
(= parameter subject)))
-(def: #export (> parameter subject)
+(def: .public (> parameter subject)
(-> Ratio Ratio Bit)
(..< subject parameter))
-(def: #export (>= parameter subject)
+(def: .public (>= parameter subject)
(-> Ratio Ratio Bit)
(or (> parameter subject)
(= parameter subject)))
-(implementation: #export order
+(implementation: .public order
(Order Ratio)
(def: &equivalence ..equivalence)
(def: < ..<))
-(def: #export (+ parameter subject)
+(def: .public (+ parameter subject)
(-> Ratio Ratio Ratio)
(let [[parameter' subject'] (..equalized parameter subject)]
(normal [(n.+ parameter' subject')
(n.* (get@ #denominator parameter)
(get@ #denominator subject))])))
-(def: #export (- parameter subject)
+(def: .public (- parameter subject)
(-> Ratio Ratio Ratio)
(let [[parameter' subject'] (..equalized parameter subject)]
(normal [(n.- parameter' subject')
(n.* (get@ #denominator parameter)
(get@ #denominator subject))])))
-(def: #export (* parameter subject)
+(def: .public (* parameter subject)
(-> Ratio Ratio Ratio)
(normal [(n.* (get@ #numerator parameter)
(get@ #numerator subject))
(n.* (get@ #denominator parameter)
(get@ #denominator subject))]))
-(def: #export (/ parameter subject)
+(def: .public (/ parameter subject)
(-> Ratio Ratio Ratio)
(let [[parameter' subject'] (..equalized parameter subject)]
(normal [subject' parameter'])))
-(def: #export (% parameter subject)
+(def: .public (% parameter subject)
(-> Ratio Ratio Ratio)
(let [[parameter' subject'] (..equalized parameter subject)
quot (n./ parameter' subject')]
(..- (update@ #numerator (n.* quot) parameter)
subject)))
-(def: #export (reciprocal (^slots [#numerator #denominator]))
+(def: .public (reciprocal (^slots [#numerator #denominator]))
(-> Ratio Ratio)
{#numerator denominator
#denominator numerator})
(def: separator ":")
-(implementation: #export codec
+(implementation: .public codec
(Codec Text Ratio)
(def: (encode (^slots [#numerator #denominator]))
@@ -151,7 +151,7 @@
(#.Left (text\compose "Invalid syntax for ratio: " input)))))
(template [<identity> <compose> <name>]
- [(implementation: #export <name>
+ [(implementation: .public <name>
(Monoid Ratio)
(def: identity (..ratio <identity>))