[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Support for Meta-Programming



Stewart Greenhill (greenhil@murdoch.edu.au) schrieb:

 >Another way to do it would be to write all of a module's definitions to the
 >symbol file, but  tag each item as exported or not exported. That way, the
 >compiler can tell which items may be imported, but a debugger can also
 >access non-exported items via Refs. Some meta-programming systems (eg.
 >Oberon/F, Blackbox) only allow access to exported items.

The disadvantages for putting meta informatio into the symbol files are:

1) Symbol file gets more complicated, which will slow down reading it
   Further on:

1a) Symbol files would contain _all_ declared variables, even those of
    nested procedures. This would mean throwing away the "it's the interface
    only"-paradigma.

1b) All tools accessing symbol would have to be rewritten/changed.

2) Current meta information is very, very simple. Thus replacing it by the
   symbolfile would slow down access to meta infromation a _lot_.

 >Of course, the advantage of separate files is that you can control whether
 >you allow others to access the private, non-exported information. It would

The _big_ disadvantage would be: a module using meta information would
require the seberate file to be available.

+++hartmut