Type inference and implicit scaling

  • Satish Thatte
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 432)


We describe a novel application of subtyping in which a small orthogonal set of structural subtyping rules are used to capture the notion of scaling—an unusual variety of polymorphism found in APL-like languages which is attracting renewed interest due to its applications in data parallel programming. The subtyping approach allows us to provide a simple coercion-based semantics for a generalized interpretation of scaling that goes well beyond what is available in APL dialects.


Type Expression Typing Rule Type Inference List Type Typing Judgement 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [Bac78]
    Backus, J. Can Programming be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. CACM 21, 613–641 (1978)Google Scholar
  2. [Ben85]
    Benkard, J. P. Control of Structure and Evaluation. In: Proc. APL'85 Conference.Google Scholar
  3. [BC+89]
    Breazu-Tannen, V., Coquand, T., Gunter, C. and Scedrov, A. Inheritance and explicit coercion. In: Proceedings of Fourth LICS Symposium. IEEE 1989Google Scholar
  4. [Bre88]
    Breuel, T.M. Data Level Parallel Programming in C++. In: Proc. of 1988 USENIX C++ Conf., pp. 153–167.Google Scholar
  5. [Car88]
    Cardelli, L. A Semantics of Multiple Inheritance. Info. and Comp. 76, 138–164 (1988)CrossRefGoogle Scholar
  6. [CG89]
    Curien, P-L. and Ghelli, G. Coherence of Subsumption. Manuscript. 1989Google Scholar
  7. [CW85]
    Cardelli, L. and Wegner, P. On Understanding Types, Data Abstraction and Polymorphism. Computing Surveys 17 (4) (1985)Google Scholar
  8. [DM82]
    Damas, L. and Milner, R. Principle Type-schemes for Functional Programs. In: Proc. 9th POPL Symposium, Albuquerque, NM. ACM 1982Google Scholar
  9. [HL79]
    Huet, G. and Levy, J-J. Computations in Nonambiguous Linear Term Rewriting Systems. Tech. Rep. 359, INRIA-Le Chesney, France, 1979Google Scholar
  10. [HS86]
    Hillis, W.D. and Steele, G.L., Jr. Data Parallel Algorithms. CACM 29 (12) (1986)Google Scholar
  11. [Ive62]
    Iverson, K.E. A Programming Language. Wiley, New York, 1962Google Scholar
  12. [JM78]
    Jenkins, M.A. and Michel, J. Operators in an APL Containing Nested Arrays. CIS Dept., Queen's University, Kingston, Ontario. Tech. Rep. 78–60. 1978Google Scholar
  13. [Mil84]
    Milner, R. A Proposal for Standard ML. In: Proc. 1984 ACM Symp. on LISP and Functional Programming, Austin, TX., pp. 184–197. ACM 1984Google Scholar
  14. [Mit88]
    Mitchell, J.C. Polymorphic Type Inference and Containment. Information and Computation 76, 211–249 (1988)CrossRefGoogle Scholar
  15. [Rey80]
    Reynolds, J.C. Using Category Theory to Design Implicit Conversions and Generic Operators. In: Semantics Directed Compiler Generation (N.D.Jones, Ed.), pp. 211–258, Lecture Notes in Computer Science, Vol. 94. Springer-Verlag 1980Google Scholar
  16. [Rey85]
    Reynolds, J.C. Three Approaches to Type Structure. In: Proc. TAPSOFT 1985, Lecture Notes in Computer Science, Vol. 186. Springer-Verlag 1985Google Scholar
  17. [Tha88]
    Thatte, S.R. Type Inference with Partial Types. In: Proc. 15th ICALP. Lecture Notes in Computer Science, Vol. 317, pp.615–629. Springer-Verlag 1988Google Scholar
  18. [Tha90]
    Thatte, S.R. Quasi-static Typing. In: Proc. of the 17th POPL Symposium, San Francisco, CA. ACM 1990Google Scholar
  19. [Vis89]
    Vishnubhotla, P. Data Parallel Programming on Transputer Networks. In: Proc. of 2nd Conf. of North American Transputer Users Group, G.S. Stiles (Ed.). April 1989Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Satish Thatte
    • 1
  1. 1.Department of Mathematics and Computer ScienceClarkson UniversityPotsdamUSA

Personalised recommendations