Hacker News new | past | comments | ask | show | jobs | submit login
Picat – A new logic-based programming language (picat-lang.org)
46 points by callmekit on Mar 19, 2015 | hide | past | favorite | 7 comments

Looks like an interesting project.

The license or terms-of-use seem weird: "Picat can be used for any fair purpose, including commercial applications. The C source code is available to registered developers and users free of charge. The project is open to anybody and you are welcome to join, as a developer, a sponsor, a user, or a reviewer. Please contact picat@picat-lang.org"

Why make things complicated with these conditions? If you are going to allow source access, why not use a standard open source license. If you aren't, if you want to control of the language for some purpose, make it clear this is a commercial product.

The GPL (and other standard open source licenses) are a real commercial licenses at this point. Roll-your-own software licenses seem a lot like roll-your-own device device drivers - might have made sense in yesterday's world but not today.

From [1]:

The Picat C-source code is distributed under the Mozilla Public License (http://mozilla.org/MPL/2.0/). You are assumed to agree to the terms and conditions as described in the license if you submit this request. Please provide a valid email address.

[1]: https://docs.google.com/forms/d/188dDBVrNrrshZtO8smEBgskOrMl...

Well good then. It still seems silly to have the text I quoted on the main page - especially since someone who'd loaded the code is then legally free redistribute it without requiring registration or an email address.

Here's an article explaining it's features with more mainstream terms.


Another language which involves both constraint programming and imperative programming is Alma-0[1]. While Alma-0 doesn't seem that much more than a toy language, I always liked the backtracking + standard-loops feature. It seemed offer clarity plus incredible power.

I would wonder if Picat has similar feature (to implicit backtracking in imperative loops)?

[1] http://en.wikipedia.org/wiki/Alma-0

Yes, ideas behind Alma-0 look similar to the ones behind Picat.

Loops in Picat are compiled to recursive calls. And there is automatic backtracking, like in Prolog.

I used to love Prolog, but Prolog is not general purpose. This has 'pi', 'cat', some imperative, and prolog taste in it...most interesting.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact