<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-010-07-0892</article-id>
      <article-id pub-id-type="publisher-id">28266</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>D.3.3 - Language Constructs and Features</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>LuaInterface: Scripting the .NET CLR with Lua</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Mascarenhas</surname>
            <given-names>Fabio</given-names>
          </name>
          <email xlink:type="simple">mascarenhas@acm.org</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Ierusalimschy</surname>
            <given-names>Roberto</given-names>
          </name>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Pontifical Catholic University of Rio de Janeiro, Rio de Janeiro, Brazil</addr-line>
        <institution>Pontifical Catholic University of Rio de Janeiro</institution>
        <addr-line content-type="city">Rio de Janeiro</addr-line>
        <country>Brazil</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">PUC-Rio, Rio de Janeiro, Brazil</addr-line>
        <institution>PUC-Rio</institution>
        <addr-line content-type="city">Rio de Janeiro</addr-line>
        <country>Brazil</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Fabio Mascarenhas (<email xlink:type="simple">mascarenhas@acm.org</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2004</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>07</month>
        <year>2004</year>
      </pub-date>
      <volume>10</volume>
      <issue>7</issue>
      <fpage>892</fpage>
      <lpage>909</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/E8361F09-691F-5904-99C9-1D9108103982">E8361F09-691F-5904-99C9-1D9108103982</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6996593">6996593</uri>
      <permissions>
        <copyright-statement>Fabio Mascarenhas, Roberto Ierusalimschy</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>We present LuaInterface in this paper, a library for scripting the .NET CLR with Lua. The .NET Common Language Runtime (CLR) aims to provide interoperability among objects written in several different languages. LuaInterface gives Lua the capabilities of a full CLS consumer. The Common Language Specification (CLS) is a subset of the CLR specification, with rules for language interoperability, and CLS consumers are languages that can use CLS_compliant libraries. LuaInterface lets Lua scripts instantiate and use CLR objects, and even create new CLR types. CLR applications may also use LuaInterface to embed a Lua interpreter, using Lua scripts to extend the application. LuaInterface is implemented as a bridge between the Lua interpreter and the CLR. The implementation required no changes to the interpreter, and the level of integration is the same that a Lua compiler would have.</p>
      </abstract>
    </article-meta>
  </front>
</article>
