motivacion
J. Rodr´
ıguez-Hortal´, J. S´nchez-Hern´ndez
a
a
a
Dep. Sistemas Inform´ticos y Computaci´n
a
o
Universidad Complutense de Madrid
PROLE 2007, Zaragoza 12-14 Septiembre 2007
J. Rodr´
ıguez-Hortal´, J. S´nchez-Hern´ndez
a
a
a
Lazy Functional Prolog: a Practical Approach
Motivaci´n (Programaci´n L´gico Funcional)
o
o oActualmente, PLF (Curry, Toy)
Haskell
+
indeterminismo, vars. l´gicas
o
restricciones, . . .
J. Rodr´
ıguez-Hortal´, J. S´nchez-Hern´ndez
a
a
a
Lazy Functional Prolog: a Practical Approach
Motivaci´n (Programaci´n L´gico Funcional)
o
o o
Actualmente, PLF (Curry, Toy)
Haskell
Otra visi´n de PLF
o
Prolog
+
+
indeterminismo, vars. l´gicas
o
restricciones, . . .funciones, orden superior
λ-abstracciones, pereza
J. Rodr´
ıguez-Hortal´, J. S´nchez-Hern´ndez
a
a
a
Lazy Functional Prolog: a Practical Approach
Motivaci´n (Programaci´n L´gico Funcional)
o
o o
Actualmente, PLF (Curry, Toy)
Haskell
Otra visi´n de PLF
o
Prolog
+
+
indeterminismo, vars. l´gicas
o
restricciones, . . .
funciones, orden superiorλ-abstracciones, pereza
Diferencia?
inclusi´n de Prolog en sentido propio: sintaxis de primer orden,
o
corte, metaprogramaci´n, entrada salida de Prolog, etc
o
no hay tipos!!
Adem´s: respetamos el mecanismo operacional de Prolog, pero
a
admitimos pereza anotada
Implementaci´n = traducci´n de funciones a c´digo Prolog
o
o
o
(expansor Prolog).
J. Rodr´
ıguez-Hortal´, J. S´nchez-Hern´ndeza
a
a
Lazy Functional Prolog: a Practical Approach
Precedentes
Prolog + funciones definidas por el usuario ha sido propuesto
´
antes (T. Asvanyi, 2003; A. Casas et al, 2006; etc).
A. Casas et al incluye lambda-abstracciones, orden superior y
evaluaci´n perezosa (anotada)... b´sicamente lo que buscamos!
o
a
J. Rodr´
ıguez-Hortal´, J. S´nchez-Hern´ndez
a
a
a
LazyFunctional Prolog: a Practical Approach
Precedentes
Prolog + funciones definidas por el usuario ha sido propuesto
´
antes (T. Asvanyi, 2003; A. Casas et al, 2006; etc).
A. Casas et al incluye lambda-abstracciones, orden superior y
evaluaci´n perezosa (anotada)... b´sicamente lo que buscamos!
o
a
Nuestra propuesta se distingue fundamentalmente por:
tratamiento de HO (traducci´n a 1er ordenestilo Toy)
o
modelo de pereza (anotaci´n en constructoras en vez de
o
funciones)
J. Rodr´
ıguez-Hortal´, J. S´nchez-Hern´ndez
a
a
a
Lazy Functional Prolog: a Practical Approach
Precedentes
Prolog + funciones definidas por el usuario ha sido propuesto
´
antes (T. Asvanyi, 2003; A. Casas et al, 2006; etc).
A. Casas et al incluye lambda-abstracciones, orden superior yevaluaci´n perezosa (anotada)... b´sicamente lo que buscamos!
o
a
Nuestra propuesta se distingue fundamentalmente por:
tratamiento de HO (traducci´n a 1er orden estilo Toy)
o
modelo de pereza (anotaci´n en constructoras en vez de
o
funciones)
OCaml y otros admiten suspensi´n de expresiones, pero:
o
suspensi´n/activaci´n expl´
o
o
ıcitas programas m´s complicados
a
J. Rodr´ıguez-Hortal´, J. S´nchez-Hern´ndez
a
a
a
Lazy Functional Prolog: a Practical Approach
Precedentes
Prolog + funciones definidas por el usuario ha sido propuesto
´
antes (T. Asvanyi, 2003; A. Casas et al, 2006; etc).
A. Casas et al incluye lambda-abstracciones, orden superior y
evaluaci´n perezosa (anotada)... b´sicamente lo que buscamos!
o
a
Nuestra propuesta se distingue fundamentalmentepor:
tratamiento de HO (traducci´n a 1er orden estilo Toy)
o
modelo de pereza (anotaci´n en constructoras en vez de
o
funciones)
OCaml y otros admiten suspensi´n de expresiones, pero:
o
suspensi´n/activaci´n expl´
o
o
ıcitas programas m´s complicados
a
Nuestra propuesta
Automatiza la suspensi´n/activaci´n (y adem´s est´ en un
o
o
a
a
contexto indeterminista).
J. Rodr´...
Regístrate para leer el documento completo.