[Haskell-cafe] Bool is not...safe?!

PY aquagnu at gmail.com
Mon Jul 9 08:22:15 UTC 2018


Hello, Dušan!

 > This is not Prolog, it is a Prolog with CLP extension over integers.

as well as Haskell has a lot of extensions. I mentioned CLP as solver 
but modern Prologs is not ISO only and has a lot of solvers (CHR, 
different CLP, FuzzyLogic, Tabulating, etc). Actually CLP(x) in included 
in most modern implementations.


09.07.2018 10:58, Dušan Kolář wrote:
>
> Hello PY/Paul,
>
> You are using misleading arguments!
>
> This is not Prolog, it is a Prolog with CLP extension over integers.
>
> >
>
> > factorial(0, 1).
>
> > factorial(N, F) :-
>
> > N #> 0,
>
> > N1 #= N - 1,
>
> > F #= N * F1,
>
> > factorial(N1, F1).
>
> >
>
> > I can call it: factorial(5, X) => X=120.
>
> > But also: factorial(X, 120) => X=5.
>
> >
>
> Pure Prolog is:
>
> factorial(0, 1) :- !.
>
> factorial(N, F) :-
>
> NN is N - 1,
>
> factorial(NN, FF),
>
> F is FF * N.
>
> which is a function, not a relation, as you write.
>
> Dušan Kolář
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180709/c5b7805e/attachment.html>


More information about the Haskell-Cafe mailing list