Re: Problems with Hardware, Languages, and Compilers

Arch Robison <robison@kai.com>
16 Mar 1997 23:31:50 -0500

          From comp.compilers

Related articles
Problems with Hardware, Languages, and Compilers hrubin@stat.purdue.edu (1997-03-07)
Re: Problems with Hardware, Languages, and Compilers nmm1@cus.cam.ac.uk (1997-03-09)
Re: Problems with Hardware, Languages, and Compilers hbaker@netcom.com (1997-03-09)
Re: Problems with Hardware, Languages, and Compilers mw@ipx2.rz.uni-mannheim.de (1997-03-09)
Re: Problems with Hardware, Languages, and Compilers rideau@ens.fr (Francois-Rene Rideau) (1997-03-14)
Re: Problems with Hardware, Languages, and Compilers smryan@mail.com (1997-03-14)
Re: Problems with Hardware, Languages, and Compilers rideau@ens.fr (Francois-Rene Rideau) (1997-03-16)
Re: Problems with Hardware, Languages, and Compilers robison@kai.com (Arch Robison) (1997-03-16)
Re: Problems with Hardware, Languages, and Compilers rideau@ens.fr (Francois-Rene Rideau) (1997-03-18)
Re: Problems with Hardware, Languages, and Compilers smryan@mail.com (1997-03-18)
Re: Problems with Hardware, Languages, and Compilers meissner@cygnus.com (Michael Meissner) (1997-03-18)
Re: Problems with Hardware, Languages, and Compilers dlmoore@ix.netcom.com (David L Moore) (1997-03-18)
Re: Problems with Hardware, Languages, and Compilers jan@fsnif.neuroinformatik.ruhr-uni-bochum.de (Jan Vorbrueggen) (1997-03-21)
| List of all articles for this month |
From: Arch Robison <robison@kai.com>
Newsgroups: comp.compilers,comp.lang.misc,comp.arch.arithmetic
Date: 16 Mar 1997 23:31:50 -0500
Organization: Kuck & Associates, Inc.
References: 97-03-037
Keywords: optimize, arithmetic

A fundamental problem with trying to propagate "meta knowledge"
through a compiler is that one person's "essential information" is
another person's "useless junk that is a pain to maintain".


Consider N optimizations that each require a piece of "meta
knowledge". Now there are O(N*N) pairwise interactions to consider.
If an optimization performs a transformation, then it must maintain
the "meta knowledge" required by the other N-1 optimizations. This
quickly becomes a losing battle unless that "meta knowledge" is in a
form that is limited, probably to the point of being nearly useless.


>So, if you're interested in the development of a truely reflective
>system, that allows specification and development of objects such that
>you can
>
>* modify the representation of objects (their operational semantics)
> without modifying their abstract meaning (declarative semantics)
>* more generally, provide meta-knowledge to the system
>then do join the Tunes project.


You can already do this with C++ templates to a large extent. For an
example, see http://monet.uwaterloo.ca/blitz . C++ templates, when
implemented correctly, allow Turing power (and Turing slowness!) at
compile time. This power can be used by libraries to do
domain-specific optimization at compilation time. We have users of
our C++ who are using templates essentially to write their own
compile-time optimizers for their domains.


Arch D. Robison Kuck & Associates Inc.
robison@kai.com 1906 Fox Drive
217-356-2288 Champaign IL 61820
Lead Developer for KAI C++ http://www.kai.com/C_plus_plus/index.html
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.