IJITCS Vol. 8, No. 5, 8 May 2016
Cover page and Table of Contents: PDF (size: 442KB)
Full Text (PDF, 442KB), PP.13-27
Views: 0 Downloads: 0
Functional, object-oriented, programming language
We describe the programming language FOBS-X (Extensible FOBS). FOBS-X is interpreted, and is intended as a universal scripting language. One of the more interesting features of FOBS-X is its ability to be extended, allowing it to be adopted to new scripting environments. FOBS-x is structured as a core language that is parsed by the interpreter, and an extended language that is translated to the core by macro expansion. The syntax of the language can easily be modified by writing new macros. The library for FOBS-X is reconfigurable, allowing the semantics of the language to be modified, and adapted to facilitate the interaction with interfaces to new scripting environments. This paper focuses on the tools used for the semantic extension of the language. A tool called FEDELE has been developed, allowing the user to add library modules to the FOBS-X library. In this way the semantics of the language can be enhanced, and the language can be adapted.
James Gil de Lamadrid, "Extending the Syntax and Semantics of the Hybrid Functional-Object-Oriented Scripting Language FOBS with FEDELE", International Journal of Information Technology and Computer Science(IJITCS), Vol.8, No.5, pp.13-27, 2016. DOI:10.5815/ijitcs.2016.05.02
[1]A. Alexandrescu The D Programming Language, Adison Wesley, 2010.
[2]M. Beaven, R. Stansifer, D. Wetlow, ”A functional language with classes”, Lecture Notices in Computer Science, vol. 507, Springer Verlag, 1991.
[3]D. Beazley, G. Van Rossum: Python; Essential Reference. New Riders Publishing, Thousand Oaks, CA. 1999.
[4]J. Gil de Lamadrid, J. Zimmerman, ”Core FOBS: a hybrid functional and object-oriented language”, Computer Languages, Systems & Structures, vol. 38, 2012.
[5]J. Gil de Lamadrid, ”Combining the functional and object-oriented paradigms in the FOBS-X scripting language”, International Journal of Programming Languages and Applications, vol. 3, no. 2, AIRCC, Oct. 2013.
[6]J. A. Goguen, J. Mesegner, ”Unifying functional, object-oriented, and relational programming with logical semantics”, Research Directions in Object-Oriented Programming, pp. 417-478, MIT Press, 1987.
[7]S. C, Johnson, Yacc: Yet Another Compiler-Compiler. AT&T Bell Laboratories. 2014.
[8]X. Leroy, D. Doligez, A. Frisch, J. Garrigue, D. Remy, J. Vouillon, The OCaml System Release 4.00: Documentation and Users Manual. Institut National de Recherche en Informatique et en Automatique, 2012.
[9]M. Page-Jones, Fundamentals of Object-Oriented Design in UML, pp. 327-336, Addison Wesley, 2000.
[10]S. L. Peyton Jones, P. Wadler, ”Imperative functional programming”, POPL, Charleston, Jan, 1993.
[11]S. S. Yau, X. Jia, D. H. Bae, ”Proof: a parallel object-oriented functional computation model”, Journal of Parallel Distributed Computing, vol. 12, 1991.
[12]M. Odersky, L. Spoon, B. Venners, Programming in Scala, Artima, Inc. 2008.
[13]T. Walid, T Sheard, ”MetaML and multi-stage programming with explicit annotations”, Proceedings of ACM SIGPLAN Symposium on Partial Evaluation and Semantic Based Program Manipulation, pp. 203-217, Amsterdam, NL, 1997.