LLMs are fast learners. With the enlargement of the Picat code base, LLMs will become more and more helpful assistants in Picat programming.
I am using Picat for part of my AI course. I received the following program from a student:
fact(0) = 1,
fact(N) = N * fact(N-1), N > 0.
map(F, []) = [].
map(F, [H|T]) = [F(H)|map(T)].
Probably the student used AI. The functions don't work with the current Picat version, but they do make sense. I had been thinking about extending the syntax to support short-form function definitions (shorten 'f(A1,...,An) = Res, Cond => true' to 'f(A1,...,An) = Res, Cond.') and higher-order predicate and function calls in the form of F(A1,...,An) (as in XSB). It seems that AI is moving ahead of us.
Cheers,
Neng-Fa