]> git.jsancho.org Git - gacela.git/commitdiff
New procedure-header procedure.
authorJavier Sancho <jsf@jsancho.org>
Fri, 27 Jul 2012 18:33:43 +0000 (20:33 +0200)
committerJavier Sancho <jsf@jsancho.org>
Fri, 27 Jul 2012 18:33:43 +0000 (20:33 +0200)
src/utils.scm
src/views.scm

index 17d1bbfb5d35d098f05472533f4ac930aabb2782..f2b339aa18ebbbfe365490ec59037f12dd3bb697 100644 (file)
 
 
 (define-module (gacela utils)
-  #:export (use-cache-with))
+  #:use-module (ice-9 session)
+  #:export (use-cache-with
+           procedure-header))
 
 
 ;;; Cache for procedures
-
 (define (use-cache-with proc)
   (let ((cache (make-weak-value-hash-table)))
     (lambda (. param)
               (set! res (apply proc param))
               (hash-set! cache key res)
               res))))))
+
+
+;;; Retrive header definition of a procedure
+ (define (procedure-header proc)
+   (let* ((args (procedure-arguments proc))
+        (name (procedure-name proc))
+        (required (cdar args)))
+     (cons name required)))
index 06625778d0edb1e20d8536ae4c43c48a71ffc2a5..32a7c3c30b35eecca5829a461c32f183f906ebfb 100644 (file)
           (set! properties (assoc-set! properties (car params) (cadr params)))))))))
 
 (define* (show mesh #:optional (view default-view))
-  (let ((id (mesh 'get-property 'id)))
+  (let ((id (mesh 'inner-property 'id)))
     (if (not (hash-ref view id))
        (hash-set! view id mesh))))
 
 (define* (hide mesh #:optional (view default-view))
-  (hash-remove! view (mesh 'get-property 'id)))
+  (hash-remove! view (mesh 'inner-property 'id)))
 
 (define* (translate mesh x y #:optional (z 0))
   (mesh 'translate x y z)