Conference paper Open Access

Accessing local variables during debugging

Raskin Michael; Mamardashvili Nikita

MARC21 XML Export

<?xml version='1.0' encoding='UTF-8'?>
<record xmlns="">
  <datafield tag="041" ind1=" " ind2=" ">
    <subfield code="a">eng</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">Software testing and debugging</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">lexical environment</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">lexical closures</subfield>
  <controlfield tag="005">20200120170422.0</controlfield>
  <controlfield tag="001">3254726</controlfield>
  <datafield tag="711" ind1=" " ind2=" ">
    <subfield code="d">9-10 May 2016</subfield>
    <subfield code="g">ELS-2016</subfield>
    <subfield code="a">European Lisp Symposium 2016</subfield>
    <subfield code="c">Kraków, Poland</subfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Moscow Center for Continuous Mathematical Education</subfield>
    <subfield code="a">Mamardashvili Nikita</subfield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="s">90704</subfield>
    <subfield code="z">md5:6d40d4bac689c1a04b45d8da308a9fc9</subfield>
    <subfield code="u"></subfield>
  <datafield tag="542" ind1=" " ind2=" ">
    <subfield code="l">open</subfield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="y">Conference website</subfield>
    <subfield code="u"></subfield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="c">2016-05-09</subfield>
  <datafield tag="909" ind1="C" ind2="O">
    <subfield code="p">openaire</subfield>
    <subfield code="p">user-els</subfield>
    <subfield code="o"></subfield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="u">Aarhus University</subfield>
    <subfield code="0">(orcid)0000-0002-6660-5673</subfield>
    <subfield code="a">Raskin Michael</subfield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">Accessing local variables during debugging</subfield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">user-els</subfield>
  <datafield tag="540" ind1=" " ind2=" ">
    <subfield code="u"></subfield>
    <subfield code="a">Creative Commons Attribution Non Commercial Share Alike 4.0 International</subfield>
  <datafield tag="650" ind1="1" ind2="7">
    <subfield code="a">cc-by</subfield>
    <subfield code="2"></subfield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">&lt;p&gt;Any reasonably large program has to use local variables. It is quite common in the Lisp language family to also allow functions that exist only in a local scope. Scoping rules often allow compilers to optimize away parts of the local environment; doing that is good for performance, but sometimes inconvenient for debugging.&lt;/p&gt;

&lt;p&gt;We present a debugging library for Common Lisp that ensures access to the local variables during debugging. To prevent the optimisations from removing access to these variables, we use code-walking macros to store references to the local variables (and functions) inside global variables.&lt;/p&gt;</subfield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">doi</subfield>
    <subfield code="i">isVersionOf</subfield>
    <subfield code="a">10.5281/zenodo.3254725</subfield>
  <datafield tag="024" ind1=" " ind2=" ">
    <subfield code="a">10.5281/zenodo.3254726</subfield>
    <subfield code="2">doi</subfield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">publication</subfield>
    <subfield code="b">conferencepaper</subfield>
All versions This version
Views 110110
Downloads 6262
Data volume 5.6 MB5.6 MB
Unique views 104104
Unique downloads 5858


Cite as