diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-12-04 01:58:26 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-12-09 00:54:20 +0100 |
commit | ffd0a028aefd203b4a42ded1e5a592e1b4d92dd7 (patch) | |
tree | 7176aa23610558fde1c020ae0b096d2f43bc9dc7 /module/hnh/util/coverage.scm | |
parent | Cleanup datetime tests. (diff) | |
download | calp-ffd0a028aefd203b4a42ded1e5a592e1b4d92dd7.tar.gz calp-ffd0a028aefd203b4a42ded1e5a592e1b4d92dd7.tar.xz |
Complete rewrite of the lens system.
The old "lens" system was more of nested accessors. This rewrites them
to be much better, at the cost of some extra up-front complexity.
Beside the change in lenses, and all required adjustments, also adds
lens creation to the define-type macro.
Diffstat (limited to '')
-rw-r--r-- | module/hnh/util/coverage.scm | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/module/hnh/util/coverage.scm b/module/hnh/util/coverage.scm index 15bdd250..8dc65bb8 100644 --- a/module/hnh/util/coverage.scm +++ b/module/hnh/util/coverage.scm @@ -67,14 +67,15 @@ (fold (lambda (line state) (match (parse-coverage-line line) (('DA line hits) - (modify state (compose-lenses car* lines) + ;; TODO focus further? + (modify state (compose-lens car* lines*) (lambda (lines) (cons (cons line hits) lines)))) (('SF source) - (set state car* filename source)) + (set state (lens-compose car* filename*) source)) (('LH hit) - (set state car* hit-lines hit)) + (set state (lens-compose car* hit-lines*) hit)) (('LF lines) - (set state car* total-lines lines)) + (set state (lens-compose car* total-lines*) lines)) (('end-of-record) (cons (coverage-info) state)))) (list (coverage-info)) |