From fd094d2fdcbc99493c7ad9420f4b38ec1cd4b825 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 15 Jun 2023 22:42:13 +0200 Subject: Un-GOOPS some procedures These don't need to be generic any more, now that we only have one type of attribute. --- guile/starlet/engine.scm | 2 +- guile/starlet/fixture.scm | 11 ++--------- guile/starlet/scanout.scm | 3 +-- guile/starlet/state.scm | 4 +--- 4 files changed, 5 insertions(+), 15 deletions(-) diff --git a/guile/starlet/engine.scm b/guile/starlet/engine.scm index c63cb9b..28f4321 100644 --- a/guile/starlet/engine.scm +++ b/guile/starlet/engine.scm @@ -125,7 +125,7 @@ (define name (patch-many-real (quote name) stuff ...))))) -(define-method (current-value (fix ) (attr-name )) +(define (current-value fix attr-name) (let ((v (state-find fix attr-name (current-value-state)))) (if (eq? v 'no-value) (get-attr-home-val fix attr-name) diff --git a/guile/starlet/fixture.scm b/guile/starlet/fixture.scm index 2711f9e..dfb5381 100644 --- a/guile/starlet/fixture.scm +++ b/guile/starlet/fixture.scm @@ -168,21 +168,14 @@ (is-a? f )) -(define-method (find-attr (fix ) (attr-name )) +(define (find-attr fix attr-name) (find (lambda (a) (eq? (get-attr-name a) attr-name)) (get-fixture-attrs fix))) -(define-method (find-attr fix attr-name) - (raise-exception - (make-exception - (make-exception-with-message "Invalid parameters") - (make-exception-with-irritants fix)))) - - -(define-method (get-attr-home-val (fix ) (attr )) +(define (get-attr-home-val fix attr) (let ((attr-obj (find-attr fix attr))) (if attr-obj (attr-home-value attr-obj) diff --git a/guile/starlet/scanout.scm b/guile/starlet/scanout.scm index df6245d..69f3e9c 100644 --- a/guile/starlet/scanout.scm +++ b/guile/starlet/scanout.scm @@ -25,7 +25,6 @@ #:use-module (starlet utils) #:use-module (starlet attributes) #:use-module (starlet guile-ola) - #:use-module (oop goops) #:use-module (ice-9 threads) #:use-module (ice-9 atomic) #:use-module (ice-9 exceptions) @@ -44,7 +43,7 @@ (define current-scanout-state (make-parameter (make-empty-state))) -(define-method (get-attr (attr-name )) +(define (get-attr attr-name) (let ((v (state-find (current-scanout-fixture) attr-name (current-scanout-state)))) diff --git a/guile/starlet/state.scm b/guile/starlet/state.scm index a66c342..588e887 100644 --- a/guile/starlet/state.scm +++ b/guile/starlet/state.scm @@ -183,9 +183,7 @@ (atomic-box-ref (get-ht-box state)))) -(define-method (state-find (fix ) - (attr ) - (state )) +(define (state-find fix attr state) (hash-ref (atomic-box-ref (get-ht-box state)) (cons fix attr) 'no-value)) -- cgit v1.2.3