;;; The value model of a connector must supply a plunk-generator
;;;   if there are units, for example.

(define (cp:plunk-network network #!optional chooser)
  (if (default-object? chooser) (set! chooser car))
  (let* ((unassigned-connectors
	  (keep-matching-items (cp:network-connectors network)
	    (lambda (conn) (not (cp:has-value? conn)))))
	 (chosen-connector (chooser unassigned-connectors)))
    (cp:plunk-connector connector)))

(define (cp:plunk-connector connector)
  (let ((new-variable
	 ((or (cp:plunk-generator	
	       (cp:connector-value-model connector))
	      generate-uninterned-symbol)
	  (cp:connector-name connector))))
    (cp:assume-value connector new-variable)))

#|
;;; In scmutils, after building c<-->f converter

(cp:plunk-connector c)

(pe (cp:value-of c))
c4

(pe (cp:value-of f))
(+ 32 (* 9/5 c4))
|#

	 
