Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Unified selection from lists, arrays, and objects

Published: 01 October 2002 Publication History
  • Get Citation Alerts
  • Abstract

    The first language computer science students learn, more often than not, is a common production language such as C++ or Java. A minority of curricula, however, begin with a language, such as Scheme, assumed to be a better framework for teaching about computation. SWAY is an experimental teaching language, as expressive as Scheme, but provides an easier transition to production languages. It is a functional language at its core, but adds assignment and a simple object system. One of the goals of SWAY is to incorporate C-style syntax, but to vary from that syntax when pedagogical or ease of programming needs arise. One such area that SWAY differs from languages with C-like expressions is in the selection of items from homogeneous and heterogeneous aggregates. Much like the overloading of the plus operator to add integers as well as reals, a single operator is used for selection in SWAY, regardless of the aggregate structure. It is shown that taking such an approach naturally eases the burden of moving from arrays to objects to lists, in any order, both in teaching and programming.

    References

    [1]
    Steele Jr GL, Sussman G. Scheme: an interpreter for the extended lambda calculus. Artificial Intelligence Memo 349. Cambridge, MA: MIT Press, 1975.
    [2]
    . 1996. 2nd ed. MIT Press, Cambridge, MA.
    [3]
    Berman, A.M., Does scheme enhance an introductory programming course? Some preliminary empirical results. SIGPLAN Notices. v29 i2. 44-48.
    [4]
    Perlis A. The synthesis of algorithmic systems. 1966 Turing award lecture, ACM Turing award lectures: the first twenty years: 1966-1985. New York: ACM Press, 1987.
    [5]
    Mccarthy, J., Recursive functions of symbolic expressions and their computation by machine. Communications of the Association for Computing Machinery. v3 i4. 184-195.
    [6]
    Henneman W. An auxiliary language for more natural expression. In: The programming language LISP: its operation and applications. Cambridge, MA: Information International, Inc. and MIT Press, 1985.
    [7]
    Wegbreit B. Studies in extensible programming languages. PhD thesis. Cambridge, MA: MIT Press, 1970.
    [8]
    Pratt V. GCOL: An alternate external representation for LISP users. AI Working Paper 121, MIT Artificial Intelligence Library, MIT, Cambridge, MA, 1976.
    [9]
    Steele Jr, G.L. and Gabriel, R.P., The evolution of LISP. SIGPLAN Notices. v28 i3. 231-270.
    [10]
    Esendal HT. The selection of first programming language. The Proceedings of the Annual CTI Conference, 1994.
    [11]
    Heering, J. and Klint, P., Towards monolingual programming environments. ACM Transactions on Programming Languages and Systems. v7 i2. 183-213.
    [12]
    Shalit, A., . 1996. Addison-Wesley, Reading, MA.
    [13]
    Friedman, D., Wand, M. and Haynes, C., . 2001. 2nd ed. MIT Press, Cambridge, MA.
    [14]
    Milner, R., Tofte, M., Harper, R. and Mcqueen, D., . 1997. MIT Press, Cambridge, MA.
    [15]
    Murer, S., Omohundro, S., Stoutamire, D. and Szyperski, C., Iteration abstraction in Sather. ACM Transactions on Programming Languages and Systems. v18 i1. 1-15.
    [16]
    Hewitt, C., Viewing control structures as patterns of passing messages. Artificial Intelligence. v8 i3. 323-364.
    [17]
    Minsky M. A LISP garbage collector algorithm using serial secondary storage. Artificial Intelligence Memo 58 (revised). Cambridge, MA: MIT Press, 1963.
    [18]
    Fenichel, R. and Yochelson, J., A LISP garbage-collector for virtual-memory computer systems. CACM. v12 i11. 611-612.
    [19]
    Hansen, W., Subsequence references: first-class values for substrings. . ACM Transactions on Programming Languages and Systems. v14 i4. 471-489.

    Cited By

    View all
    • (2009)Language subsetting via reflection and overloadingProceedings of the 39th IEEE international conference on Frontiers in education conference10.5555/1733663.1733941(1187-1192)Online publication date: 18-Oct-2009

    Index Terms

    1. Unified selection from lists, arrays, and objects
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Computer Languages, Systems and Structures
      Computer Languages, Systems and Structures  Volume 28, Issue 3
      October, 2002
      70 pages

      Publisher

      Elsevier Science Publishers B. V.

      Netherlands

      Publication History

      Published: 01 October 2002

      Author Tags

      1. Selection from aggregates
      2. Simple programming languages
      3. Uniform syntax

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0

      Other Metrics

      Citations

      Cited By

      View all
      • (2009)Language subsetting via reflection and overloadingProceedings of the 39th IEEE international conference on Frontiers in education conference10.5555/1733663.1733941(1187-1192)Online publication date: 18-Oct-2009

      View Options

      View options

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media