base64: Do not use (rnrs).

* guix/base64.scm: Remove #:use-module clauses for (rnrs) and (srfi
srfi-13).  Add other #:use-module clauses.
(fxbit-field): Define as an alias for 'bit-field.
(fx=?, fx+, mod): New aliases.
(assert): New macro.
This commit is contained in:
Ludovic Courtès 2019-12-15 00:11:30 +01:00
parent 428561aa63
commit 5f9cd63eb0
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 12 additions and 6 deletions

View File

@ -52,11 +52,10 @@
base64url-alphabet
get-delimited-base64
put-delimited-base64)
#:use-module (rnrs)
#:use-module ((srfi srfi-13)
#:select (string-index
string-prefix? string-suffix?
string-concatenate string-trim-both)))
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-60)
#:use-module (rnrs bytevectors)
#:use-module (rnrs io ports))
(define-syntax define-alias
@ -67,12 +66,19 @@
;; Force the use of Guile's own primitives to avoid the overhead of its 'fx'
;; procedures.
(define-alias fxbit-field bitwise-bit-field)
(define-alias fxbit-field bit-field)
(define-alias fxarithmetic-shift ash)
(define-alias fxarithmetic-shift-left ash)
(define-alias fxand logand)
(define-alias fxior logior)
(define-alias fxxor logxor)
(define-alias fx=? =)
(define-alias fx+ +)
(define-alias mod modulo)
(define-syntax-rule (assert exp)
(unless exp
(throw 'assertion-failure 'exp)))
(define base64-alphabet
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")