Yarel is a domain speci?fic functional programming language that implements RPP (Reversible Primitive Permutations), a class of bijections with identical input/output arities, de?fined on integers. Yarel is developed by Roversi on Github©. This work contains the following main contributions. 1. First, it improves the compiler so that Yarel parallel composition can be executed in an asynchronous and parallel way, relying on the following Java classes: Thread and Executor. 2. Second, it proposes an extension of RPP in which the arity of functions can be expressed by means of linear combinations of one or more parameters, which are positive natural numbers, possibly giving increased programming flexibility in Yarel. 3. Finally, it implements an experimental version of reversible BubbleSort on four integers and a parametric version of such algorithm.

Yarel è un linguaggio di programmazione funzionale domain-specific che implementa RPP (Reversible Primitive Permutations), una classe di biezioni con identiche arietà degli input ed output, basate sugli interi. Yarel è sviluppato da Roversi su GitHub©. Questa tesi contiene i seguenti principali contributi. 1. Dapprima si sviluppa il compilatore Yarel in modo tale che la composizione parallela venga eseguita in modalità asincrona e parallela per mezzo delle seguenti classi Java: Thread ed Executor. 2. In secondo luogo, si propone una estensione di RPP per cui l'arietà delle funzioni può essere espressa come combinazioni lineari di uno o più parametri. Questi ultimi sono numeri naturali positivi. La flessibilità di Yarel è quindi potenzialmente estesa. 3. Infine, si implementa una versione sperimentale e reversibile dell'algoritmo BubbleSort operante su quattro interi ed una sua ulteriore versione parametrica.

Parallelismo e Parametrizzazione in Yarel

OTTINA, MARCO
2019/2020

Abstract

Yarel è un linguaggio di programmazione funzionale domain-specific che implementa RPP (Reversible Primitive Permutations), una classe di biezioni con identiche arietà degli input ed output, basate sugli interi. Yarel è sviluppato da Roversi su GitHub©. Questa tesi contiene i seguenti principali contributi. 1. Dapprima si sviluppa il compilatore Yarel in modo tale che la composizione parallela venga eseguita in modalità asincrona e parallela per mezzo delle seguenti classi Java: Thread ed Executor. 2. In secondo luogo, si propone una estensione di RPP per cui l'arietà delle funzioni può essere espressa come combinazioni lineari di uno o più parametri. Questi ultimi sono numeri naturali positivi. La flessibilità di Yarel è quindi potenzialmente estesa. 3. Infine, si implementa una versione sperimentale e reversibile dell'algoritmo BubbleSort operante su quattro interi ed una sua ulteriore versione parametrica.
ENG
Yarel is a domain speci?fic functional programming language that implements RPP (Reversible Primitive Permutations), a class of bijections with identical input/output arities, de?fined on integers. Yarel is developed by Roversi on Github©. This work contains the following main contributions. 1. First, it improves the compiler so that Yarel parallel composition can be executed in an asynchronous and parallel way, relying on the following Java classes: Thread and Executor. 2. Second, it proposes an extension of RPP in which the arity of functions can be expressed by means of linear combinations of one or more parameters, which are positive natural numbers, possibly giving increased programming flexibility in Yarel. 3. Finally, it implements an experimental version of reversible BubbleSort on four integers and a parametric version of such algorithm.
IMPORT DA TESIONLINE
File in questo prodotto:
File Dimensione Formato  
795130_marco_ottina_795130__11_06_2021.pdf

non disponibili

Tipologia: Altro materiale allegato
Dimensione 929 kB
Formato Adobe PDF
929 kB Adobe PDF

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14240/156405