The V language

Detalhes bibliográficos
Autor(a) principal: Vedana, Arthur Giesel
Data de Publicação: 2018
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/190193
Resumo: Linguagens de programação funcionais são conhecidas por sua facilidade de uso e concisão. As linguagens funcionais puras são um subconjunto dessas linguagens e fornecem melhorias adicionais em determinadas áreas, como facilitar raciocínio sobre programas devido à transparência referencial. Uma área na qual linguagens funcionais puras geralmente pecam, no entanto, é a manipulação de registros. Apresentamos a linguagem V, uma linguagem de programação puramente funcional com uma nova abordagem a registros. Usando acessores polimór cos, V tenta resolver problemas comumente encontrados quando manipulando registros em linguagens de programação puramente funcionais. Essa abordagem exigiu o uso de traits para prover polimor smo ad-hoc para a linguagem. Este trabalho apresenta uma visão completa da linguagem V. Uma especi cação formal é dada, com sintaxe, semântica e um sistema de inferência de tipos. A implementação atual, composta de um interpretador com um read-eval-print loop (REPL), é mostrada, juntamente com uma breve análise de alguns testes preliminares.
id UFRGS-2_6ef639dd6a58186fdf95b104800dba9f
oai_identifier_str oai:www.lume.ufrgs.br:10183/190193
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Vedana, Arthur GieselMachado, RodrigoMoreira, Alvaro Freitas2019-04-09T02:34:59Z2018http://hdl.handle.net/10183/190193001088662Linguagens de programação funcionais são conhecidas por sua facilidade de uso e concisão. As linguagens funcionais puras são um subconjunto dessas linguagens e fornecem melhorias adicionais em determinadas áreas, como facilitar raciocínio sobre programas devido à transparência referencial. Uma área na qual linguagens funcionais puras geralmente pecam, no entanto, é a manipulação de registros. Apresentamos a linguagem V, uma linguagem de programação puramente funcional com uma nova abordagem a registros. Usando acessores polimór cos, V tenta resolver problemas comumente encontrados quando manipulando registros em linguagens de programação puramente funcionais. Essa abordagem exigiu o uso de traits para prover polimor smo ad-hoc para a linguagem. Este trabalho apresenta uma visão completa da linguagem V. Uma especi cação formal é dada, com sintaxe, semântica e um sistema de inferência de tipos. A implementação atual, composta de um interpretador com um read-eval-print loop (REPL), é mostrada, juntamente com uma breve análise de alguns testes preliminares.Functional programming languages are known for their ease of use and conciseness. Pure functional languages are a subset of these languages and provide further improvements in certain areas, such as making it easier to reason about programs due to referential transparency. One area in which pure functional languages usually lack, however, is when manipulating records. We present the V language, a purely functional programming language with a novel approach to record manipulation. By using polymorphic accessors, V attempts to solve issues commonly found when manipulating records in purely functional programming languages. This approach required the use of traits to support ad-hoc polymorphism in the language. This work presents a complete picture of the V language. A formal speci cation is given, with syntax, semantics and a type-inference system. The current implementation, comprising of an interpreter with an interactive read-eval-print loop (REPL), is shown, along with a brief analysis of some preliminary tests.application/pdfengLinguagens : ProgramacaoFunctional Programming LanguagesTraitsRecordsThe V languageA Linguagem V info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2018Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001088662.pdf.txt001088662.pdf.txtExtracted Texttext/plain190059http://www.lume.ufrgs.br/bitstream/10183/190193/2/001088662.pdf.txt5b8b63484ceb61610252f90d5bf0eb11MD52ORIGINAL001088662.pdfTexto completo (inglês)application/pdf696683http://www.lume.ufrgs.br/bitstream/10183/190193/1/001088662.pdf00ecc2a237ac08be81e29686a2655c03MD5110183/1901932021-05-26 04:42:08.85761oai:www.lume.ufrgs.br:10183/190193Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2021-05-26T07:42:08Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv The V language
dc.title.alternative.pt.fl_str_mv A Linguagem V
title The V language
spellingShingle The V language
Vedana, Arthur Giesel
Linguagens : Programacao
Functional Programming Languages
Traits
Records
title_short The V language
title_full The V language
title_fullStr The V language
title_full_unstemmed The V language
title_sort The V language
author Vedana, Arthur Giesel
author_facet Vedana, Arthur Giesel
author_role author
dc.contributor.author.fl_str_mv Vedana, Arthur Giesel
dc.contributor.advisor1.fl_str_mv Machado, Rodrigo
dc.contributor.advisor-co1.fl_str_mv Moreira, Alvaro Freitas
contributor_str_mv Machado, Rodrigo
Moreira, Alvaro Freitas
dc.subject.por.fl_str_mv Linguagens : Programacao
topic Linguagens : Programacao
Functional Programming Languages
Traits
Records
dc.subject.eng.fl_str_mv Functional Programming Languages
Traits
Records
description Linguagens de programação funcionais são conhecidas por sua facilidade de uso e concisão. As linguagens funcionais puras são um subconjunto dessas linguagens e fornecem melhorias adicionais em determinadas áreas, como facilitar raciocínio sobre programas devido à transparência referencial. Uma área na qual linguagens funcionais puras geralmente pecam, no entanto, é a manipulação de registros. Apresentamos a linguagem V, uma linguagem de programação puramente funcional com uma nova abordagem a registros. Usando acessores polimór cos, V tenta resolver problemas comumente encontrados quando manipulando registros em linguagens de programação puramente funcionais. Essa abordagem exigiu o uso de traits para prover polimor smo ad-hoc para a linguagem. Este trabalho apresenta uma visão completa da linguagem V. Uma especi cação formal é dada, com sintaxe, semântica e um sistema de inferência de tipos. A implementação atual, composta de um interpretador com um read-eval-print loop (REPL), é mostrada, juntamente com uma breve análise de alguns testes preliminares.
publishDate 2018
dc.date.issued.fl_str_mv 2018
dc.date.accessioned.fl_str_mv 2019-04-09T02:34:59Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/190193
dc.identifier.nrb.pt_BR.fl_str_mv 001088662
url http://hdl.handle.net/10183/190193
identifier_str_mv 001088662
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/190193/2/001088662.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/190193/1/001088662.pdf
bitstream.checksum.fl_str_mv 5b8b63484ceb61610252f90d5bf0eb11
00ecc2a237ac08be81e29686a2655c03
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447239275839488