blob: cc734b1b4b9b23c8c0a681820a3b431808a02cee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
(define-module (text numbers)
:use-module (srfi srfi-71)
:use-module (srfi srfi-88)
:use-module ((hnh util language) :select (resolve-language))
:export (number->string-cardinal
number->string-ordinal
resolve-language
each-string))
(define (get mod-symb proc-symb)
(module-ref (catch 'misc-error
(lambda () (resolve-interface `(text numbers ,mod-symb)))
(lambda (err proc fmt args data)
;; Possibly check if the err message starts with
;; "no code for module"
(resolve-interface '(text numbers en))))
proc-symb))
(define* (number->string-cardinal
n optional: (language (resolve-language))
rest: extra-kvs)
(apply (get language 'number->string-cardinal) n extra-kvs))
(define* (number->string-ordinal
n
optional: (language (resolve-language))
rest: extra-kvs)
(apply (get language 'number->string-ordinal) n extra-kvs))
(define* (each-string count
optional: (language (resolve-language))
rest: extra-kvs)
(apply (get language 'each-string)
count extra-kvs))
|