10:34:09makomo_edgar-rft: regarding your comment about feedback paths -- yes, it's possible to model those as well since pins can be used as input, output or both
10:34:30mrcomHow do you declare a type def for a function with keywords?
10:36:11mrcome.g., given (defun foo (a &key b)) (declare (type fixnum a) (type list b)) ...)
10:37:32mrcomWhat's the type declaration for (defun baz (f) (declare (type <<??? something that accepts foo>> f))) ?
10:38:28mrcomAnd I'm not looking for (declare (type function f)) :)
10:48:39trittweilermrcom: (declare (type function f))
10:49:38mrcomThat's what I wound up doing :/ But the better really, really hates losing to the good.
10:51:00trittweilerI'd be surprised if there's a compiler that does anything more with that specification in praxis that it wouldn't do with (declare (type function f))
10:52:42mrcomI'm looking more for type checking than optimizing. SBCL definitely checks when it compiles apply or funcall.
10:54:04trittweilerWhen you declare a parameter to be a function, and you funcall that parameter, the compiler doesn't need to go through an implicit call to fdefinition. (As symbols and lists of form '(setf foo) are also callable)