Evaluación perezosa haskell

Description

Mind Map on Evaluación perezosa haskell, created by skeet_josse on 03/23/2015.
skeet_josse
Mind Map by skeet_josse, updated more than 1 year ago
skeet_josse
Created by skeet_josse almost 11 years ago
3
0

Resource summary

Evaluación perezosa haskell

Annotations:

  • ddd
  • dd
  1. Estrategias de la evaluación perezosa
    1. se divide en dos grupos estricitos y no estrictos
      1. Tipos:
        1. De adentro hacia fuera o (call by evalue)
          1. se elige al redex que esta mas adentro
            1. Ejemplo:
              1. Mult(1+2,2+3) Aplicamos el primer + Mult(3,2+3) Aplicamos + Mult(3,5) Aplicamos el mult 3*5 Aplicamos * 15
          2. De afuera hacia adentro (call by name)
            1. se elige al redex que esta mas afuera, si existe mas de un redex se elige el que esta mas a la izquierda
              1. Ejemplo:
                1. Mult(1+2,2+3) Aplicamos mult (1+2)*(2+3) Aplicamos el primer + 3*(2+3) Aplicamos + 3*5 Aplicamos * 15
            2. Evaluaciones que no terminan
              1. Intentar reducir la expresión inf siempre nos va a dar como resultado una expresión mas y mas grande (independiente de la estrategia de evaluación que usemos) inf
                1. Ejemplo:
                  1. Aplicamos inf 1+ inf Aplicamos inf (porque + es estricta) 1+(1+inf) Aplicamos inf (porque + es estricta) …1+(1+(1+(1+(1+…+inf)))) Por ende, esta evaluacion nunca terminaría. Sabiendo que Fst(x,_)=x Consideramos la expresión fst(0,inf)
        2. Técnicas de programación funcional perezosa
          1. Para el no determinismo es la elección en la invocación ( call time choce)
            1. No deterministico
              1. Técnicas:
                1. Técnica de Backtracking (prolog:)
                  1. Si una alternativa "falla", el flujo retorna hasta la última decisión e intenta otra.
                  2. Técnica de guardias (guards:)
                    1. Si más de una es cierta, se escoge cualquiera de ellas.
                    2. Técnica de aprendizaje reforzado (A-LISP):
                      1. recordar decisiones exitosas y aumentar su prioridad así como considerar las decisiones en el contexto del estado mutable
              Show full summary Hide full summary

              Similar