03700nam a22004692a 4500
16467
AR_CdUFM
20201204112259.0
a|||||r|||| 00| 0
ta
120813s2012 ag_||||| |||| 00| 0 spa d
AR_CdUFM
2741
Caro, Rubén Marcelo,
1978-
pHaskell :
un lenguaje funcional para metaprogramacíon /
Rúben Marcelo Caro.
[S.l. :
s.n. ],
2012.
v, 93 páginas :
ilustraciones ;
30 cm.
Incluye apéndices.
Tesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía y Física, 2012.
Bibliografía : p. 93.
Metaprogramación -- Propósito de esta tesis -- Introducción a TMP -- Templates en C++ -- Metaprogramación con Templates -- pHaskell, un lenguaje para metaprogramación -- Definición de funciones en pHaskell -- pHaskell desde el punto de vista del usuario final -- Definición de funciones en pHaskell -- Otro ejemplo simple, usando generatrices -- Sintaxis de pHaskell -- Generatrices en pHaskell -- Traducción de Generatrices a TMP -- Traducción de pHaskell a TMP -- Equivalencias entre pHaskell y C++ Template Metaprogramming -- Implementación del traductor de pHaskell a TMP -- Caso de uso: Metaprograma en pHaskell para el cálculo de SHA1 -- Metaprograma para cálculo de números primos propuesto por Erwin Unruh -- prelude.h -- Parser.
La meta-programación es la escritura de programas de computación que a su vez escriben o manipulan otros programas (o a ellos mismos), tanto datos como códigos. Esta manipulación puede suceder tanto en tiempo de compilación como en tiempo de ejecución.
La meta-programación con templates en C++, es una técnica de meta-programación en la cual los templates son usados por el compilador para generar código fuente temporal, el cual es inyectado junto al resto del código fuente, y luego es compilado. El resultado que producen estos templates incluye: constantes calculadas en tiempo de compilación, síntesis de nuevos tipos de datos y funciones.
Este trabajo propone: crear un lenguaje para expresar semántica de meta-programación, que como salida produzca código usando la técnica de meta-programación con templates en C++. El código producido debe estar listo para ser usado en cualquier compilador estándar de C++.
El lenguaje que esta tesis propone crear es llamado pHaskell, su sintaxis esta inspirada en haskell y básicamente puede ser usado por cualquier programador de haskell con mínimos conocimientos en C++.
pHaskell abre la puerta de la meta-programación a expertos de dominios particulares del conocimiento pero que no necesariamente son expertos en C++.
High-speed arithmetic
Performance analysis and design aids
Programming techniques.
Design Tools and Techniques
Coding tools and techniques
Programming languages
Processors
Programación C
C++
Meta-Programacion
Templates
Optimización
Haskell
Lenguaje Funcional
5595
Fridlender, Daniel Edgardo,
1964-
director
6974
Gutson, Daniel,
1977- ,
colaborador
TRAB. ESP.
CCS
MBO
2012-08-13
2020-12-04
0
0
CCS
0
0
MMA
MMA
94
2012-08-10
Donación del autor
1
Trabajo Especial Computación CAJA 13 - 21503
21503
2024-03-18
2024-03-18
1
2020-12-04
TRAB. ESP.
DONACIÓN
16467
16466