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
- Institución
- Consejo Nacional de Investigaciones Científicas y Técnicas
- OAI Identificador
- oai:ri.conicet.gov.ar:11336/135298
Ver los metadatos del registro completo
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 |