After recently seeing some more discussions about the separation of function and value namespaces, I thought "If they want to save typing, they should use a macro". There is already the #' reader macro for FUNCTION, which refers to something from the function namespace where the default would be the value namespace. There should also be a reader macro for FUNCALL, which allows to execute something from the value namespace. I wanted to use #" for symmetry reasons, but this seems to confuse something, so I used #^:
Comments?
(set-dispatch-macro-character #\# #\^
(lambda (stream subchar number)
(declare (ignore stream subchar number))
'funcall))
Is using #^ OK, or is there some CL implementation that already uses it? I know that only !, [, ], {, }, and ? are explicitly reserved for the user, but my reasoning here is that this is rather a general language extension.Comments?
"Just throw more hardware at it" is the root of all evil.
Svante
Svante