Skip to main content

Extending A+ with Object-Oriented Elements

A Case Study for A+.NET

  • Conference paper
  • First Online:
Computational Science and Its Applications – ICCSA 2021 (ICCSA 2021)

Abstract

This work presents a language extension to A+ that allows developers to conveniently handle external objects in A+ code. It discusses a set of object-oriented concepts and investigates their implications for the A+ language. For these new language elements, new symbols are added, and each of them represents basic operations (member access, member modification, type casting, and indexing) on objects. For each new operation the underlying mechanism is presented, and simple examples are provided showing their usage. Using these new operations, various .NET classes can be accessed and used from A+ programs without writing any additional code.

The presented language extension in this paper is runtime agnostic and it could enable the interoperation of A+ not only with the .NET framework but with other object-oriented runtimes, too. Additionally this extension adds the basic mechanisms for implementing full object-oriented support for the A+ language in the future.

Csaba Bátori was with the Department of Software Engineering at the time of the language extension work.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Project hosted at: https://github.com/elecro/aplusdotnet.

References

  1. Brown, R.G.: Object oriented APL: an introduction and overview. In: Proceedings of the International Conference on APL-Berlin-2000 Conference, APL 2000, pp. 47–54. ACM, New York (2000). https://doi.org/10.1145/570475.570482

  2. Clayton, L., Eklof, M.D., McDonnell, E.: ISO/IEC 13751:2000(E): Programming Language APL. Extended, International Standards Organization, June 2000

    Google Scholar 

  3. Dyalog Ltd.: Dyalog APL. http://www.dyalog.com/. Accessed 15 June 2021

  4. ECMA International: ECMA-334 - C# Language Specification, 5th edn., December 2017. https://www.ecma-international.org/wp-content/uploads/ECMA-334_5th_edition_december_2017.pdf. Accessed 15 June 2021

  5. Gál, P., Kiss, Á.: Implementation of an A+ interpreter for .NET. In: Proceedings of the 7th International Conference on Software Paradigm Trends (ICSOFT 2012), Rome, Italy, pp. 297–302. SciTePress, 24–27 July 2012. https://doi.org/10.5220/0004129202970302

  6. Gál, P., Kiss, Á.: A comparison of maintainability metrics of two A+ interpreters. In: Proceedings of the 8th International Joint Conference on Software Technologies - ICSOFT-EA, (ICSOFT 2013), pp. 292–297. INSTICC, SciTePress (2013). https://doi.org/10.5220/0004597702920297

  7. Girardot, J.J., Sako, S.: An object oriented extension to APL. In: Proceedings of the International Conference on APL: APL in Transition, APL 1987, pp. 128–137. ACM, New York (1987). https://doi.org/10.1145/28315.28330

  8. Kromberg, M.J.: Arrays of objects. In: Proceedings of the 2007 Symposium on Dynamic Languages, DLS 2007, pp. 20–28. Association for Computing Machinery, New York (2007). https://doi.org/10.1145/1297081.1297087

  9. Bernardin, L., Chin, P., DeMarco, P., et al.: Maple Programming Guide. Maplesoft (2011)

    Google Scholar 

  10. MathWorks: Matlab Object-Oriented Programming (2021). https://www.mathworks.com/help/pdf_doc/matlab/matlab_oop.pdf. Accessed 15 June 2021

  11. Morgan Stanley: A+ Language Reference (1995–2008). http://www.aplusdev.org/Documentation/. Accessed 15 June 2021

  12. Register, A.H.: A Guide to MATLAB Object-Oriented Programming. Scitech Pub Inc. (2007). https://doi.org/10.5555/1202571

Download references

Acknowledgements

This research was supported by grant NKFIH-1279-2/2020 of the Ministry for Innovation and Technology, Hungary.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Péter Gál .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Gál, P., Bátori, C., Kiss, Á. (2021). Extending A+ with Object-Oriented Elements. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2021. ICCSA 2021. Lecture Notes in Computer Science(), vol 12957. Springer, Cham. https://doi.org/10.1007/978-3-030-87013-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-87013-3_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-87012-6

  • Online ISBN: 978-3-030-87013-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics