Functional Logic Programming
https://en.wikipedia.org/wiki/Functional_logic_programming
Curry Mercury
RICE: An Optimizing Curry Compiler https://www.youtube.com/watch?v=K6gLX0la9zo&t=1179s&ab_channel=ACMSIGPLAN
Narrowing
graph combinators
bubbling vs backtrackng vs pulltabbing Making Bubbling Practical on the correctness of pulltabbing
verse that nutso spj epic games project
sudo apt install pakcs
nice
Translation of prolog programs:
Turn each predicate int bool value function
a :- b
becomes a | b = True
https://github.com/matthesjh/rewriting-curry libraries for term rewriting in curry
echo "
-- ;re
1 + 1
2 <= 3
2 == 3
let square x = x * x
square 7
x =:= 7 where x free
a ++ b =:= [1,2] where a,b free
:q
" | pakcs
path a z = edge a b && path b z where b free
=:=
constrained equality
https://ciao-lang.org/ciao/build/doc/ciao.html/fsyntax_doc.html ciao functional notaion https://www.swi-prolog.org/pack/list?p=func func is kind of wimpy
:- initialization(main,main).
fun(F,Res) :- functor(F,N), length(Ress,N), map2(call , Args, Ress), call(FSym, Ress).
_foo(X,Y,Z) :- call(X,A), call(Y,B), foo(A,B,Z).
_append(X,Y,Z) :- call(X,A), call(Y,B), append(A,B,Z).
nil(A) :- A = [].
cons(A,B,C) :- call(A,X), call(B,Xs), C = [X | Xs].
feq(X,Y) :- call(X,A), call(Y,A).
main(_) :- feq(X, _append(nil,nil)).
:- initialization(main,main). main(_) :-