Please use this identifier to cite or link to this item:
http://hdl.handle.net/11422/22871
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.advisor | Gualandi, Hugo Musso | - |
dc.contributor.author | Andrade, Daniel Kiyoshi Hashimoto Vouzella | - |
dc.date.accessioned | 2024-05-23T17:57:57Z | - |
dc.date.available | 2024-05-25T03:00:21Z | - |
dc.date.issued | 2024-02-06 | - |
dc.identifier.uri | http://hdl.handle.net/11422/22871 | - |
dc.language | eng | pt_BR |
dc.publisher | Universidade Federal do Rio de Janeiro | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.subject | Linguagem de programação | pt_BR |
dc.subject | Programação tácita | pt_BR |
dc.subject | Cálculo concatenativo | pt_BR |
dc.subject | Lógica combinatória | pt_BR |
dc.subject | Programação point-free | pt_BR |
dc.subject | Programming language | pt_BR |
dc.subject | Tacit programming | pt_BR |
dc.subject | Concatenative calculus | pt_BR |
dc.subject | Combinatory logic | pt_BR |
dc.subject | Pointfree programming | pt_BR |
dc.title | From combinators to concatenative and back again | pt_BR |
dc.type | Trabalho de conclusão de graduação | pt_BR |
dc.contributor.referee1 | Bastos, Daniel Chicayban | - |
dc.contributor.referee2 | Nobrega, Hugo de Holanda Cunha | - |
dc.contributor.referee3 | Paixão, João Antonio Recio | - |
dc.description.resumo | A programação tácita ou point-free é um estilo de programação que evita nomear variáveis, através do uso de combinadores para compor funções menores. Dois modelos de programação tácita são o cálculo concatenativo e a lógica combinatória. O cálculo concatenativo está relacionado às linguagens de programação baseadas em pilha, estas usadas em diversos contextos, incluindo bytecode para máquinas virtuais e sistemas embarcados. A lógica combinatória é um modelo computacional aplicativo mais semelhante ao cálculo lambda. Ambos estes modelos tácitos são frequentemente comparados entre si. Os combinadores elementares da lógica combinatória são comumente casados com instruções de manipulação de pilha: por exemplo, C se parece com o swap, e W se parece com o dup. Neste trabalho, nós generalizamos esta conexão para todos os combinadores e todos os programas de pilha. Nós descrevemos três algorítmos que convertem de um modelo tácito para o outro. O primeiro algorítmo traduz qualquer combinador da lógica combinatória para uma expressão do cálculo concatenativo usando ou a estratégia de redução call-by-name ou a call-by-value. O segundo algorítmo é especializado para um subconjunto de combinadores que recebe uma função callback como seu primeiro argumento. Ele produz programas de pilha menores e mais intuitivos. Por último, o terceiro algorítmo é uma versão reversa do segundo, e converte qualquer programa de pilha de volta para uma expressão da lógica combinatória. Como nossos algorítmos preservam a ordem da redução, nós mostramos que cada modelo é capaz de simular o outro. | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.publisher.department | Instituto de Computação | pt_BR |
dc.publisher.initials | UFRJ | pt_BR |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | pt_BR |
dc.embargo.terms | aberto | pt_BR |
Appears in Collections: | Ciência da Computação |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
DKHVAndrade.pdf | 336.57 kB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.