Decoding Lua: formal semantics for the developer and the semanticist

Autores
Soldevila Raffa, Mallku Ernesto; Ziliani, Beta; Silvestre, Bruno; Fridlender, Daniel Edgardo; Mascarenhas, Fabio
Año de publicación
2018
Idioma
inglés
Tipo de recurso
artículo
Estado
versión publicada
Descripción
We provide formal semantics for a large subset of the Lua programming language, in its version 5.2. We validate our model by mechanizing it and testing it against the test suite of the reference interpreter of Lua, con rming that our model accurately represents the language. In addition, we set us an ambitious goal: to target both a PL semanticist —not necessarily versed in Lua—, and a Lua developer —not necessarily versed in semantic frameworks. To the former, we present the peculiarities of the language, and how we model them in a traditional small-step operational semantics, embedded within Felleisen-Hieb’s reduction semantics with evaluation contexts. e mechanization is, naturally, performed in PLT Redex, the de facto tool for mechanizing reduction semantics. To the reader unfamiliar with such concepts, we provide, to our best possible within the space limitations, a gentle introduction of the model. It is our hope that developers of the di erent Lua implementations and dialects understand the model and consider it both for testing their work and for experimenting with new language features.
Fil: Soldevila Raffa, Mallku Ernesto. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina
Fil: Ziliani, Beta. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina
Fil: Silvestre, Bruno. Universidade Federal de Goiás; Brasil
Fil: Fridlender, Daniel Edgardo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina
Fil: Mascarenhas, Fabio. Universidade Federal do Rio de Janeiro; Brasil
Materia
Lua
Operational Semantics
PL Formalization
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
Repositorio
CONICET Digital (CONICET)
Institución
Consejo Nacional de Investigaciones Científicas y Técnicas
OAI Identificador
oai:ri.conicet.gov.ar:11336/135298

id CONICETDig_0837fdc668100896825cbb65e3c7bcc2
oai_identifier_str oai:ri.conicet.gov.ar:11336/135298
network_acronym_str CONICETDig
repository_id_str 3498
network_name_str CONICET Digital (CONICET)
spelling Decoding Lua: formal semantics for the developer and the semanticistSoldevila Raffa, Mallku ErnestoZiliani, BetaSilvestre, BrunoFridlender, Daniel EdgardoMascarenhas, FabioLuaOperational SemanticsPL Formalizationhttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1We provide formal semantics for a large subset of the Lua programming language, in its version 5.2. We validate our model by mechanizing it and testing it against the test suite of the reference interpreter of Lua, con rming that our model accurately represents the language. In addition, we set us an ambitious goal: to target both a PL semanticist —not necessarily versed in Lua—, and a Lua developer —not necessarily versed in semantic frameworks. To the former, we present the peculiarities of the language, and how we model them in a traditional small-step operational semantics, embedded within Felleisen-Hieb’s reduction semantics with evaluation contexts. e mechanization is, naturally, performed in PLT Redex, the de facto tool for mechanizing reduction semantics. To the reader unfamiliar with such concepts, we provide, to our best possible within the space limitations, a gentle introduction of the model. It is our hope that developers of the di erent Lua implementations and dialects understand the model and consider it both for testing their work and for experimenting with new language features.Fil: Soldevila Raffa, Mallku Ernesto. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; ArgentinaFil: Ziliani, Beta. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; ArgentinaFil: Silvestre, Bruno. Universidade Federal de Goiás; BrasilFil: Fridlender, Daniel Edgardo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; ArgentinaFil: Mascarenhas, Fabio. Universidade Federal do Rio de Janeiro; BrasilAssociation for Computing Machinery2018-04info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/135298Soldevila Raffa, Mallku Ernesto; Ziliani, Beta; Silvestre, Bruno; Fridlender, Daniel Edgardo; Mascarenhas, Fabio; Decoding Lua: formal semantics for the developer and the semanticist; Association for Computing Machinery; Acm Sigplan Notices; 52; 11; 4-2018; 75-860362-13401558-1160CONICET DigitalCONICETenginfo:eu-repo/semantics/altIdentifier/url/https://dl.acm.org/citation.cfm?id=3170472&picked=proxinfo:eu-repo/semantics/altIdentifier/doi/10.1145/3170472.3133848info:eu-repo/semantics/altIdentifier/url/https://arxiv.org/abs/1706.02400info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-10T13:17:10Zoai:ri.conicet.gov.ar:11336/135298instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-10 13:17:10.819CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse
dc.title.none.fl_str_mv Decoding Lua: formal semantics for the developer and the semanticist
title Decoding Lua: formal semantics for the developer and the semanticist
spellingShingle Decoding Lua: formal semantics for the developer and the semanticist
Soldevila Raffa, Mallku Ernesto
Lua
Operational Semantics
PL Formalization
title_short Decoding Lua: formal semantics for the developer and the semanticist
title_full Decoding Lua: formal semantics for the developer and the semanticist
title_fullStr Decoding Lua: formal semantics for the developer and the semanticist
title_full_unstemmed Decoding Lua: formal semantics for the developer and the semanticist
title_sort Decoding Lua: formal semantics for the developer and the semanticist
dc.creator.none.fl_str_mv Soldevila Raffa, Mallku Ernesto
Ziliani, Beta
Silvestre, Bruno
Fridlender, Daniel Edgardo
Mascarenhas, Fabio
author Soldevila Raffa, Mallku Ernesto
author_facet Soldevila Raffa, Mallku Ernesto
Ziliani, Beta
Silvestre, Bruno
Fridlender, Daniel Edgardo
Mascarenhas, Fabio
author_role author
author2 Ziliani, Beta
Silvestre, Bruno
Fridlender, Daniel Edgardo
Mascarenhas, Fabio
author2_role author
author
author
author
dc.subject.none.fl_str_mv Lua
Operational Semantics
PL Formalization
topic Lua
Operational Semantics
PL Formalization
purl_subject.fl_str_mv https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
dc.description.none.fl_txt_mv We provide formal semantics for a large subset of the Lua programming language, in its version 5.2. We validate our model by mechanizing it and testing it against the test suite of the reference interpreter of Lua, con rming that our model accurately represents the language. In addition, we set us an ambitious goal: to target both a PL semanticist —not necessarily versed in Lua—, and a Lua developer —not necessarily versed in semantic frameworks. To the former, we present the peculiarities of the language, and how we model them in a traditional small-step operational semantics, embedded within Felleisen-Hieb’s reduction semantics with evaluation contexts. e mechanization is, naturally, performed in PLT Redex, the de facto tool for mechanizing reduction semantics. To the reader unfamiliar with such concepts, we provide, to our best possible within the space limitations, a gentle introduction of the model. It is our hope that developers of the di erent Lua implementations and dialects understand the model and consider it both for testing their work and for experimenting with new language features.
Fil: Soldevila Raffa, Mallku Ernesto. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina
Fil: Ziliani, Beta. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina
Fil: Silvestre, Bruno. Universidade Federal de Goiás; Brasil
Fil: Fridlender, Daniel Edgardo. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía y Física; Argentina
Fil: Mascarenhas, Fabio. Universidade Federal do Rio de Janeiro; Brasil
description We provide formal semantics for a large subset of the Lua programming language, in its version 5.2. We validate our model by mechanizing it and testing it against the test suite of the reference interpreter of Lua, con rming that our model accurately represents the language. In addition, we set us an ambitious goal: to target both a PL semanticist —not necessarily versed in Lua—, and a Lua developer —not necessarily versed in semantic frameworks. To the former, we present the peculiarities of the language, and how we model them in a traditional small-step operational semantics, embedded within Felleisen-Hieb’s reduction semantics with evaluation contexts. e mechanization is, naturally, performed in PLT Redex, the de facto tool for mechanizing reduction semantics. To the reader unfamiliar with such concepts, we provide, to our best possible within the space limitations, a gentle introduction of the model. It is our hope that developers of the di erent Lua implementations and dialects understand the model and consider it both for testing their work and for experimenting with new language features.
publishDate 2018
dc.date.none.fl_str_mv 2018-04
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_6501
info:ar-repo/semantics/articulo
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11336/135298
Soldevila Raffa, Mallku Ernesto; Ziliani, Beta; Silvestre, Bruno; Fridlender, Daniel Edgardo; Mascarenhas, Fabio; Decoding Lua: formal semantics for the developer and the semanticist; Association for Computing Machinery; Acm Sigplan Notices; 52; 11; 4-2018; 75-86
0362-1340
1558-1160
CONICET Digital
CONICET
url http://hdl.handle.net/11336/135298
identifier_str_mv Soldevila Raffa, Mallku Ernesto; Ziliani, Beta; Silvestre, Bruno; Fridlender, Daniel Edgardo; Mascarenhas, Fabio; Decoding Lua: formal semantics for the developer and the semanticist; Association for Computing Machinery; Acm Sigplan Notices; 52; 11; 4-2018; 75-86
0362-1340
1558-1160
CONICET Digital
CONICET
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/url/https://dl.acm.org/citation.cfm?id=3170472&picked=prox
info:eu-repo/semantics/altIdentifier/doi/10.1145/3170472.3133848
info:eu-repo/semantics/altIdentifier/url/https://arxiv.org/abs/1706.02400
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.format.none.fl_str_mv application/pdf
application/pdf
application/pdf
dc.publisher.none.fl_str_mv Association for Computing Machinery
publisher.none.fl_str_mv Association for Computing Machinery
dc.source.none.fl_str_mv reponame:CONICET Digital (CONICET)
instname:Consejo Nacional de Investigaciones Científicas y Técnicas
reponame_str CONICET Digital (CONICET)
collection CONICET Digital (CONICET)
instname_str Consejo Nacional de Investigaciones Científicas y Técnicas
repository.name.fl_str_mv CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas
repository.mail.fl_str_mv dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar
_version_ 1842980939363254272
score 12.993085