SRFI-13
This commit is contained in:
parent
5d26964f14
commit
842d9b7978
|
@ -56,7 +56,6 @@
|
||||||
|
|
||||||
(define (effective-version) %version)
|
(define (effective-version) %version)
|
||||||
|
|
||||||
(mes-use-module (srfi srfi-13))
|
|
||||||
(mes-use-module (mes catch))
|
(mes-use-module (mes catch))
|
||||||
(mes-use-module (mes posix))
|
(mes-use-module (mes posix))
|
||||||
(mes-use-module (srfi srfi-16))
|
(mes-use-module (srfi srfi-16))
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
;;; -*-scheme-*-
|
;;; -*-scheme-*-
|
||||||
|
|
||||||
;;; GNU Mes --- Maxwell Equations of Software
|
;;; GNU Mes --- Maxwell Equations of Software
|
||||||
;;; Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2017,2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Mes.
|
;;; This file is part of GNU Mes.
|
||||||
;;;
|
;;;
|
||||||
|
@ -22,8 +22,6 @@
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(mes-use-module (srfi srfi-13))
|
|
||||||
|
|
||||||
(define R_OK 0)
|
(define R_OK 0)
|
||||||
(define S_IRWXU #o700)
|
(define S_IRWXU #o700)
|
||||||
|
|
||||||
|
|
|
@ -298,6 +298,25 @@
|
||||||
(if (= 0 n) (list->string (append sign lst))
|
(if (= 0 n) (list->string (append sign lst))
|
||||||
(loop n lst))))))
|
(loop n lst))))))
|
||||||
|
|
||||||
|
(define (string-index s pred . rest)
|
||||||
|
(let* ((start (and (pair? rest) (car rest)))
|
||||||
|
(end (and start (pair? (cdr rest)) (cadr rest)))
|
||||||
|
(pred (if (char? pred) (lambda (c) (eq? c pred)) pred)))
|
||||||
|
(if start (error "string-index: not supported: start=" start))
|
||||||
|
(if end (error "string-index: not supported: end=" end))
|
||||||
|
(let loop ((lst (string->list s)) (i 0))
|
||||||
|
(if (null? lst) #f
|
||||||
|
(if (pred (car lst)) i
|
||||||
|
(loop (cdr lst) (1+ i)))))))
|
||||||
|
|
||||||
|
(define (string-split s c)
|
||||||
|
(let loop ((lst (string->list s)) (result '()))
|
||||||
|
(let ((rest (memq c lst)))
|
||||||
|
(if (not rest) (append result (list (list->string lst)))
|
||||||
|
(loop (cdr rest)
|
||||||
|
(append result
|
||||||
|
(list (list->string (list-head lst (- (length lst) (length rest)))))))))))
|
||||||
|
|
||||||
|
|
||||||
;;; Symbols
|
;;; Symbols
|
||||||
(define (symbol-prefix? prefix symbol)
|
(define (symbol-prefix? prefix symbol)
|
||||||
|
|
Loading…
Reference in New Issue