Commit3407047fRecorded26 Feb 2026Repositorysigil-log
Add procedure specs to sigil-log module
Message
Adds inline (: ...) type specs to all exported procedures: level-name->number, level-number->name, level-number->tag, log-level-active?, current-log-level, and all six log-* procedures.
Changed
src/sigil/log.sgl | 10 ++++++++++
1 file changed, 10 insertions(+)Diff
src/sigil/log.sglmodified
@@ -69,9 +69,11 @@
69
(else #f))) 70
71
(define (level-number->name n)+72
(: integer? -> symbol?) 73
(list-ref *level-names* n)) 74
75
(define (level-number->tag n)+76
(: integer? -> string?) 77
(case n 78
((0) "TRACE") 79
((1) "DEBUG")@@ -172,6 +174,7 @@
174
;;; (log-level-active? 1) ; same as above 175
;;; ``` 176
(define (log-level-active? level)+177
(: (any-of symbol? integer?) -> boolean?) 178
(let ((n (if (symbol? level) (level-name->number level) level))) 179
(and n (>= n *log-level*)))) 180
@@ -181,6 +184,7 @@
184
;;; (current-log-level) ; => 'info (default) 185
;;; ``` 186
(define (current-log-level)+187
(: -> symbol?) 188
(level-number->name *log-level*)) 189
190
;; ============================================================@@ -259,6 +263,7 @@
263
;;; (log-trace "entering function" name: "process-request") 264
;;; ``` 265
(define (log-trace message . args)+266
(: string? any? ... -> void?) 267
(do-log 0 message args)) 268
269
;;; Log a message at DEBUG level (1).@@ -267,6 +272,7 @@
272
;;; (log-debug "cache hit" key: "user:42") 273
;;; ``` 274
(define (log-debug message . args)+275
(: string? any? ... -> void?) 276
(do-log 1 message args)) 277
278
;;; Log a message at INFO level (2).@@ -275,6 +281,7 @@
281
;;; (log-info "Server started" port: 8080) 282
;;; ``` 283
(define (log-info message . args)+284
(: string? any? ... -> void?) 285
(do-log 2 message args)) 286
287
;;; Log a message at WARN level (3).@@ -283,6 +290,7 @@
290
;;; (log-warn "Slow query" duration-ms: 1200) 291
;;; ``` 292
(define (log-warn message . args)+293
(: string? any? ... -> void?) 294
(do-log 3 message args)) 295
296
;;; Log a message at ERROR level (4).@@ -291,6 +299,7 @@
299
;;; (log-error "Request failed" path: "/api" status: 500) 300
;;; ``` 301
(define (log-error message . args)+302
(: string? any? ... -> void?) 303
(do-log 4 message args)) 304
305
;;; Log a message at FATAL level (5).@@ -299,6 +308,7 @@
308
;;; (log-fatal "Cannot start" reason: "port in use") 309
;;; ``` 310
(define (log-fatal message . args)+311
(: string? any? ... -> void?) 312
(do-log 5 message args)) 313
314
;; ============================================================