blob: 0d10b6d860544166a00d30f54ff93b98cd19ad67 (
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
35
36
|
(module utils *
(import scheme
(chicken base)
(chicken irregex)
matchable)
(define-syntax λ
(syntax-rules ()
((_ expr ...)
(lambda expr ...))))
(define-syntax @
(syntax-rules ()
((_ fn-body expr ...)
(lambda (x) (fn-body expr ... x)))))
(define (last lst)
(if (null? (cdr lst))
(car lst)
(last (cdr lst))))
(define (pipe x . fns)
(match fns
[() x]
[(fn . rest) (apply pipe (fn x) rest)]))
(define (flow . fns)
(lambda (x) (apply pipe x fns)))
(define (replace irx replacement in)
(irregex-replace irx in replacement))
(define (replace-all irx replacement in)
(irregex-replace/all irx in replacement))
)
q
|