Re: Runtime macros



"Randall Randall" <randall@xxxxxxxxxxxxxxxxxx> wrote in message
news:42bedf36$1_4@xxxxxxxxxxxxxxxxxxxxx
> be a static type to the programmer). Runtime macros with optional
> replacement would allow DEFUN forms, for example, to register the
> "function"
> as a macro rather than a function, and at runtime, the macro could examine
> the actual arguments it got, in addition to their names, and provide
> appropriate declarations in its output, and then ask the compiler to
> replace it with the function in question. The programmer need not write
> declarations again (except for those cases where it wouldn't be possible
> to figure out the proper declaration from a single example), and yet,

It seems to me this last qualification dooms your idea in the way I was
about to try to explain! When is a single example *ever* going to tell you
what to expect everytime? ISTM, if there are cases where you as a
programmer can know that the first type seen indicates it is always that
type that that can only be an artifact of some implementation detail about
your whole system, eg harware, or third party code etc. If this is the
case, you should be able to determine these things at complile time. If it
really must wait til runtime, then just delay compilation until then (which
is all you are doing in a round-about way with your plan anyway).

You could have a special defun type form that checks if it has yet been
called, if this is the first time, check the types of its arguments, put the
declarations into the body of its code, compile it and them setf the
symbol-function so that next time it just proceeds.

--
Coby Beck
(remove #\Space "coby 101 @ bigpond . com")


.



Relevant Pages

  • Re: Runtime macros
    ... >>>be a static type to the programmer). ... >>>as a macro rather than a function, and at runtime, the macro could ... >>>declarations again (except for those cases where it wouldn't be possible ... >> You could have a special defun type form that checks if it has yet been ...
    (comp.lang.lisp)
  • Re: variable declaration
    ... > think about the cost of lack of var declarations. ... > programmer will waste while remembering exact variable name. ... Traceback: ...
    (comp.lang.python)
  • Re: B0
    ... if you've got an assembler like MASM, TASM, or HLA that supports ... declarations, this union declaration makes it very clear that my_va* ... programmer rather than a great programmer. ...
    (alt.lang.asm)
  • Re: Different syntax for declarations.
    ... the docstring is placed after declarations. ... decl-defun would still end up as a macro having the signature ... in spite of the wrapping progn and declaim material. ...
    (comp.lang.lisp)
  • Re: Noob to C++, trying to get syntax, etc.
    ... Declarations and definitions aren't too much different from what they ... > WorldGreeter ... > The console stream object, cout, passes into greetby reference. ... Here's a macro, using some of those stream things: ...
    (comp.lang.cpp)