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
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000824_MartinAbad

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