Skip to content

Criar o caso TValue para as funcoes do STLCExtensions #5

@pealthoff

Description

@pealthoff

Toda função que espera um Term que pode vir de retorno de uma substituição agora pode acabar recebendo um TValue (isso é um efeito da abordagem de encapsular um Valor como termo - que foi a solução que fizemos para a substituição ser Id -> Value -> Term -> Term).

Logo toda vez que um pattern matching encontrar um (TValue) vai retornar um erro por não conhecer este tipo de term. Esse era o problema que estavamos tendo na aula no caso de teste das Sums (interp (App getName (Inl r1))). Quando o RProjection encontrava o TValue não sabia como tratar.

Eu resolvi esse problema no pull request #4 , criando o tratamento para o RProjection neste caso. É bem provável que encontremos outros casos análogos com outras funções, então cabe fazer o mesmo tratamento para elas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions