[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1622123.1622149acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

X-expressions in XMLisp: S-expressions and extensible markup language unite

Published: 01 April 2007 Publication History

Abstract

XMLisp unites S-expressions with XML into X-expressions that unify the notions of data sharing with computation. Using a combination of the Meta Object Protocol (MOP), readers and printers, X-expressions uniquely integrate XML at a language, not API level, into Lisp in a way that could not be done with other programming languages. Integration at a language level has significant advantages by making XML tangible to the programmer throughout existing Lisp development tools including editors, debuggers, inspectors, listeners and compilers. This integration with Lisp tools enables XML development in the incremental development style Lisp programmers have become accustomed to. This article describes XMLisp in the context of the AgentCubes simulation and gameauthoring tool. AgentCubes is the 3D version of AgentSheets system, which is the world's most distributed Lisp-based educational simulation and game-authoring tool.

References

[1]
J. McCarthy, "Recursive functions of symbolic expressions and their computation by machine, Part I,"Communications of the ACM, vol. 3, pp. 184--195, 1960.
[2]
Wikipedia, "S-expression", http://en.wikipedia.org/wiki/S-expression.
[3]
W3C, "Document Object Model (DOM)", http://www.w3.org/DOM/.
[4]
Franz, "Document Object Model (DOM) in Allegro Common Lisp", http://www.franz.com/support/documentation/8.0/doc/dom.htm.
[5]
"SAX", http://www.saxproject.org/.
[6]
"SSAX", http://sourceforge.net/projects/ssax, http://ssax.sourceforge.net/.
[7]
Franz, "A Sax XML Parser for Allegro Common Lisp", http://www.franz.com/support/documentation/8.0/doc/sax.htm.
[8]
R. Muvva, "DOM Vs SAX What is best?" http://www.code101.com/Code101/DisplayArticle.aspx?eid=37.
[9]
Wikipedia, "Simple API for XML", http://en.wikipedia.org/wiki/Simple_API_for_XML.
[10]
Wikipedia, "Document Object Model", http://en.wikipedia.org/wiki/Document_Object_Model.
[11]
"Scalable Vector Graphics (SVG)", http://www.w3.org/Graphics/SVG/.
[12]
D. H. H. Ingalls, "A simple technique for handling multiple polymorphism," presented at Conference on Object Oriented Programming Systems Languages and Applications, Portland, Oregon, USA, 1986.
[13]
Wikipedia, "Multiple dispatch", http://en.wikipedia.org/wiki/Multimethods.
[14]
A. Repenning and A. Ioannidou, "AgentCubes: Raising the Ceiling of End-User Development in Education through Incremental 3D," presented at IEEE Symposium on Visual Languages and Human-Centric Computing, 2006, Brighton, United Kingdom, 2006.
[15]
AgentSheets Inc., "<XMLisp)", http://www.agentsheets.com/lisp/XMLisp/.
[16]
J. Gray, "A conversation with Tim Bray," ACM Queue, vol. 3, pp. 20--25, 2005.
[17]
A. Møller and M. I. Schwartzbach, "Schema Languages," in An Introduction to XML and Web Technologies: Addison-Wesley, 2006.
[18]
W3C, "XML Schema", http://www.w3.org/XML/Schema.
[19]
J. Anderson, "CL-XML", http://pws.prserv.net/James.Anderson/XML/.
[20]
"JAXB", http://java.sun.com/webservices/jaxb/.
[21]
M. Plusch, Water: Simplified Web Services and XML Programming: Wiley, 2002.
[22]
"Water Language", http://www.waterlanguage.org/.
[23]
A. Ioannidou and A. Repenning, "End-User Programmable Simulations," Dr. Dobb's, pp. 40--48, 1999.
[24]
A. Repenning and A. Ioannidou, "Agent-Based End-User Development," Communications of the ACM, vol. 47, pp. 43--46, 2004.
[25]
A. Repenning and J. Ambach, "Tactile Programming: A Unified Manipulation Paradigm Supporting Program Comprehension, Composition and Sharing," presented at Proceedings of the 1996 IEEE Symposium of Visual Languages, Boulder, CO, 1996.
[26]
A. Repenning and A. Ioannidou, "Behavior Processors: Layers between End-Users and Java Virtual Machines," presented at Proceedings of the 1997 IEEE Symposium of Visual Languages, Capri, Italy, 1997.
[27]
A. Repenning, "Inflatable Icons: Diffusion-based Interactive Extrusion of 2D Images into 3D Models.," The Journal of Graphical Tools, vol. 10, pp. 1--15, 2005.
[28]
A. Ioannidou, "Programmorphosis: a Knowledge-Based Approach to End-User Programming," presented at Interact 2003: Bringing the Bits together, Ninth IFIP TC13 International Conference on Human-Computer Interaction, Zürich, Switzerland, 2003.
[29]
A. Repenning and A. Ioannidou, "Mobility Agents: Guiding and Tracking Public Transportation Users," presented at Proceedings of AVI 2006 Advanced Visual Interfaces International Working Conference, Venice, Italy, 2006.

Cited By

View all
  • (2017)Automatic generation of network element software (AGNES)Proceedings of the 12th Annual Conference on Cyber and Information Security Research10.1145/3064814.3064821(1-4)Online publication date: 4-Apr-2017
  • (2013)Extensible LanguagesFormal and Practical Aspects of Domain-Specific Languages10.4018/978-1-4666-2092-6.ch001(1-31)Online publication date: 2013
  • (2010)Mr. Vetro: A Collective Simulation for teaching health scienceInternational Journal of Computer-Supported Collaborative Learning10.1007/s11412-010-9082-85:2(141-166)Online publication date: 30-Mar-2010
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
ILC '07: Proceedings of the 2007 International Lisp Conference
April 2007
187 pages
ISBN:9781595936189
DOI:10.1145/1622123
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Association of Lisp Users

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. 3D tools
  2. XML
  3. meta object protocol
  4. object-oriented programming

Qualifiers

  • Research-article

Funding Sources

Conference

ILC07
Sponsor:
ILC07: 2007 International Lisp Conference
April 1 - 4, 2007
Cambridge, United Kingdom

Acceptance Rates

Overall Acceptance Rate 18 of 26 submissions, 69%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Automatic generation of network element software (AGNES)Proceedings of the 12th Annual Conference on Cyber and Information Security Research10.1145/3064814.3064821(1-4)Online publication date: 4-Apr-2017
  • (2013)Extensible LanguagesFormal and Practical Aspects of Domain-Specific Languages10.4018/978-1-4666-2092-6.ch001(1-31)Online publication date: 2013
  • (2010)Mr. Vetro: A Collective Simulation for teaching health scienceInternational Journal of Computer-Supported Collaborative Learning10.1007/s11412-010-9082-85:2(141-166)Online publication date: 30-Mar-2010
  • (2008)Agent warp engineProceedings of the working conference on Advanced visual interfaces10.1145/1385569.1385614(279-286)Online publication date: 28-May-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media