Teoria da linguagem de programação e álgebra abstrata


11

Existem aplicações da Álgebra Abstrata na Teoria da Linguagem de Programação? Existe algo que seria útil no design de linguagem e na implementação do compilador?



3
Você verificou a pergunta vinculada acima? A teoria da categoria também é útil para aprender programação funcional? e Programação Funcional . Eles respondem sua pergunta?
Kaveh

Respostas:


11

A álgebra no sentido clássico da palavra é usada na modelagem de efeitos computacionais como operações algébricas; veja, por exemplo, esses slides de Gordon Plotkin, ou você pode ler artigos reais e doutorado. teses , se você realmente quis fazer a pergunta.

E para tocar minha própria buzina, dê uma olhada em Eff e leia sobre isso , uma linguagem projetada em torno da idéia de que efeitos computacionais são operações algébricas e que manipuladores são homomorfismos de álgebras.


1
Eff é muito legal - o que eu entendo sobre continuações delimitadas vem principalmente disso.
Neel Krishnaswami

Estou pensando em uma reação do blog ao "callcc considerado prejudicial" de Oleg, no qual argumento que eff é a maneira estruturada de trabalhar com continuações.
Andrej Bauer

Obrigado a todos por responder. Eu tive que aceitar @ resposta de AndrejBauer desde que ele implementou sua própria língua como uma resposta para a pergunta :)
n00b101

Você entendeu errado a ordem das coisas :) Acontece que Matija e eu implementamos uma linguagem adequada à sua pergunta.
Andrej Bauer

7

Hesitei em responder porque qualquer resposta além de um simples "sim" poderia e preenche volumes. A semântica da linguagem de programação foi profundamente modelada e, por sua vez, modelou profundamente o desenvolvimento da lógica categórica, que é a aplicação da álgebra à lógica.

Mas suspeito que a melhor maneira de responder a essa pergunta é pedir para você aprender o Agda - a experiência de aprender a programar com tipos dependentes está em grande parte se dando conta do modo como a álgebra penetra de maneira abrangente na programação de computadores.


-1

Na verdade, existe um software para álgebra abstrata teórica. Este software permite calcular alguns tipos de coisas como grupos de ações, Homomorfismo, etc. É Magma: http://magma.maths.usyd.edu.au/magma/

Espero que isso possa ajudá-lo.


2
Receio que você provavelmente tenha entendido mal a pergunta.
Tsuyoshi Ito

Você pensa? Bem, com Magma você tem uma biblioteca em particular tópico sobre álgebra abstrata, ambiente útil para aplicar em outros campos, para a linguagem de programação exemplo ...
Camilo Soler

1
(1) Se o Magma tem uma biblioteca em um tópico específico sobre álgebra abstrata que é útil para aplicar à teoria da linguagem de programação, você deve escrever sobre essa aplicação. Eu não acho que um ponteiro para o Magma seja útil no contexto desta questão. (2) Para ser sincero, duvido que você entenda o que significa "teoria da linguagem de programação".
Tsuyoshi Ito

OK, eu só queria expressar minha idéia em outra plataforma que tenha uma biblioteca de álgebra abstrata como base (como exemplo) para criar ou projetar outra "linguagem de programação" ... não é fácil discutir aqui. Me desculpe se minha ideia foi ruim ou errada.
Camilo Soler
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.