array shape analysis for array languages

Robert Bernecky <bernecky@acm.org>
23 Mar 1999 12:26:47 -0500

          From comp.compilers

Related articles
array shape analysis for array languages bernecky@acm.org (Robert Bernecky) (1999-03-23)
| List of all articles for this month |
From: Robert Bernecky <bernecky@acm.org>
Newsgroups: comp.lang.functional,comp.compilers
Date: 23 Mar 1999 12:26:47 -0500
Organization: Snake Island Research Inc
Keywords: optimize

I'm working on compiler optimizations for array-based languages such
as APL, J, SISAL, and SAC. I am familiar with the work done in the
above languages in the area of array shape analysis, but want to know
if this is a topic that has gotten any attention in other
languages. If so, pointer to URLs, Conference Proceedings, journal
articles, etc., is quite welcome, as are pointers to languages with
similar characteristics.


This has nothing to do with computer graphics, by the way.


Array shape analysis has to do with compile-time extraction
of the properties of arrays. For example, a vector expression such as:
      1 2 + 4 8
gives 5 12 as its result.


    1 2 3 + 4 8
gives an error because the array shapes are not conformable
(3 elements vs 2).


The problem gets more interesting when you have something like:
          x <- 10 0 1 2 3
          y<- 2 drop x NB. That's 1 2 3
          z<- x, 88 99 NB. That's 1 2 3 88 99
          x+z


Now, we want to add x+y, getting:
          11 2 4 90 102


The hard part is deducing at compile time that the two vectors are the
same shape (length). In this case, it's trivial (Look at the APEX
compiler to see how it's done -- home.ican.net/~bernecky) but in the
more general case, we don't even know the shape of x until run-time.


Thanks. Bob


Post a followup to this message

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