Implementation of an A+ Interpreter for .NET

Péter Gál, Ákos Kiss


In this paper, we introduce a clean room implementation of an A+ interpreter for the .NET platform. Our goal was to allow interoperability between A+ and .NET programs, thus unlocking existing routines to .NET developers and making .NET class libraries available to A+ developers. In a preliminary experiment, we made the advantage of interoperability visible: we achieved a 5-fold speedup by calling .NET methods from an A+ script. Additionally, we have also shown how to use A+ as an embedded domain-specific language in C# code.


  1. Black, F. and Scholes, M. (1973). The pricing of options and corporate liabilities. Journal of Political Economy, 81(3):637-654.
  2. Blaze, J. (2009). Prior and current versions of VisualAPL. APL2000 Developer Network Forum, http:// (Accessed 5 June 2012).
  3. Chiles, B. and Turner, A. (2009). Dynamic Language Runtime. (Accessed 26 April 2012).
  4. Clayton, L., Eklof, M. D., and McDonnell, E. (2000). ISO/IEC 13751:2000(E): Programming Language APL, Extended. Internation Standards Organization.
  5. Fugate, D. (2010). IronPython performance comparisons. title=IronPython%20Performance (Accessed 26 April 2012).
  6. Hammond, M. (2000). Python for .NET: Lessons learned. ActiveState Tool Corporation.
  7. Hugunin, J. (1997). Python and Java - the best of both worlds. In Proceedings of the 6th International Python Conference, pages 11-20, San Jose, CA, USA.
  8. Hugunin, J. (2004). IronPython: A fast Python implementation for .NET and Mono. In PyCON 2004, Washington, DC, USA.
  9. Hugunin, J. (2007). A dynamic language runtime (DLR). http://blogs.msdn. com/b/hugunin/archive/2007/04/30/ a-dynamic-language-runtime-dlr.aspx (Accessed 26 April 2012).
  10. Kromberg, M., Manktelow, J., and Scholes, J. (2010). APL# - an APL for Microsoft.Net. In Conference USB stick of APL2010, Berlin, Germany.
  11. Mascarenhas, F. and Ierusalimschy, R. (2004). LuaInterface: Scripting the .NET CLR with Lua. Journal of Universal Computer Science, 10(7):892-909.
  12. Morgan Stanley (1995-2008). A+ Language Reference. (Accessed 26 April 2012).
  13. Parr, T. (2007). The Definitive ANTLR Reference: Building Domain-Specific Languages. Pragmatic Programmers. Pragmatic Bookshelf, first edition.
  14. Sun Microsystems (2006). JSR-223: Scripting for the Java Platform.
  15. Sun Microsystems (2011). JSR-292: Supporting Dynamically Typed Languages on the Java Platform.

Paper Citation

in Harvard Style

Gál P. and Kiss Á. (2012). Implementation of an A+ Interpreter for .NET . In Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT, ISBN 978-989-8565-19-8, pages 297-302. DOI: 10.5220/0004129202970302

in Bibtex Style

author={Péter Gál and Ákos Kiss},
title={Implementation of an A+ Interpreter for .NET},
booktitle={Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,},

in EndNote Style

JO - Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,
TI - Implementation of an A+ Interpreter for .NET
SN - 978-989-8565-19-8
AU - Gál P.
AU - Kiss Á.
PY - 2012
SP - 297
EP - 302
DO - 10.5220/0004129202970302