Pure Pattern Calculus à la de Bruijn
- Autores
- Martín Abad, Alexis
- Año de publicación
- 2025
- Idioma
- español castellano
- Tipo de recurso
- tesis de grado
- Estado
- versión publicada
- Colaborador/a o director/a de tesis
- Viso, Andrés Ezequiel
Ríos, Alejandro Norberto - Descripción
- Es bien conocido en el estudio de lenguajes de programación que lidiar con ligadores y nombres de variables puede ocasionar conflictos como ser capturas indeseadas de variable al implementar interpretes o compiladores. Este problema puede resolverse recurriendo a índices de de Bruijn en cálculos cuyos ligadores capturen un único nombre de variable, como el cálculo λ. Otra ventaja del enfoque con índices es que la α-equivalencia se transforma en igualdad sintáctica. Por otra parte, en estos últimos años los cálculos de patrones ganaron considerable atención por su expresividad. Resultan ser notablemente convenientes al estudiar los fundamentos de lenguajes de programación funcional que modelen pattern matching, path polymorphism, pattern polymorphism, entre otros. Sin embargo la literatura no aborda la cuestión de cómo lidiar con α-conversión y ligadores que capturen múltiples nombres de variable simultáneamente. Tal es el caso del Pure Pattern Calculus (PPC): una extensión natural del cálculo λ que permite abstraer prácticamente cualquier término. Este trabajo extiende las ideas de de Bruijn para abordar el problema de ligadura múltiple mediante la introducción de una novedosa presentación de PPC con índices bidimensionales, parte de un proyecto de implementación de un prototipo de un lenguaje de programación funcional tipado basado en PPC que captura path polymorphism.
It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired variable captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the λ-calculus. Another advantage of this approach is the fact that so-called α-equivalence becomes syntactical equality when working with indices. In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, among others. However, the literature falls short when it comes to dealing with α-conversion and binders capturing simultaneously several variable names. Such is the case of the Pure Pattern Calculus (PPC): a natural extension of λ-calculus that allows to abstract virtually any term. This thesis extends de Bruijn’s ideas to properly overcome the multi-binding problem by introducing a novel presentation of PPC with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on PPC that captures path polymorphism.
Fil: Martín Abad, Alexis. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. - Materia
-
INDICES DE DE BRUIJN
CALCULOS DE PATRONES
PATTERN MATCHING
α-EQUIVALENCIA
DE BRUIJN INDICES
PATTERN CALCULI
PATTERN MATCHING
α-EQUIVALENCE - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- https://creativecommons.org/licenses/by-nc-sa/2.5/ar
- Repositorio
.jpg)
- Institución
- Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
- OAI Identificador
- seminario:seminario_nCOM000824_MartinAbad
Ver los metadatos del registro completo
| id |
BDUBAFCEN_a4fc9d25cf1f9abd9763b5eab9272c73 |
|---|---|
| oai_identifier_str |
seminario:seminario_nCOM000824_MartinAbad |
| network_acronym_str |
BDUBAFCEN |
| repository_id_str |
1896 |
| network_name_str |
Biblioteca Digital (UBA-FCEN) |
| spelling |
Pure Pattern Calculus à la de BruijnMartín Abad, AlexisINDICES DE DE BRUIJNCALCULOS DE PATRONESPATTERN MATCHINGα-EQUIVALENCIADE BRUIJN INDICESPATTERN CALCULIPATTERN MATCHINGα-EQUIVALENCEEs bien conocido en el estudio de lenguajes de programación que lidiar con ligadores y nombres de variables puede ocasionar conflictos como ser capturas indeseadas de variable al implementar interpretes o compiladores. Este problema puede resolverse recurriendo a índices de de Bruijn en cálculos cuyos ligadores capturen un único nombre de variable, como el cálculo λ. Otra ventaja del enfoque con índices es que la α-equivalencia se transforma en igualdad sintáctica. Por otra parte, en estos últimos años los cálculos de patrones ganaron considerable atención por su expresividad. Resultan ser notablemente convenientes al estudiar los fundamentos de lenguajes de programación funcional que modelen pattern matching, path polymorphism, pattern polymorphism, entre otros. Sin embargo la literatura no aborda la cuestión de cómo lidiar con α-conversión y ligadores que capturen múltiples nombres de variable simultáneamente. Tal es el caso del Pure Pattern Calculus (PPC): una extensión natural del cálculo λ que permite abstraer prácticamente cualquier término. Este trabajo extiende las ideas de de Bruijn para abordar el problema de ligadura múltiple mediante la introducción de una novedosa presentación de PPC con índices bidimensionales, parte de un proyecto de implementación de un prototipo de un lenguaje de programación funcional tipado basado en PPC que captura path polymorphism.It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired variable captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the λ-calculus. Another advantage of this approach is the fact that so-called α-equivalence becomes syntactical equality when working with indices. In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, among others. However, the literature falls short when it comes to dealing with α-conversion and binders capturing simultaneously several variable names. Such is the case of the Pure Pattern Calculus (PPC): a natural extension of λ-calculus that allows to abstract virtually any term. This thesis extends de Bruijn’s ideas to properly overcome the multi-binding problem by introducing a novel presentation of PPC with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on PPC that captures path polymorphism.Fil: Martín Abad, Alexis. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesViso, Andrés EzequielRíos, Alejandro Norberto2025-06-05info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000824_MartinAbadspainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2026-10-01T10:19:52Zseminario:seminario_nCOM000824_MartinAbadInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962026-10-01 10:19:54.646Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse |
| dc.title.none.fl_str_mv |
Pure Pattern Calculus à la de Bruijn |
| title |
Pure Pattern Calculus à la de Bruijn |
| spellingShingle |
Pure Pattern Calculus à la de Bruijn Martín Abad, Alexis INDICES DE DE BRUIJN CALCULOS DE PATRONES PATTERN MATCHING α-EQUIVALENCIA DE BRUIJN INDICES PATTERN CALCULI PATTERN MATCHING α-EQUIVALENCE |
| title_short |
Pure Pattern Calculus à la de Bruijn |
| title_full |
Pure Pattern Calculus à la de Bruijn |
| title_fullStr |
Pure Pattern Calculus à la de Bruijn |
| title_full_unstemmed |
Pure Pattern Calculus à la de Bruijn |
| title_sort |
Pure Pattern Calculus à la de Bruijn |
| dc.creator.none.fl_str_mv |
Martín Abad, Alexis |
| author |
Martín Abad, Alexis |
| author_facet |
Martín Abad, Alexis |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
Viso, Andrés Ezequiel Ríos, Alejandro Norberto |
| dc.subject.none.fl_str_mv |
INDICES DE DE BRUIJN CALCULOS DE PATRONES PATTERN MATCHING α-EQUIVALENCIA DE BRUIJN INDICES PATTERN CALCULI PATTERN MATCHING α-EQUIVALENCE |
| topic |
INDICES DE DE BRUIJN CALCULOS DE PATRONES PATTERN MATCHING α-EQUIVALENCIA DE BRUIJN INDICES PATTERN CALCULI PATTERN MATCHING α-EQUIVALENCE |
| dc.description.none.fl_txt_mv |
Es bien conocido en el estudio de lenguajes de programación que lidiar con ligadores y nombres de variables puede ocasionar conflictos como ser capturas indeseadas de variable al implementar interpretes o compiladores. Este problema puede resolverse recurriendo a índices de de Bruijn en cálculos cuyos ligadores capturen un único nombre de variable, como el cálculo λ. Otra ventaja del enfoque con índices es que la α-equivalencia se transforma en igualdad sintáctica. Por otra parte, en estos últimos años los cálculos de patrones ganaron considerable atención por su expresividad. Resultan ser notablemente convenientes al estudiar los fundamentos de lenguajes de programación funcional que modelen pattern matching, path polymorphism, pattern polymorphism, entre otros. Sin embargo la literatura no aborda la cuestión de cómo lidiar con α-conversión y ligadores que capturen múltiples nombres de variable simultáneamente. Tal es el caso del Pure Pattern Calculus (PPC): una extensión natural del cálculo λ que permite abstraer prácticamente cualquier término. Este trabajo extiende las ideas de de Bruijn para abordar el problema de ligadura múltiple mediante la introducción de una novedosa presentación de PPC con índices bidimensionales, parte de un proyecto de implementación de un prototipo de un lenguaje de programación funcional tipado basado en PPC que captura path polymorphism. It is well-known in the field of programming languages that dealing with variable names and binders may lead to conflicts such as undesired variable captures when implementing interpreters or compilers. This situation has been overcome by resorting to de Bruijn indices for calculi where binders capture only one variable name, like the λ-calculus. Another advantage of this approach is the fact that so-called α-equivalence becomes syntactical equality when working with indices. In recent years pattern calculi have gained considerable attention given their expressiveness. They turn out to be notoriously convenient to study the foundations of modern functional programming languages modeling features like pattern matching, path polymorphism, pattern polymorphism, among others. However, the literature falls short when it comes to dealing with α-conversion and binders capturing simultaneously several variable names. Such is the case of the Pure Pattern Calculus (PPC): a natural extension of λ-calculus that allows to abstract virtually any term. This thesis extends de Bruijn’s ideas to properly overcome the multi-binding problem by introducing a novel presentation of PPC with bidimensional indices, in an effort to implement a prototype for a typed functional programming language based on PPC that captures path polymorphism. Fil: Martín Abad, Alexis. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. |
| description |
Es bien conocido en el estudio de lenguajes de programación que lidiar con ligadores y nombres de variables puede ocasionar conflictos como ser capturas indeseadas de variable al implementar interpretes o compiladores. Este problema puede resolverse recurriendo a índices de de Bruijn en cálculos cuyos ligadores capturen un único nombre de variable, como el cálculo λ. Otra ventaja del enfoque con índices es que la α-equivalencia se transforma en igualdad sintáctica. Por otra parte, en estos últimos años los cálculos de patrones ganaron considerable atención por su expresividad. Resultan ser notablemente convenientes al estudiar los fundamentos de lenguajes de programación funcional que modelen pattern matching, path polymorphism, pattern polymorphism, entre otros. Sin embargo la literatura no aborda la cuestión de cómo lidiar con α-conversión y ligadores que capturen múltiples nombres de variable simultáneamente. Tal es el caso del Pure Pattern Calculus (PPC): una extensión natural del cálculo λ que permite abstraer prácticamente cualquier término. Este trabajo extiende las ideas de de Bruijn para abordar el problema de ligadura múltiple mediante la introducción de una novedosa presentación de PPC con índices bidimensionales, parte de un proyecto de implementación de un prototipo de un lenguaje de programación funcional tipado basado en PPC que captura path polymorphism. |
| publishDate |
2025 |
| dc.date.none.fl_str_mv |
2025-06-05 |
| dc.type.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis info:eu-repo/semantics/publishedVersion http://purl.org/coar/resource_type/c_7a1f info:ar-repo/semantics/tesisDeGrado |
| format |
bachelorThesis |
| status_str |
publishedVersion |
| dc.identifier.none.fl_str_mv |
https://hdl.handle.net/20.500.12110/seminario_nCOM000824_MartinAbad |
| url |
https://hdl.handle.net/20.500.12110/seminario_nCOM000824_MartinAbad |
| dc.language.none.fl_str_mv |
spa |
| language |
spa |
| 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 |
| dc.publisher.none.fl_str_mv |
Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| publisher.none.fl_str_mv |
Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| dc.source.none.fl_str_mv |
reponame:Biblioteca Digital (UBA-FCEN) instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales instacron:UBA-FCEN |
| reponame_str |
Biblioteca Digital (UBA-FCEN) |
| collection |
Biblioteca Digital (UBA-FCEN) |
| instname_str |
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| instacron_str |
UBA-FCEN |
| institution |
UBA-FCEN |
| repository.name.fl_str_mv |
Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| repository.mail.fl_str_mv |
ana@bl.fcen.uba.ar |
| _version_ |
1877857581580419073 |
| score |
12.853507 |