Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA Disculpen las molestias.
 

Diseño e implementación de un DSL para programación lógica en Elixir

dc.contributor.advisorMontenegro Montes, Manuel
dc.contributor.authorRuiz Nieto, Miguel Emilio
dc.date.accessioned2023-10-25T14:39:22Z
dc.date.available2023-10-25T14:39:22Z
dc.date.issued2023
dc.descriptionTrabajo de Fin de Máster en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2022/2023. El proyecto se encuentra depositado en la siguiente url: https://github.com/MiguelERuiz/logic_elixir
dc.description.abstractEl presente trabajo trata sobre la implementación de un lenguaje específco de dominio que permite defnir predicados lógicos dentro de un lenguaje funcional y hacer consultas sobre los mismos, por medio del uso de técnicas de metaprogramación que aprovechan los mecanismos de evaluación perezosa que ofrece el lenguaje Elixir.El trabajo tiene cinco partes bien diferenciadas: un capítulo de preliminares, donde se comentarán conceptos de programación lógica y funcional que el lector debe conocer para entender el resto de la memoria; la presentación de LogicElixir, la biblioteca desarrollada para este trabajo, desde el punto de vista del usuario; la presentación de un lenguaje Core de bajo nivel, que servirá como vehículo entre el lenguaje de alto nivel (LogicElixir) y Elixir; el proceso de traducción de lenguaje Core a Elixir y, finalmente, un capítulo dedicado a cómo realizar consultas sobre los predicados lógicos que el usuario declare con los mecanismos que ofrece la librería.
dc.description.abstractThis paper deals with the implementation of a domain-specific language that allows the defnition of logical predicates within a functional language and making queries on them, through the use of metaprogramming techniques that take advantage of the lazy evaluation mechanisms ofered by the Elixir language. This work is divided into five diferent parts: a chapter on preliminaries, where concepts of logic programming and functional programming will be discussed. The presentationof LogicElixir, the library developed for this work, from the user's point of view; the presentation of a low-level Core language, which will serve as a vehicle between the highlevel language LogicElixir and Elixir; the translation process from Core language to Elixir and, finally, a chapter dedicated to how to perform queries on the logical predicates that the user declares with the mechanisms are ofered by the library.
dc.description.departmentDepto. de Sistemas Informáticos y Computación
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.identifier.relatedurlhttps://github.com/MiguelERuiz/logic_elixir
dc.identifier.urihttps://hdl.handle.net/20.500.14352/88433
dc.language.isospa
dc.master.titleMáster en Ingeniería Informática
dc.page.total126
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subject.cdu004(043.3)
dc.subject.keywordLenguaje específico de dominio
dc.subject.keywordMetaprogramación
dc.subject.keywordAST
dc.subject.keywordEvaluación perezosa
dc.subject.keywordTraducción
dc.subject.keywordUnifcación
dc.subject.keywordProgramación lógico-funcional
dc.subject.keywordProgramación declarativa
dc.subject.keywordElixir
dc.subject.keywordDomain specifc language
dc.subject.keywordMetaprogramming
dc.subject.keywordLazy evaluation
dc.subject.keywordTranslation
dc.subject.keywordUnifcation
dc.subject.keywordFunctional-logic programming
dc.subject.keywordDeclarative programming
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleDiseño e implementación de un DSL para programación lógica en Elixir
dc.title.alternativeDesign and implementation of a DSL for logic programming in Elixir
dc.typemaster thesis
dc.type.hasVersionAM
dspace.entity.typePublication
relation.isAdvisorOfPublicationdc391c7e-9682-4142-a1de-7d649b26bf3d
relation.isAdvisorOfPublication.latestForDiscoverydc391c7e-9682-4142-a1de-7d649b26bf3d

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Trabajo de Fin de Máster - Miguel Emilio Ruiz Nieto.pdf
Size:
1.07 MB
Format:
Adobe Portable Document Format