Journal article Open Access

Symbols as Namespaces in Common Lisp

Alessio Stalla


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.2648195</identifier>
  <creators>
    <creator>
      <creatorName>Alessio Stalla</creatorName>
    </creator>
  </creators>
  <titles>
    <title>Symbols as Namespaces in Common Lisp</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2019</publicationYear>
  <subjects>
    <subject>Symbols</subject>
    <subject>Namespaces</subject>
    <subject>Packages</subject>
    <subject>Hierarchy</subject>
    <subject>Common Lisp</subject>
    <subject>ABCL</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2019-04-01</date>
  </dates>
  <language>en</language>
  <resourceType resourceTypeGeneral="Text">Journal article</resourceType>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/2648195</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="ISBN" relationType="IsCompiledBy">978-2-9557474-3-8</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.2648194</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="URL" relationType="IsPartOf">https://zenodo.org/communities/els</relatedIdentifier>
  </relatedIdentifiers>
  <rightsList>
    <rights rightsURI="https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode">Creative Commons Attribution Non Commercial No Derivatives 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;In this paper, we propose to extend Common Lisp&amp;rsquo;s fundamental symbol data type to act as a namespace for other symbols, thus forming a hierarchy of symbols containing symbols and so on recursively. We show how it is possible to retrofit the existing Common Lisp package system on top of this new capability of symbols in order to maintain compatibility to the Common Lisp standard. We present the rationale and the major design choices behind this effort along with some possible use cases and we describe an implementation of the feature on a modified version of Armed Bear Common Lisp (ABCL).&lt;/p&gt;</description>
  </descriptions>
</resource>
169
257
views
downloads
All versions This version
Views 169169
Downloads 257257
Data volume 103.7 MB103.7 MB
Unique views 157157
Unique downloads 245245

Share

Cite as