How is Picat being developed?

49 views
Skip to first unread message

Yuce Tekol

unread,
Dec 30, 2025, 11:10:47 AM (11 days ago) 12/30/25
to Picat
Hi all,

I'm interested in CSP (as an amateur) and Picat is very interesting!
I have a few questions about how it is being developed:

1. Although the source of the latest release is available at https://picat-lang.org/download.html I couldn't find an official source repository for Picat. Doesn't anything like that exist?
2. I couldn't find a test suite in the source code. Doesn't that exist or just not bundled in the source package?
3. What's the best way of contributing to the project, if it accepts code contribution?

Sorry if these were discussed before, but I couldn't find anything about those on this group or the web site.

Yüce

César Pedraza

unread,
Dec 30, 2025, 11:17:06 AM (11 days ago) 12/30/25
to Picat
I'm also interested in this. A while ago I found a few "forks" (the published source code doesn't have version control) of Picat in GitHub with some patches, but they are abandoned now.

Neng-Fa Zhou

unread,
Dec 30, 2025, 11:35:49 AM (11 days ago) 12/30/25
to Picat
Hi,

You can find the open-source code on Picat's official website. Part of the source code, including the parser and compiler,  which were originally written in B-Prolog is not open (the generated byte-code is provided as a big C array in "picat_bc.h"). 

There is currently a call to enrich the library. After the holiday, I'll collect requests for additions to the util and algorithm modules and possible new modules. You care welcome to contribute.

I have several test suites, and can make them available on GitHub if you are interested.

Cheers,
NF

Yuce Tekol

unread,
Dec 30, 2025, 1:55:30 PM (11 days ago) 12/30/25
to Picat
Thanks the quick response!

Pardon my ignorance, but is there a hard reason to keep the parser and compiler closed source?
I would assume the constraint satisfaction solvers, etc. would be more valuable.
Is there any plan to open source the remaining bits?

I've been playing with Picat for the last couple of days.
I added CMake support for most of the functionality and made it work on OpenBSD (which was trivial).
It seems to work OK as far as I've tried, but without the tests, I am not sure whether everything is working as expected.
It would be great to have an official repo on Github or the like for Picat.
That would definitely make it much more easier to contribute to the project.

Thanks, and have a great new year!
Yüce


Neng-Fa Zhou

unread,
Dec 31, 2025, 11:20:57 AM (10 days ago) 12/31/25
to Yuce Tekol, Picat

One of the reasons that part of the source code is not open is to discourage the development of dialects. We may consider making it open once Picat is more firmly established and it no longer makes sense for anyone to develop a separate dialect based on it.

I have created a GitHub repository for Picat:


I hope this will become the official repository for Picat. Let me know whether you are able to make changes to it.

Cheers,
NF


--
You received this message because you are subscribed to the Google Groups "Picat" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picat-lang+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/picat-lang/212a539c-bf32-441e-a3ab-8c4c14692e6cn%40googlegroups.com.

Yuce Tekol

unread,
Jan 4, 2026, 11:42:50 AM (6 days ago) Jan 4
to Picat
Thank you for publishing the code on Github, that makes contributing the project much easier.

I think it would be great if it is mentioned somewhere in the README that some parts of project are not open source.

I created this PR that adds CMake support (except `emu/fann`) in case that's OK:

Have a great week,
Yüce

Neng-Fa Zhou

unread,
Jan 5, 2026, 12:05:08 AM (6 days ago) Jan 5
to Yuce Tekol, Picat
Thank you for your contribution. I have merged your request. I haven't tested your cmake files. I hope people in the community will have feedback for you.

Cheers,
NF

Neng-Fa Zhou

unread,
Jan 6, 2026, 3:17:27 PM (4 days ago) Jan 6
to Picat
The file "zn_picat_smt_bc.h" was not supposed to be there. I deleted it from "emu/CMakeLists.txt".  Does it work now?

I tried building the executable using cmake and encountered an error:

CMake Error at CMakeLists.txt:24 (message):
  Unsupported system: Darwin

Cheers,
NF


I did a git pull to get the cmake files. created a build subdir  and ran cmake  ..  from the build directory. cmake failed :
osman@osman-OMEN-by-HP-Laptop-17-ck1xxx:~/Picat/Picat_github/Picat/build$ cmake ..
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Set 64bit
-- Configuring done (0.4s)
CMake Error at emu/CMakeLists.txt:20 (add_executable):
  Cannot find source file:

    fzn_picat_smt_bc.h


CMake Error at emu/CMakeLists.txt:20 (add_executable):
  No SOURCES given to target: picat

I deleted the filename(fzn_picat_smt_bc.h) from the cmakeLists.txt file in the emu subdir. subsequent cmake and make succeded. 
I have an ubuntu 24.04 lts system.
Thanks for the updates.
Osman

Reply all
Reply to author
Forward
0 new messages