-
Notifications
You must be signed in to change notification settings - Fork 0
/
base.ss
59 lines (47 loc) · 1.96 KB
/
base.ss
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#lang scheme/base
; Require/provide aliases ------------------------
(require (planet untyped/unlib:3/require))
(define-library-aliases cce-scheme (planet cce/scheme:7) #:provide)
(define-library-aliases javascript (planet dherman/javascript:9:2) #:provide)
(define-library-aliases pprint (planet dherman/pprint:4) #:provide)
(define-library-aliases schemeunit (planet schematics/schemeunit:3) #:provide)
(define-library-aliases unlib (planet untyped/unlib:3) #:provide)
(require net/url
scheme/contract
scheme/match
srfi/26
(unlib-in debug exn date))
; Configuration --------------------------------
; (parameter (U 'lower 'upper))
;
; Prevents double quoting errors (xml within xml and so on).
;
; Macros like xml, opt-xml and xml-attrs set this to 'lower before expansion.
; Macros like XML, OPT-XML and XML-ATTRS set this to 'upper before expansion.
(define quote-case-restriction
(make-parameter #f))
; (listof symbol)
(define lowercase-quote-symbols
'(xml xml-attrs xml* xml-attrs* opt-xml opt-xml-attr js opt-js))
; (listof symbol)
(define uppercase-quote-symbols
(for/list ([lower (in-list lowercase-quote-symbols)])
(string->symbol (string-upcase (symbol->string lower)))))
; (parameter (U string ((U time-utc time-tai) -> string)))
;
; Can be one of:
; - a SRFI 19 style datae format string;
; - a procedure that converts TAI and UTC time objects into strings.
(define current-time-format
(make-parameter "~Y-~m-~d ~H:~M:~S"))
; Provide statements ---------------------------
(provide (all-from-out net/url
scheme/contract
scheme/match
srfi/26)
(unlib-out debug exn date))
(provide/contract
[quote-case-restriction (parameter/c (or/c 'lower 'upper))]
[lowercase-quote-symbols (listof symbol?)]
[uppercase-quote-symbols (listof symbol?)]
[current-time-format (parameter/c (or/c string? (-> date? string?)))])