freenode/#lisp - IRC Chatlog
Search
10:34:09
makomo_
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:37:32
mrcom
What's the type declaration for (defun baz (f) (declare (type <<??? something that accepts foo>> f))) ?
10:49:38
mrcom
That's what I wound up doing :/ But the better really, really hates losing to the good.
10:51:00
trittweiler
I'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:42
mrcom
I'm looking more for type checking than optimizing. SBCL definitely checks when it compiles apply or funcall.
10:54:04
trittweiler
When 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)
14:13:37
flip214
trittweiler: with SBCL and (optimize speed) the disassembly with the different declare statements is quite different...
15:55:51
beach
random-nick: There is usually no point in asking "why" in such situations. This is true both for programming languages and natural languages. At some point, there was a mysterious consensus that one was better than the other. That's all there is to it usually.
15:57:00
beach
random-nick: Why is it called "tooth brush" but "dental floss" in English? Why not "dental brush" and "tooth floss"?
15:59:27
beach
random-nick: You also have define-compiler-macro, define-method-combination, define-modify-macro, define-setf-expander, define-symbol-macro.
16:01:29
jackdaniel
random-nick: one (made up) reason could be, that defun and defmacro were heritage from older lisps, while "modern" way for naming macros when CL was standarized was using define-* and the were to add conditions to the language
16:02:55
jackdaniel
random-nick: I've given you a made up excuse, there could be others. I wouldn't bother with figuring that out
16:03:04
jackdaniel
there are more annoying inconsistencies in CL, like argument order in aref and gethash for that instance
16:05:30
jackdaniel
I haven't seen even one project which would use CL21; I've only seen people praising or ignoring it ;-)
16:05:46
jmercouris
I've never used it, simply because the problems it addresses don't bother me enough